Zabbix组件 C/S架构
服务端:
zabbix server(端口10051):zabbix服务端进程,用于接收代理端发来的监控指标数据,配置和管理zabbix应用程序,也是监控系统的告警中心(通过监控项告警触发配置实现)
zabbix database:持久化存储配置信息和监控指标数据(支持mysql postgresql oracle db2 tsdb等)
zabbix web:用于zabbix服务端配置管理界面和监控数据的UI界面的展示(支持LAMP/LNMP)
客户代理端:
zabbix agent(端口10050):部署在被监控的主机上,采集监控指标数据,并发送给zabbix server(数据采集支持主动模式和被动模式)
agent的两种模式:
- 主动模式:zabbix agent 主动向 zabbix server 请求监控项列表,并返回监控项所需要采集的监控指标数据给 zabbix server
- 被动模式:zabbix agent 被动接收 zabbix server 请求的监控指令,zabbix agent 再返回监控项所需要的监控指标数据给 zabbix server
zabbix java gateway:用于获取从通过在JAVA应用暴露的JXM远程端口采集的监控指标数据
zabbix proxy:zabbix代理端进程,部署在zabbix server与zabbix agent之间,代替zabbix server接收zabbix agent发来的监控指标数据并存储在本地数据库,汇总后再转发给zabbix server, 从而可以分担zabbix server的集中式负载压力
Zabbix工作原理
zabbix agent 等代理端会定期采集被监控主机的指标数据并发送给 zabbix server,zabbix server 接收数据后会存储带 zabbix database 中,管理员可基于 zabbix web 在浏览器页面查看监控数据的图像。
如何自定义监控模板?
- 先明确获取监控指标数据的命令或脚本
- 在被监控主机的配置文件目录中(/etc/zabbix/zabbix_agent2.d/)创建以 .conf 为结尾的监控项配置文件,在配置文件文件里自定义监控项的键值,再重载zabbix-agent2服务
- 键值配置格式:UserParameter=<键名>,<获取值的命令/脚本路径>
- 在zabbix服务端Web管理页面中依次添加 模板 - 监控项 - 触发器 - 图形
- 将监控模板和被监控主机相关联
自定义监控内容
案列1:自定义监控客户端服务器登录的人数
需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息
1.在客户端创建自定义 key
明确需要执行的 linux 命令
who | wc -l
2.在被监控主机的配置文件目录中(/etc/zabbix/zabbix_agent2.d/)创建以 .conf 为结尾的监控项配置文件,在配置文件文件里自定义监控项的键值,再重载zabbix-agent2服务
键值配置格式:UserParameter=<键名>,<获取值的命令/脚本路径>
cd /etc/zabbix/zabbix_agent2.d/
vim user_local.conf
UserParameter=login.user,who | wc -l
#重启
systemctl restart zabbix-agent2
3.在zabbix服务端Web管理页面中依次添加 模板 - 监控项 - 触发器 - 图形
(1)创建模板
点击左边菜单栏【配置】中的【模板】,点击【创建模板】
【模板名称】设置成 Template Login User
【可见的名称】设置成 Template Login User
【群组】选择 Template
【描述】可自定义点击 【添加】,此时就可在【名称】中搜索到 Template Login User 了
(2)创建监控项
点击 Template Login User 模板进入
点击上方菜单栏【监控项】,点击【创建监控项】
【名称】设置成 Number of login users
【键值】设置成 login.user #键值必须要与自定义的监控项配置文件中设置的保持一致
【更新间隔】设置成 10s
点击 【添加】
(3)创建触发器(当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警)
点击上方菜单栏【触发器】,点击【创建触发器】
【名称】设置成 number of login users is more than 3
【严重性】设置成 告警 #根据严重程度可自定义设置
【表达式】点击添加,【监控项】点击选择 Number of login users,【功能】选择 last(),【结果】选择 > 3,点击 【插入】
点击 【添加】
(4)创建图形
点击上方菜单栏【图形】,点击【创建图形】
【名称】设置成 Number of login users
【宽】、【高】可直接采用默认值
【监控项】点击添加勾选相关监控项 Number of login users,【功能】选择 最大,其它可保 持默认值
点击 【添加
(5)将主机与模板关联起来
点击左边菜单栏【配置】中的【主机】,点击你要关联的主机
【模板】搜索 login,选择 Template Login User,点击【更新】此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控指标
4. 测试
自定义监控内容:
案例2:查看开启了几个zabbix进程
1.在客户端创建自定义key需要执行的内容 命令或者脚本
查看开启了几个zabbix进程
netstat -lntp | grep zabbix | wc -l
2.在被监控主机的配置文件目录中(/etc/zabbix/zabbix_agent2.d/)创建以 .conf 为结尾的监控项配置文件,在配置文件文件里自定义监控项的键值,再重载zabbix-agent2服务
cd /etc/zabbix/zabbix_agent2.d/
vim nginx_status.conf
#要以.conf结尾
#配置如下
UserParameter=nginx.status,netstat -lntp | grep zabbix | wc -l
重启进程
systemctl restart zabbix-agent2.service
3.在zabbix服务端Web管理页面中依次添加 模板 - 监控项 - 触发器 - 图形
创建模板
创建监控项:
创建触发器
添加条件设置监控项
创建图形
将主机和模板关联起来
先点配置里面的主机