一、自定义监控内容
案例:自定义监控客户端服务器登录的人数
需求:限制登录人数不超过3个人,超过5个人就发出报警
1、在客户端创建自定义key
明确需要执行的linux命令
创建zabbix监控项配置文件,用于自定义Key
#在zabbix的配置文件中定义了会加载放在/etc/zabbix/zabbix_agent2.d/目录下,所有以.conf结尾的文件
vim /etc/zabbix/zabbix_agent2.conf
Include=/etc/zabbix/zabbix_agent2.d/ *.conf #268行,定义加载的文件路径
# Format: UserParameter=<key>,<shell command> #291行,定义监控项的格式
cd /etc/zabbix/zabbix_agent2.d/
vim UserParameter_login.conf
UserParameter=login.user,who|wc -l
#添加监控的命令
systemctl restart zabbix-agent2
#重启服务
服务端验证测试
2、在Web界面创建自定义监控模板
2.1 创建模板
点击左边菜单栏【配置】中的【模板】,点击【创建模板】
【模板名称】设置成 Template Login User
【可见的名称】设置成 Template Login User
【群组】选择 Templates
【描述】可自定义
点击 【添加】,此时就可在【链接的模板】中搜索到 Template Login User 了
点击左边菜单栏【配置】中的【模板】,点击【创建模板】
可在模板列表中找到刚刚创建的模板
2.2 创建应用集(用来管理模板的)
点击上方菜单栏【应用集】,点击【创建应用集】
【名称】设置成 Login User
点击 【添加】
2.3 创建监控项
点击上方菜单栏【监控项】,点击【创建监控项】
【名称】设置成 Number of login user
【键值】设置成 login.user #键值必须要与自定义的监控项配置文件中设置的保持一致
【更新间隔】设置成 10s
【历史数据保留时长】Storage period 30d #保留时间可自定义设置
点击 【添加】
2.4 创建触发器
#当监控项获取到监控的值后和触发器预设的值进行对比,判断是否报警
点击上方菜单栏【触发器】,点击【创建触发器】
【名称】设置成 Number of login users is greater than 3
【严重性】设置成 一般严重
【表达式】点击添加,【监控项】点击选择 Number of login users,【功能】选择 last(),【结果】选择 > 3,点击 【插入】
点击 【添加】
2.5 创建图形
点击上方菜单栏【图形】,点击【创建图形】
【名称】设置成 Number of login users
【宽】、【高】可直接采用默认值
【监控项】点击添加勾选相关监控项 Number of login users,【功能】选择 最大,其它可保持默认值
点击 【添加】
2.6 将主机和模板关联(一个主机可以关联多个模板)
点击左边菜单栏【配置】中的【主机】,点击你要关联的主机
点击上方菜单栏【模板】,【Link new tamplates】搜索 login,选择 Template Login User,点击【更新】
此时就点击【监测】中的【主机】,点击你关联主机的【图形】,即可查看到相关的监控项指标
2.7 查看监控的信息
3、报警邮件进行通知
3.1 配置发件人信息
点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】
{--------------------------------------
【名称】设置成 qq_Email
【SMTP服务器】设置成 smtp.qq.com
【SMTP服务器端口】设置成 25
【SMTP HELO】设置成 qq.com
【SMTP电邮】设置成 自己的邮箱地址,例如 1****72@qq.com
【认证】选择 用户名和密码
【用户名称】设置成 自己的邮箱地址,例如 1****72@qq.com
【密码】可登录QQ邮箱页面,点击【设置】-->【账户】中的【生成授权码】,通过短信获取授权码
【描述】可自定义
点击上方菜单栏【Message templates】,点击【添加】,【Message type】选择 问题,点击【更新】
点击 【添加】,并测试功能
-----------------------------------------------}
点击左边菜单栏【管理】中的【报警媒介类型】,点击【创建媒体类型】
登录到自己的qq邮箱获取授权码
查看到创建的邮件动作,(还可以再右侧点击测试,看是否成功发送邮件)
3.2 配置收件人信息
点击左边菜单栏【User settings】-->【报警媒介】,点击【添加】
【类型】选择 qq_Email
【收件人】设置成 1****72@qq.cn
【当启用时】设置成 1-7,00:00-24:00
点击 【添加】
再点击 【更新】
点击左边菜单栏【配置】中的【动作】,选择相对应的动作名称,点击【启用】
配置收件人信息
启用收件动作
查看动作是否开启
3.2 测试发送邮件
先在客户端中添加大于5个用户登录。然后出发报警。(待问题解决后,报警信息会自动消失)
查看邮件内容
二、zabbix的自动发现
-
zabbix自动发现(对于agent2是被动模式)
-
zabbix server主动的去发现所有的客户端,然后将客户端的信息登记在服务器上。
缺陷
- 如果定义网段中的主机数据量多,zabbix server登记耗时较久,且压力会压力较大。
2、检验客户端以及配置本机DNS。
确认客户端的zabbix-agent2服务状态正常
systemctl is-active zabbix-agent2.service
#确认服务状态(返回active则表示正常)
在web页面删除原有的客户端主机
- 点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
在服务端和客户端都设置本机DNS,提高访问速度
- 服务端配置
- 客户端配置
3、在web页面配置自动发现
3.1 在服务端时实监听zabbix-server服务的日志
tail -f /var/log/zabbix/zabbix_server.conf
3.2 在Web界面配置自动发现
点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】
{-------------------------------------------------
【名称】设置成 mynetwork
【IP范围】设置成 192.168.80.1-254
【更新间隔】设置成 30s
【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10500,【键值】设置成 system.uname
【设备唯一性准则】选择 IP地址
【主机名称】选择 DNS名称
【可见的名称】选择 主机名称
勾选 【已启用】,点击 【更新】
------------------------------------------------}
点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】
配置自动发现规则
开启动作
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【Discovery actions】
勾选 【Auto discovery. Linux servers.】,点击 【启用】
3.3 查看自动添加
点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机
并且可以查看日志,出现如下表示自动发现成功
6601:20210922:225044.115 enabling Zabbix agent checks on host "zbx-agent01": host became available
4、开启了自动发现后出现报错
当开启自动发现客户端主机时,会发现出现以下报错
此时需要进入到zabbix_server 服务的配置文件中,修改进程的数量,可设置3个,如果还报错,可以设置的再大一点。
三、zabbix的自动注册
1、什么是自动这册
-
对于agent2是主动模式
-
zabbix agent2 会主动上报自己的信息,发给zabbix server。
缺点
- 是可能因为配置文件配置错误或者网络不通等原因导致zabbix agent2 可能找不到zabbix server。
2、环境准备
关闭自动发现、删除主机
点击左边菜单栏【配置】中的【自动发现】,勾选发现规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
3、修改zabbix-agent2配置文件
vim /etc/zabbix/zabbix_agent2.conf
HostnameItem=system.hostname #139行,取消注释
systemctl restart zabbix-agent2
#重启服务
egrep -nv "^#|^$" /etc/zabbix/zabbix_agent2.conf
#过滤出配置文件中的生效配置
4、web页面配置自动注册
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【Autoregistration actions】,点击【创建动作】
{--------------------------------------------
【名称】设置成 Auto registration
点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 zbx-agent01
点击上方菜单栏【操作】,点击【添加】,【操作类型】选择 添加主机,点击 【add】
再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers,点击 【add】
再点击【添加】,【操作类型】选择 与模板关联,【模板】搜索 Linux,选择 Template OS Linux by Zabbix agent,点击 【add】
点击下方的【添加】
--------------------------------------------------}
点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机
创建自动注册的动作
设置动作
添加主机的操作
添加主机到群主的操作
添加与模板关联
进行查看到添加完成
5、 查看是否可以自动注册主机
查看日志