首页 > 其他分享 >zabbix自定义监控项

zabbix自定义监控项

时间:2022-08-24 20:34:32浏览次数:64  
标签:grep 自定义 zabbix UserParameter 监控 告警 EVENT

zabbix 自定义监控项

zabbix报错排查

# 1.检查端口
[root@zabbix ~]# telnet 172.16.1.5 10050

# 2.服务端是否能获取到客户端的监控数据
[root@zabbix ~]# yum install -y zabbix-get-5.0.26
-s:指定主机IP地址
-k:指定监控项名称
[root@zabbix ~]# zabbix_get -s 172.16.1.54 -k user.count
4

# 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@zabbix ~]# tail1 -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@do04 ~]# vim /etc/zabbix/zabbix_agentd.conf 
UserParameter=user.count,uptime|grep -Po "\d(?= user)"

# 2.重启zabbix-agent
[root@do04 ~]# systemctl restart zabbix-agent

# 3.在服务端获取该项监控的数据
[root@zabbix ~]# zabbix_get -s 172.16.1.54 -k user.count
4

页面添加监控项

自己创建一个监控模板

给模板中添加监控项

将主机关联该模板

给监控项画图

查看监控数据

给监控项添加触发器

优化页面告警

主机名:{HOST.NAME}
IP地址: {HOST.IP}

给监控项的触发器添加告警动作

添加邮件告警(报警媒介类型:发件人和告警方式)

配置邮箱收件人

告警消息添加

# 故障报警
标题:Problem: {EVENT.NAME}
内容:
Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}

Original problem ID: {EVENT.ID}
{TRIGGER.URL}

# 恢复告警
标题:Resolved: {EVENT.NAME}
内容:
Problem has been resolved at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}

Original problem ID: {EVENT.ID}
{TRIGGER.URL}
故障{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}

作业

监控端口22、80、443端口

[root@do04 ~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=server.ssh_port,netstat -lntup|grep -w  22|wc -l
UserParameter=server.nginx_port,netstat -lntup|grep -w  80|wc -l
UserParameter=server.https_port,netstat -lntup|grep -w  443|wc -l
[root@do04 ~]# systemctl restart zabbix-agent

监控TCP11种状态

[root@do04 ~]# vim /etc/zabbix/zabbix_agentd.conf 
UserParameter=ESTABLISHED,netstat -ntup |grep ESTABLISHED -c
UserParameter=SYN_SENT,netstat -ntup |grep SYN_SENT -c
UserParameter=SYN_RCVD,netstat -ntup |grep SYN_RCVD -c
UserParameter=FIN_WAIT1,netstat -ntup |grep FIN_WAIT1 -c
UserParameter=FIN_WAIT2,netstat -ntup |grep FIN_WAIT2 -c
UserParameter=TIME_WAIT,netstat -ntup |grep TIME_WAIT -c
UserParameter=CLOSED,netstat -ntup |grep CLOSED -c
UserParameter=CLOSE_WAIT,netstat -ntup |grep CLOSE_WAIT -c
UserParameter=LAST_ACK,netstat -ntup |grep LAST_ACK -c
UserParameter=LISTEN,netstat -ntup |grep LISTEN  -c
UserParameter=CLOSING,netstat -ntup |grep CLOSING -c
[root@do04 ~]# systemctl restart zabbix-agent

标签:grep,自定义,zabbix,UserParameter,监控,告警,EVENT
From: https://www.cnblogs.com/ghjhkj/p/16621459.html

相关文章

  • MySQL自定义监控
    zabbix自定义监控项zabbix拍错排查#检查端口[root@zabbix6~]#telnet172.16.1.7210050#服务端是否获取到客户端的监控数据[root@zabbix~]#yuminstall-yzab......
  • Java程序运行状态的监控
    写在前面:该系列文章,主要是为了深入学习Java完成的一条链,推荐阅读的整体顺序为:Java的内存模型(根源),一个java文件被执行的历程,一个Java类的加载,Java的垃圾回收机制及算法,Linu......
  • oracle数据库性能监控常用sql
    因执行时间较长建议使用plsql等第三方工具执行--1.监控sga内存分配信息select*fromv$sgainfo;--2.监控每个用户的磁盘io及io命中率selectv$sess_io.*,(block_gets+con......
  • 009监控之P95和P99等百分位数值解析
    长尾请求业界关于延迟有一个常用的P99标准,即99%的请求应该比指定的延迟更小,仅允许1%的请求大于指定的延迟,这1%的请求即为”长尾请求”。打个形象的比喻,班级内99%同学的成绩......
  • tomcat自定义错误页面
    tomcat自定义错误页面 当我们访问tomcat的一个不存在的页面,返回错误信息如下: 这样的界面直接暴露给用户并不友好,有时候还不安全,因此一般需要修改默认的错误......
  • 【Azure 应用服务】在 App Service for Windows 中自定义 PHP 版本的方法
    问题描述在AppServiceforWindows的环境中,当前只提供了PHP7.4版本的选择情况下,如何实现自定义PHPRuntime的版本呢?如 PHPVersion8.1.9?当AppService创建号值后......
  • 自定义音量键
    Windows10上,音量加减只能通过相应的音量键,如果不习惯原生的按键想要修改成其他按键呢?解决办法就是手动添加注册表项,步骤只有简单的2步:打开注册表,定位到:HKEY_LOCAL_MACH......
  • 三种分页方式-JWT原理-Django中快速使用JWT-修改返回格式-JWT的验证-自定义用户签发To
    三种分页方式#什么样接口要分页----》获取所有#三种分页方式---》继承GenericAPIView,ListModelMixin-list方法---》分页的使用 page.pyfromrest_framework.p......
  • 自定义频率-权限 频率执行源码分析-全局异常处理-自动生成接口文档-RBAC
    自定义频率类 #自定义的逻辑1)取出访问者ip{192.168.1.12:[访问时间3,访问时间2,访问时间1],192.168.1.12:[],192.168.1.14:[]}2)判断当前ip不在访问字典里,......
  • prometheus监控redis-cluster集群
    信息prometheusv2.1.0redis_exporterv1.6.1rediscluster5.03mater3slaveprometheus.yml在prometheus.yml添加两个job,redis_exporter和redis_exporter_target......