目前开源监控最流行的是zabbix和nagios,两者基本功能相近,但是构建思路差异极大,前者简单易用,后者开放灵活,类似于windows和linux的区别
nagios的监控组件可以独立安装使用,这里介绍它的check_http
1. 安装
yum install nagios-plugins-http或者
apt install monitoring-plugins-basic2. 使用
测试微信网页版:
https://wx.qq.com/
命令如下,其中-H是域名,-S表示https
$ /usr/lib/nagios/plugins/check_http -H wx.qq.com -S
HTTP OK: HTTP/1.1 200 OK - 88109 bytes in 0.263 second response time |time=0.263407s;;;0.000000;10.000000 size=88109B;;;0如果想看到详细信息加参数-v,返回的内容会很多,比如这里就有一千多行
$ /usr/lib/nagios/plugins/check_http -H wx.qq.com -S -v
SSL initialized
GET / HTTP/1.1
User-Agent: check_http/v2.2 (monitoring-plugins 2.2)
Connection: close
Host: wx.qq.com
https://wx.qq.com:443/ is 88109 characters
STATUS: HTTP/1.1 200 OK
**** HEADER ****
Connection: close
Content-Type: text/html; charset=utf-8
......
......
......
HTTP OK: HTTP/1.1 200 OK - 88109 bytes in 0.361 second response time |time=0.361017s;;;0.000000;10.000000 size=88109B;;;03. 更多
查看帮助
$ /usr/lib/nagios/plugins/check_http -h可以在查找返回结果中是否有预期值
可以用正则表达式查询返回的信息
可以通过用户名/密码/证书进行认证
可以根据实际需要构造header
可以指定IP地址应对DNS轮询或CDN的情况
......
非特殊情况,应该足够了
PS: icinga是nagios的分支。