Zabbix-自定义监控项、触发器、告警
Zabbix监控的添加顺序
- 添加主机组
- 添加主机
- 添加监控项目
- 根据监控项目可以添加图形或者触发器
监控需求
- 监控主机是否存活
- 监控主机的端口是否能通
示例:
第一步:添加主机组:
配置 > 主机群组 > 创建主机群组
ps:主机组名字建议以业务或功能进行区分,如www,或数据库
第二步:创建监控主机
配置 > 主机 > 创建主机
- 主机名称 //被监控主机名
- 群组 //主机组
- 接口
- Agent interfaces [zabbix提供一个agent客户端,安装在linux/win等]
- SNMP interfaces [使用snmp协议监控路由交换]
- JMX interfaces [监控java进程]
- IPMI interfaces [监控硬件信息]
克隆添加主机
配置 > 主机 > 想要克隆的主机 > Clone
zabbix-agent监控主机:
被监控主机安装zabbix客户端
zabbix-agent和zabbix-server在同一台机器
1 | rpm -ivh https://mirrors-i.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.1-1.el7.x86_64.rpm |
zabbix-agent和zabbix-server不在同一台机器
1 | #安装zabbix-agent |
监控项介绍:
- CPU
- Disk
- Disk average queue size (avgqu-sz) 每个读操作平均所需的时间,该值越大,表示排队等待处理的io越多
- Disk read rate 读取速率
- Disk read request avg waiting time (r_await) 每个读操作平均所需的时间
- Disk utilization 磁盘利用率
- Disk write rate 磁盘写入速率
- Disk write request avg waiting time (w_await) 每个写操作平均所需的时间
- General
- Maximum number of open file descriptors 打开的最大文件描述符
ulimit -n
- Maximum number of processes 最大进程数
- Number of logged in users 登陆用户数
- Number of running processes 正在运行的进程数
- System boot time 系统启动时间
- System description 系统描述
- System local time 系统本地时间
- System name 主机名
- Maximum number of open file descriptors 打开的最大文件描述符
- Memory
- Available memory 有效内存
- Free swap space 可用虚拟内存
- Free swap space in % 可用虚拟内存(%)
- Memory utilization 内存利用率
- Total memory 总内存
- Total swap space 总虚拟内存
- Interface enp0s3
- Bits received 接收bite
- Bits sent 发送bite
- Inbound packets discarded 入站被丢弃
- Inbound packets with errors 入站数据包有错误
- Interface type 接口类型
- Operational status 运行状态
- Outbound packets discarded 出站被丢弃的数据包
- Outbound packets with errors 错误的出站数据包
- Filesystem / 根分区
- Free inodes in % 可用inode
- Space utilization 空间利用率
- Total space 空间总大小
- Used space 已用空间
- Inventory
- Operating system 操作系统
- Operating system architecture 操作系统架构
- Software installed 以安装的软件
自定义监控项:
监控硬盘tps:
- 命令行,手动取值.(或写脚本)
- 修改zabbix_agent配置文件
1 | vim /etc/zabbix/zabbix_agentd.conf |
- 服务端做取值测试
1 | rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-get-4.4.1-1.el7.x86_64.rpm |
- web界面添加和查看
设置:
配置 > 主机 > 指定主机 > 监控项 > 创建监控项
查看:
监测 > 最新数据 > 选择主机 > 过滤名称 > 查看细节
监控tcp80端口并发数:
配置zabbix_agent
1
2
3
4
5
6[root@db03 ~]# netstat -na | awk '$4 ~/:80/&&$6 ~/ESTABLISHED/{print $5"--->"$4}'
10.0.0.51:17425--->10.0.0.53:80
vim /etc/zabbix/zabbix_agentd.conf
UserParameter=tcp80_count,netstat -na | awk '$4 ~/:80/&&$6 ~/ESTABLISHED/{print $5"--->"$4}' | wc -l
systemctl restart zabbix-agent服务端做取值测试
1
2[root@db01 ~]# zabbix_get -s 10.0.0.53 -k tcp80_count
1web界面定义
Linux下压力测试命令ab
1
2
3
4
5[root@db01 ~]# yum whatprovides ab
属于httpd-tools
-n在测试会话中所执行的请求个数。默认时,仅执行一个请求
-c一次产生的请求个数。默认是一次一个
[root@db01 ~]# ab -n 10000 -c 200 http://10.0.0.53/查看:
监控项批量复制:
zabbix_server
配置 > 主机 > 监控项 > 勾选自定义监控项 > 复制 > 目标 > 主机 > 复制
zabbix_agent
在/etc/zabbix/zabbix_agentd.d/目录中加入监控项配置文件
1 | 如: |
触发器配置
配置 > 主机 > 触发器 > 创建触发器 > 添加
常用函数:
last()
最新值达到avg()
平均值达到diff()
对比文件的差异比如配合md5
1 | {www_001:tcp80_count.last()}>100 //最近一个并发数大于100,那么告警 |
启用动作:
配置 > 动作 > Report problems to Zabbix administrators > 启用
定义告警内容:
1 | 告警主机: {HOSTNAME1} |
告警提示音
用户资料 > 正在发送消息 > 勾选前端消息中
压力测试
对10.0.0.51做压力测试
1 | [root@db01 ~]# ab -n 100000 -c 4000 http://10.0.0.53/ |