zabbix自定义监控、钉钉、邮箱报警 (五十六)

本文详细介绍了如何在Zabbix中进行自定义监控,包括监控Mariadb和Nginx,以及设置钉钉和邮件报警。通过实验步骤,如安装、添加监控对象、配置模版、创建自定义监控项等,确保监控有效并实现及时的通知。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、实验准备

192.168.156.148 zabbix-server

192.168.156.151 zabbix-angent

zabbix-server端:

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install zabbix-server-mysql zabbix-agent
yum install centos-release-scl
vim /etc/yum.repos.d/zabbix.repo
####改这里
[zabbix-frontend]
...
enabled=1
...
 
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
 
yum -y install mariadb mariadb-server
systemctl start mariadb.service 
##进入MYSQL
mysql
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user "zabbix"@"localhost" identified by '123456';
mysql> grant all privileges on zabbix.* to "zabbix"@"localhost";
mysql> exit;
 
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
 
yum install zabbix-get
 
 
vim /etc/zabbix/zabbix_server.conf
##修改密码
DBPassword=123456
##揭开注释
DBHost=localhost

 
 
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
 
 
 
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

zabbix-angent端:

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install zabbix-agent


vim /etc/zabbix/zabbix_agentd.conf
##117行 
Server=192.168.156.148
##163行 
ServerActive=192.168.156.148
##174行 
Hostname=192.168.156.151
 
systemctl start zabbix-agent
systemctl enable zabbix-agent
 
 

二、安装

访问192.168.156.148/zabbix

三、添加监控对象

同理添加192.168.156.151

四、添加自定义监控项

在192.168.15.6151上添加自定义的监控项:监控当前登录用户的个数

vim /etc/zabbix/zabbix_agentd.d/user-login.conf
########定义键
########格式:UserParameter=key,shell命令(脚本也可)
UserParameter=user_login,who|wc -l
 
 
vim /etc/zabbix/zabbix_agentd.conf
###解开注释,启用
UnsafeUserParameters=1
 
systemctl restart zabbix-agent

yum -y install zabbix-get

在zabbix-server 上验证,数据采集没有问题了就可以添加监控项了

在web端添加自定义监控项

验证,使用ssh登录192.168.156.151,让登录用户大于3

五、监控mariadb

1、添加模版查看要求

在192.168.156.151上先

查看说明

Requirements for template 
<think>好的,我现在需要帮助用户测试他们配置好的Zabbix告警是否正常工作。用户可能已经按照文档配置了告警媒介,比如钉钉或者邮件,但不确定是否生效。首先,我应该回忆一下Zabbix告警机制。根据引用[3],Zabbix报警媒介包括多种方式,而触发报警需要触发器的状态变化。 用户想测试已经配置好的告警,可能需要手动触发一个测试告警。常见的方法有两种:一种是主动触发一个测试事件,比如模拟一个触发器条件被满足的情况;另一种是使用zabbix_sender工具发送数据,或者直接修改某个监控项的值。 比如,用户之前可能配置了一个触发器,当CPU负载过高时发送告警。但手动模拟高负载可能不太方便。根据引用[5],他们之前通过检查agent的连接数来测试,当连接数超过阈值时触发告警。所以可能可以模仿这个方法,比如使用who | wc -l命令生成一个超过阈值的值,触发告警。 另外,用户提到引用[2]中配置了钉钉告警,并且有测试脚本的步骤。可能需要检查他们的告警脚本是否正确,权限是否设置好,比如dingding.py是否有执行权限,日志目录是否可写。用户可能还需要运行脚本手动测试,确保脚本本身没有问题。 还有,用户可能需要确认告警媒介是否启用,以及动作(Action)的配置是否正确。例如,动作的条件是否满足,比如触发器触发的时间段,接收告警的用户或用户组是否正确关联了告警媒介。 步骤可能包括: 1. 确认告警媒介配置正确,比如钉钉的Webhook地址是否正确,邮箱配置的SMTP服务器是否无误。 2. 手动触发一个已知的触发器,比如通过命令临时增加系统负载或模拟一个监控项的值超过阈值。 3. 检查Zabbix前端是否生成相应的问题事件,并且动作日志中是否有尝试发送告警的记录。 4. 查看告警媒介的日志,比如钉钉的dingding.log,或者邮件服务器的日志,确认告警是否成功发送。 5. 如果使用zabbix_get,可能需要安装它,如引用[1]提到的,在Zabbix5中需要单独安装zabbix-get包,然后使用zabbix_get命令获取监控项的值,验证监控项是否正确收集数据。 此外,用户可能需要验证整个流程:触发器是否被正确触发,动作是否执行,告警媒介是否成功发送信息。如果某个环节失败,比如脚本权限问题,或者网络问题导致钉钉消息发送失败,需要逐步排查。 总结下来,测试步骤可能包括配置验证、手动触发告警、检查日志和接收情况,以及使用工具辅助验证。需要确保每个环节都正确,从触发器到动作,再到媒介的执行,最后到用户接收。</think>### 如何测试已配置的Zabbix告警? #### 1. **验证告警媒介配置** - **检查脚本权限与路径** 若使用自定义脚本(如钉钉告警脚本`dingding.py`),需确保脚本路径正确且权限设置为可执行: ```bash sudo chmod 755 /usr/lib/zabbix/alertscripts/dingding.py # 参考引用[2] ``` - **测试脚本独立性** 手动运行脚本验证是否能发送消息(替换参数为实际值): ```bash ./dingding.py <手机号> "测试关键词" "告警内容" # 参考引用[2] ``` - **查看日志文件** 检查日志`/usr/lib/zabbix/alertscripts/log/dingding.log`,确认脚本执行是否报错。 #### 2. **手动触发告警** - **通过监控项模拟数据** 选择一个已有触发器关联的监控项(如CPU负载、内存使用率),手动使其超过阈值: - 例如,通过命令临时增加系统负载: ```bash stress-ng --cpu 4 --timeout 60s # 模拟高CPU负载 ``` - 或直接修改监控项值(需支持主动模式): ```bash zabbix_sender -z <Zabbix服务器IP> -s "<主机名>" -k "<监控项键值>" -o 100 ``` - **使用`zabbix_get`验证数据采集** 若未安装`zabbix_get`,需先安装: ```bash yum install -y zabbix-get # Zabbix 5需手动安装,参考引用[1] ``` 查询监控项当前值: ```bash zabbix_get -s <客户端IP> -k "<监控项键值>" ``` #### 3. **检查告警流程** - **查看Zabbix前端事件** 在Zabbix的 **Monitoring → Problems** 中,确认触发的告警事件是否生成。 - **检查动作日志** 进入 **Reports → Action Log**,筛选对应动作,查看告警发送状态: - 若状态为“已发送”,表示Zabbix尝试执行了告警动作。 - 若状态为“失败”,需检查动作配置或媒介参数(如邮件SMTP配置、钉钉Token)。 #### 4. **验证告警接收** - **检查目标媒介** - **邮件告警**:查看收件箱(包括垃圾邮件)。 - **钉钉/微信**:确认群机器人是否收到消息。 - **短信/电话**:联系运营商确认网关限制。 - **分析日志定位问题** - Zabbix服务器日志:`/var/log/zabbix/zabbix_server.log` - 脚本日志:如`dingding.log`(参考引用[2]) #### 5. **使用测试主机或模板** - 创建专用测试主机,绑定测试用触发器与动作,避免影响生产环境。 --- ### 相关问题 1. 如何排查Zabbix告警脚本执行失败的问题? 2. Zabbix邮件告警配置中SMTP参数如何设置? 3. 如何通过Zabbix API批量测试告警规则?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值