zabbix主机的监控

模型.png

主机名称和IP地址规划

服务 主机名 eth0网卡IP eth1网卡IP 软件
防火墙服务器 firewalld 10.0.0.81 172.16.1.81 firewalld
负载均衡服务器 lb01 10.0.0.5 172.16.1.5 nginx,keepalived
负载均衡服务器 lb02 10.0.0.6 172.16.1.6 nginx,keepalived
web服务器 web01 10.0.0.7 172.16.1.7 nginx
web服务器 web02 10.0.0.8 172.16.1.8 nginx
web服务器 web03 10.0.0.9 172.16.1.9 nginx
存储服务器 nfs01 10.0.0.31 172.16.1.31 nfs
备份服务器 backup 10.0.0.41 172.16.1.41 rsync
数据库服务器 db01 10.0.0.51 172.16.1.51 mysql,mariaDB
批量管理服务器 m01 10.0.0.61 172.16.1.61 ansible
跳板机服务器 jumpserver 10.0.0.71 172.16.1.71 jumpserver
监控服务器 zabbix 10.0.0.72 172.16.1.72 zabbix
缓存服务器 暂无 暂无 暂无 暂无

需要安装好zabbix客户端

1.png

  • 配置监控的主机

172.16.1.7为例

  • 主机信息:名称 主机组 监控的主机地址

填好对应信息后添加

2.png

  • 模板信息: 指定需要链接的模板信息

选择->选择对应的模版->添加->更新

3.png

实现zabbix自定义配置监控

  • 监控项 : 可以自定义监控收集主机的信息
  • 应用集 : 将多个类似的监控项进行整合 便于查看检查
  • 模板 : 将多个监控项 触发器 图形都配置在模板中, 方便多个监控的主机进行调用
  • 动作 : 指定将报警信息发送给谁OK/定义报警的信息ok/定义报警的类型OK(相关文档)
  • 触发器 : 可以实现报警提示(条件表达式),默认页面提示报警
  • 图形 : 将多个图整合成一张,便于分析数据
  • 报警媒介 : 定义报警的方式

实现zabbix自定义监控-监控项

  • 方法一 : 修改/etc/zabbix/zabbix_agentd.confUserParameter参数
  • 方法二 : 添加/etc/zabbix/zabbix_agentd.d/*.conf文件
#UserParameter=键,值(命令输出结果)
UserParameter=web_state,ps -ef|grep -c [n]ginx

复杂的自定义监控配置

#在服务端定义键的时候*号可以填其他参数$1会引用*号的值 例如 server_state[22]
UserParameter=server_state[*],netstat -lntup|grep -c $1
UserParameter=server_state[*],ps -ef|grep -c $1
  • 修改配置参数后需要重启客户端服务
systemctl restart zabbix-agent
  • 服务端检测自定义监控信息是否正确
#第一次需要安装相关软件
yum install -y zabbix-get
#检测172.16.1.7的web_state
zabbix_get  -s 172.16.1.7 -k 'web_state'

复杂的自定义监控配置服务端测试

zabbix_get  -s 172.16.1.7 -k 'server_state[22]'
  • 服务端结果
[root@zabbix ~]# zabbix_get  -s 172.16.1.7 -k 'web_state'
2
  • 如果可以查询到结果,就可以在网页上配置

配置->主机->选择相应主机的监控项

4.png

创建监控项

5.png

填入对应参数

6.png

选择对应主机和应用集查看监控结果

7.png

实现zabbix报警功能-触发器/动作

  1. 页面提示信息报警
  2. 页面声音提示报警
  3. 邮件信息报警
  4. 微信功能报警
  5. 短信报警/电话报警

企业工作遇见告警信息处理思路步骤

  1. 看到告警提示信息,定位主机信息
  2. 看到主机信息之后,定位报警原因 获得监控项Key值
  3. 根据key值信息,最终获得报警原因

设置触发器

配置->主机->选择相应主机的触发器

8.png

创建触发器

9.png

设置响应参数然后添加

10.png

表达式总结

  • last() : 收集到最新信息(数值)
  • max() : 在一定周期内,收集到的最大值
  • min() : 在一定周期内,收集到的最小值
  • diff() : 在一定时间内,判断收集的信息是否不同
  • change() : 在一定时间内,判断收集的信息是否不同
  • avg() : 取一段时间的平均值

关闭客户端上的nginx达成触发条件,服务端显示报警信息

11.png

开启报警声音

  • 小人头->正在发送消息->前端信息中->更新
  • 设置后,触发报警会发出声音

12.png

邮件信息报警

管理->报警媒介类型->创建媒体类型

报警媒介类型可以选择脚本,通过编写的脚本可以实现微信,短信等其他方式报警

13.png

设置对应参数

14.png

添加收件人

15.png

启用动作

16.png

修改邮件模版

配置->动作->选择默认的动作

17.png

消息动作中的内容就是默认邮件模版,{}内的内容算宏参数(相关文档)

操作->编辑 可以编辑发送的用户群组,未解决问题第二次发送报警信息,设置报警方式等

18.png