今天稍微空閒,使用下zabbix的5.0版本,目前生產環境是4.x版本html
今天就只實現一個目的:監控任意一個服務(示例中監控的是docker.service),若是服務掛了,自動給恢復,先看一個動圖java
搭建步驟:mysql
192.168.1.3是zabbixServer(還安裝了Apache、mysql、也一併安裝了agent)sql
安裝步驟請參考官網:https://www.zabbix.com/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apachedocker
其中有一步是安裝mysql,參考個人筆記,單節點便可:https://note.youdao.com/ynoteshare1/index.html?id=c7c40773df025a55610053d8d8c83b97&type=noteshell
192.168.1.4是agentapache
因爲只須要安裝agent,因此步驟就會少不少,大體就下面幾步centos
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm yum clean all yum install zabbix-agent #修改agent配置 /etc/zabbix/zabbix_agentd.conf vi /etc/zabbix/zabbix_agentd.conf Server=192.168.1.3 #修改成zabbixServer地址 ServerActive=192.168.1.3 #修改成zabbixServer地址 Hostname=ZabbixAgent4 #這個名稱會在建立host的時候被用到,各個節點要作區分 Timeout=10 (默認爲3) systemctl restart zabbix-agent systemctl enable zabbix-agent
經過上述步驟,zabbix agent 、server都啓動好了測試
下一步經過界面去添加hostspa
注意:主機名稱必定要和zabbix_agentd.conf中配置的徹底同樣,太雞肋
而後就發現,爲何新加入的agent狀態是未知的呢
通過測試,給主機增長對應的template
而後稍等會兒,就發現主機均可用了
服務的監控與恢復
首先我在192.168.1.4上安裝了docker服務,下面咱們就經過zabbix來監控docker服務的狀態,若異常產生告警並自動恢復
1.建立監控項:就用自帶的system.run執行一個shell命令便可
system.run[systemctl status docker |grep 'active (running)' |wc -l]
最底部有測試,配置完成前先測試下命令是否能被正確執行
只有監控項還不能監控,須要將監控項應用到觸發器才行。 觸發器提供了表達式構造器,能夠直接使用監控項生成對應的表達式
建立好後以下
保存後,去將192.168.1.4上的docker服務停了就會在首頁看見告警了
可是這個告警會一直存在,由於服務沒有自動恢復
下一步就是配置自動恢復,自動恢復在動做中配置便可
這樣,再去停掉docker服務,會發現警告出現後,服務立刻就自動恢復了