监控系统----zabbix添加监控
笔者总结的zabbix添加监控流程大致如下
1.配置模板
2.新建主机
3.添加特定监控项
4.添加trigger
5.添加action
一.配置模板
zabbix里面就已经自带了很多模板,笔者在工作中比较喜欢用到的是Template OS Linux,这个模板里面就有很多关于服务器的信息(例如cpu,内存,swap等)
我们在模板界面点选全克隆,复制出一个新的模板。
然后找到我们新建的模板,把无用的监控项全部删掉,把自动发现和应用集里面的条目也删掉,不然会多出很多不想他出现的监控。
然后我们找到留下来的监控项,看看它究竟是监控什么的,修改他的名字,让监控项更加易读。
然后全选监控,底部选择批量更新,修改他的类型为zabbix客户端主动(因为笔者经常要配置跨域监控,server不能直接连接agent,但是server可以转发一个公网地址
供agent端发送数据过来,因此读者把所有的监控项变成客户端主动模式)。
这样,一个定制化的模板就出来了。
下一步就是新建主机了
主机----新建主机
在新建主机界面中,需要注意的是主机名和agent地址。
主机名一定要配置成跟agent所配置的一样!!!
主机名一定要配置成跟agent所配置的一样!!!
主机名一定要配置成跟agent所配置的一样!!!
因为在客户端主动模式下,server端就是靠主机名来识别agent的。
然后agent的地址,这个在agent处于被动模式下是需要配置的,要配置成agent的ip地址,然而在agent主动模式下,这个就成为鸡肋了(无论你填什么都不影响数据的获取),填127.0.0.1即可,因为一般本地也会有个agent来监控server的状态的。
添加好主机后,可以在主机界面查看主机的状态。
可以看到,如果是使用agent被动模式的话,server会主动去连接agent,那主机栏里面可用性那里的ZBX就会显示绿色。
笔者这里是在模板里面把agent的连通性监控项删掉了,所以这里会显示灰色,也就是不会去识别ZBX的连通性。
但假如你没有把agent连通性的监控项删掉,在刚才新建主机的步骤中,你乱填了一个ip地址的话,那这里就会显示红色,这样会让人误以为数据推送失败了又或者是这台主机挂了。但是其实不是这样的,这里ZBX显示红色只是说server不能连通agent,可不是说agent不能把数据推送过来。这个也是笔者推荐在新建主机中把agent地址填成127.0.0.1的原因,让server去连接一个能连接上的agent,免得心慌。
然后我们转到监控页面
监控中----最新数据
搜索出我们新添加的主机
可以看到数据已经推送过来了,那么怎么验证这些数据就是你想要的那台主机的数据呢。
笔者的监控项里面有一个监控hostname的监控项,这个hostname不是zabbix里面的那个主机名,而是服务器本身的主机名。
看看主机名对不对得上就知道数据对不对得上了。
新加监控项
当然,模板中的监控项只能告诉我们服务器里面的一些基本信息,可不能帮我们监控到整个系统业务。每家企业的业务逻辑都不同,监控的点也不同。
下面我们就自己定制化一个监控项。
自定义监控项需要在agent端的配置文件里面单独配置。格式是(UserParameter=key,command)
vim /etc/zabbix/zabbix_agentd.conf
UserParameter=cps_conn,/usr/local/jiankong/zabbix/cps_http.py
配置好后重启agent。
在server端新建监控项
其中需要注意的是
类型要选择为zabbix客户端主动
键值是刚才自定义的key
信息类型一定要跟你的监控脚本输出的数据类型一致!!!
更新间隔视系统的负载和监控的性质而定
这样,一个定制化的监控项就出来了。
同样可以到最新数据那里看看数据有没有推过来。
新建触发器trigger
单单是有监控是没用的,监控项只会把一堆数据抓取过来,而究竟这些数据代表什么,什么时候需要报警,这个是需要在触发器上面设置的。
这里需要注意的就是报警的名称
报警的级别
报警的条件表达式
新建action
action在一些事件发生后,所触发的动作,这些事件可以是自动发现一台新的主机,一类报警的发生,甚至是特定报警的发生。
配置触发条件,可以选择触发器,然后选择特定的trigger,也可以选择触发器警示度,选择一整个报警等级的trigger
点选操作,配置触发之后具体要做什么
笔者这里是直接调用zabbix-server本地的脚本
这个脚本是笔者自己写的,zabbix默认的脚本路径是/usr/lib/zabbix/alertscripts/send_msg.py
这个脚本是可以发送短信的,脚本可以接受一个传参,笔者就把告警的名称传给脚本了。
zabbix有很多内置函数可以穿给外部脚本,这里笔者就不一一介绍了
至此,从监控到报警到发送短信通知维护人员的整套流程就完结了。
发送短信的功能参考了如下博客
https://cloud.tencent.com/info/d8b5675103ed3c8fe90298377c15868a.html