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 自定义监控项的主要内容,如果未能解决你的问题,请参考以下文章

超详细配置Zabbix监控通过钉钉实现报警(3.4和4.0版本)

Zabbix的通知功能以及自定义脚本告警

Zabbix的通知功能以及自定义脚本告警

zabbix监控流程

zabbix_agent的配置流程

zabbix_agent的配置流程