CentOS zabbix 自定义监控项
Posted 白菜素三鲜丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS zabbix 自定义监控项相关的知识,希望对你有一定的参考价值。
zabbix 自定义监控项
zabbix报错排查
# 1.检查端口
[root@zabbix ~]# telnet 172.16.1.51 10050
# 2.服务端是否能获取到客户端的监控数据
[root@zabbix ~]# yum install -y zabbix-get-5.0.26
-s:指定主机IP地址
-k:指定监控项名称
[root@zabbix ~]# zabbix_get -s 172.16.1.51 -k system.swap.size[,pfree]
100.000000
[root@zabbix ~]# zabbix_get -s 172.16.1.51 -k system.swap.size[,free]
1073737728
# 3.查看nginx日志
[root@zabbix ~]# tail -f /var/opt/rh/rh-nginx116/log/nginx/error.log
[root@zabbix ~]# tail -f /var/opt/rh/rh-nginx116/log/nginx/access.log
# 4.查看zabbix-server日志
[root@zabbix ~]# tail -f /var/log/zabbix/zabbix_server.log
# 5.查看zabbix-agent日志
[root@db01 ~]# tail -f /var/log/zabbix/zabbix_agentd.log
zabbix基础架构
zabbix-agent:获取本机上的数据(主动上交给server)
zabbix-server:获取所有agent上的数据,并保存到数据库中 create.sql.gz
- 1. systemctl stop zabbix-server
- 2. drop database zabbix;
- 3. creaete database zabbix charset utf8 collate utf8_bin;
- 4. zcat create.sql.gz| mysql -uzabbix -p123 zabbix
- 5. rm -f zabbix.conf.php
- 6. http://zabbix.zls.com/setup.php // 重新进入配置页面
zabbix-web:页面展示,从数据库中获取数据,展示到页面上
自定义zabbix监控
## 监控项添加流程
1.创建一个模板
2.给模板添加监控项
3.给监控项画图
4.给监控项添加触发器
5.给监控项的触发器添加告警动作
- 邮件
- 微信
- 钉钉
自定义监控项的格式
UserParameter=监控项的key名称,获取监控项值的命令或脚本
UserParameter=<key>,<shell command>
UserParameter=user.count,uptime|grep -Po "\\d(?= user)"
添加配置文件
## 1.修改配置文件
[root@db01 ~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=user.count,uptime|grep -Po "\\d(?= user)" # 提示有多少个用户登录
## 2.重启zabbix-agent
[root@db01 ~]# systemctl restart zabbix-agent.service
## 3.在服务端获取一下该监控项的数据
[root@zabbix ~]# yum install -y zabbix-get
[root@zabbix ~]# zabbix_get -s 172.16.1.51 -k user.conut
1
页面添加监控项
将主机关联该模板
查看监控数据
给监控项添加触发器
给监控添加报警媒介
给监控项的触发器添加告警动作
告警消息添加
## 故障告警(优化)
标题:
故障TRIGGER.STATUS,服务器:HOSTNAME1发生: TRIGGER.NAME故障!
内容:
告警地址:HOST.IP
告警主机:HOSTNAME1
告警时间:EVENT.DATE EVENT.TIME
告警等级:TRIGGER.SEVERITY
告警信息: TRIGGER.NAME
告警项目:TRIGGER.KEY1
问题详情:ITEM.NAME:ITEM.VALUE
当前状态:TRIGGER.STATUS:ITEM.VALUE1
事件ID:EVENT.ID
## 恢复告警(优化)
标题:
恢复TRIGGER.STATUS, 服务器:HOSTNAME1: TRIGGER.NAME已恢复!
内容:
告警地址:HOST.IP
告警主机:HOSTNAME1
告警时间:EVENT.DATE EVENT.TIME
告警等级:TRIGGER.SEVERITY
告警信息: TRIGGER.NAME
告警项目:TRIGGER.KEY1
问题详情:ITEM.NAME:ITEM.VALUE
当前状态:TRIGGER.STATUS:ITEM.VALUE1
事件ID:EVENT.ID
配置收件人
测试
zabbix监控端口
zabbix客户端配置
## 1.获取监控值
[root@db01 ~]# netstat -lntup|grep -w 22|wc -l
2
## 2.修改配置文件
[root@db01 ~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=port.status[*],netstat -lntup|grep -w $1|wc -l
## 3.重启zabbix客户端
[root@db01 ~]# systemctl restart zabbix-agent.service
## 4.测试
[root@zabbix ~]# zabbix_get -s 172.16.1.51 -k port.status[22]
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
2
## 只需要显示结果,需要添加权限
# 1.修改配置文件
[root@db01 ~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=port.status[*],sudo netstat -lntup|grep -w $1|wc -l
# 2.进入visudo添加权限
[root@db01 ~]# visudo
%zabbix ALL=(ALL) NOPASSWD: ALL
# 3.重启zabbix客户端
[root@db01 ~]# systemctl restart zabbix-agent.service
# 4.测试
[root@zabbix ~]# zabbix_get -s 172.16.1.51 -k port.status[22]
2
添加监控项
添加图形
添加触发器
测试
[root@db01 ~]# systemctl stop sshd.service
zabbix监控TCP
客户端配置
## 修改配置文件
[root@db01 ~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=tcp.status[*],sudo netstat -ant|grep -ic $1
## 重启客户端
[root@db01 ~]# systemctl restart zabbix-agent.service
## 测试
[root@zabbix ~]# zabbix_get -s 172.16.1.51 -k tcp.status[listen]
9
操作如上图所示
以上是关于CentOS zabbix 自定义监控项的主要内容,如果未能解决你的问题,请参考以下文章