Zabbix-02-监控项+触发+报警
自定义监控项(服务监控)
命令行,手动取值
1 | iostat |awk ' $1 ~/sda/' |
修改zabbix-agent配置文件
1 | vim /etc/zabbix/zabbix_agentd.conf |
1 | systemctl restart zabbix-agent.service |
zabbix-server测试监控项取值
安装zabbix_get
1 | yum install zabbix-get |
或
1 | rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-get-4.0.19-1.el7.x86_64.rpm |
设置超时时间(4.44版本开始不设置超时可能无法正常取值,默认为3秒)
重启zabbix-agent
1 | systemctl restart zabbix-agent |
测试取值
1 | [root@node10 src]# zabbix_get -s 127.0.0.1 -k sda_tps |
在web界面添加自定义监控项
在web界面查询监控
名称:支持模糊查询
权限分离
因为权限问题,部分脚本会无法正常取值
如:
处理方案:
加sudo启动
给路径命令授权(更改属主)
(1)寻找命令执行目录
`which netstat(命令)`
(2)给命令执行目录授权
`chmod u+s /usr/bin/netstat`
(3)查看目录权限
`ll /usr/bin/netstat`
(4)查看命令效果
`netstat -antp|head -5`
将自定义监控项添加到其他主机
手动CP添加
(1)通过过滤我们可以看到,zabbix的配置文件有扩展项目
grep -Ev '^$|#' /etc/zabbix/zabbix_agentd.conf
(2)将原自定义项写入扩展路径
vim /etc/zabbix/zabbix_agentd.d/user.conf
写入自定义文件
(3)重启zabbix-agent生效
systemctl restart zabbix-agent.service
手动web添加(要先给agent端准备好命令,我就觉得很脑残)
(1)在监控项中将需要添加的监控项目选中,点击复制
(2)选择主机/群组进行复制
(3)在主机中查看监控项
(4)在最新数据中查看状态
名称:不选即可查看所有
原因:因为缺少授权/命令包
解决:1. 授权相关命令路径
which netstat(命令)
chmod u+s 路径
2.安装命令包
先搜索命令包,看是否存在
yum provides iostat(命令包名)
3.安装命令包
yum install iostat
重启agent端(批量监控不能进行server端重启)
自定义触发器(阈值)
添加自定义监控项

{Zabbix server:system.users.num.last()}>4
- Zabbix server:主机名
- system.users.num:监控项key值
- last():函数方法
严重性:
- 灾难:机房连接不上,还能用的就不叫灾难,灾难级别报告给老板,剩下自己处理
- 严重:
- 一般严重:
- 警告:
开启动作和报警媒介
邮件报警和微信报警(无人值守)
邮件报警
发件人
收件人
需要建立zabbix账号,一个账号对应一个邮箱地址
启用动作
定制消息格式
定制报警的内容
https://www.zabbix.com/documentation/4.0/zh/manual/appendix/macros/supported_by_location
微信报警
放入脚本
将weixin.py放在zabbix特定目录/usr/lib/zabbix/alertscripts(可查:grep -Ev '^$|#' /etc/zabbix/zabbix_server.conf
)
查找企业ID、查找应用密码、应用ID
CORPID=企业id
Appsecret=应用密码
Agentid=应用id
安装python模块
配置阿里云源
curl -o /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos7.repo
安装python环境
1
2
3
4yum -y install epel-release
yum install python-pip
pip install requests
pip install --upgrade requests测试命令行
python weixin.py LiZongLi '外卖到了' '恰饭 8月12日 23:23'
查看发送日志
cat /tmp/weixin.log
删除日志(因为测试以root环境创建,而zabbix需要以普通用户创建)
配置发件人
{ALERT.SENDTO}, {ALERT.SUBJECT} and {ALERT.MESSAGE}