今天稍微空闲,使用下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服务,会发现警告出现后,服务立刻就自动恢复了