监控的系统配置文件路径
/etc/zabbix/zabbix_server.conf
监控内存的百分比(自定义一个监控项)
邮件格式:https://blog.csdn.net/wzqzhq/article/details/62430751
zabbix内置模板触发器设定都偏低,或者说不合理(切记 公司用一定要修改触发器)
映射值
监控tcp/22端口,成功显示Successful 失败显示Failed
66.png
单条件
监控内存的百分比(自定义一个监控项来完成)
1.在linux进行取值,提取可用百分比
1)先在你要监控的主机上配置
[root@web01 ~ 21:57:42]# cat /etc/zabbix/zabbix_agentd.d/system.conf
free -m | awk ' /^Mem/ {priint $NF / $2 * 100 }'
2)然后在服务端测试键值
[root@zabbix ~ 22:24:36]# zabbix_get -s 172.16.1.7 -k Mem_pre
2.自定义一个监控项的名称,通过zabbix-agent设定
100.png
3.设定触发器,当内存低于20%则触发报警(单条件触发器)
101.png
[root@web01 ~ 21:57:42]# cat /etc/zabbix/zabbix_agentd.d/system.conf
UserParameter=Mem_pre,free -m |awk '/^Mem/ {print $NF / $2 * 100 }'
多条件触发器
内存低于20%并且swap占用超过5%
[root@web01 ~ 21:57:42]# cat /etc/zabbix/zabbix_agentd.d/system.conf
UserParameter=Mem_pre,free -m |awk '/^Mem/ {print $NF / $2 * 100 }'
UserParameter=Swap_pre,free -m |awk '/^Swap/ {print $3 / $2 * 100 }'
设定触发器,当内存低于20%swap高于5%则触发报警(多条件触发器)
102.png
压测:dd if=/dev/zero of=/dev/null bs=600M count=1024
avg()平均值
last()比较最新的值
diff()比对上一次文件的内容
and or 多条件
nodata()收不到数据则报警
avg(5m)平均5分钟 (监控流量,比如平均5分钟流量高于多多少则报警)
(#5)最近5次的值
官方参考资料(触发器)https://www.zabbix.com/documentation/4.0/zh/manual/config/triggers/expression
用微信方式报警(监控脚本的路径你可以通过服务端的监控主配置文件查找)
[root@zabbix ~ 10:26:50]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix /usr/lib/zabbix/alertscripts 13:03:45]# wget http://fj.xuliangwei.com/public/weixin.py
[root@zabbix /usr/lib/zabbix/alertscripts 13:05:58]# chmod +x weixin.py
[root@zabbix /usr/lib/zabbix/alertscripts 13:07:02]# yum install python-pip -y
[root@zabbix /usr/lib/zabbix/alertscripts 13:07:53]# pip install requests
[root@zabbix /usr/lib/zabbix/alertscripts 13:14:01]# vim weixin.py
19 corpid='ww813a84e86e89d671'
20 appsecret='QQpTH4cD3mDAd-tjNg9Rl30a3MgqEnuRGcIaJ725XQY'
21 agentid=1000002
添加报警媒介
微信报警.png
添加动作
44.png
55.png
新增微信的收件账号
33.png
自定义图形:
1.相同类型的监控项目-->图形(CPU、内存、磁盘)-->聚合图形-->幻灯片演示(在公司买一个二手的大显示器,所有人都能看见)
监听nginx的7种状态
1.首先对对应的主机需要启动Nginx,并且打开Nginx的状态模块
2.将需要取值的内容,做成监控项(命令来实现,脚本来实现)
3.zabbux-web,创建模板,基于模板创建监控项,一共创建7个监控项目
4.将模板关联至该主机
5.设定相应的触发器
1)nginx开启状态监控模块
[root@web01 ~ 23:58:28]# cat /etc/nginx/conf.d/nginx-status.oldben.conf
server {
listen 8899;
location /nginx_status {
stub_status;
}
}
测试是否能取到值
[root@web01 ~ 01:54:05]# curl http://127.0.0.1:8899/nginx_status
2)定义监控项名称
[root@web01 ~ 00:27:37]# cat /etc/zabbix/zabbix_agentd.d/nginx.conf
UserParameter=ngx.active,curl -s http://127.0.0.1:8899/nginx_status | awk '/^Active/ {print $NF}'
UserParameter=ngx.accepts,curl -s http://127.0.0.1:8899/nginx_status | awk 'NR==3 {print $1}'
UserParameter=ngx.handled,curl -s http://127.0.0.1:8899/nginx_status | awk 'NR==3 {print $2}'
UserParameter=ngx.requests,curl -s http://127.0.0.1:8899/nginx_status | awk 'NR==3 {print $3}'
3)创建模板:
234.png
添加监控项
369.png
添加触发器
456.png
创建图形
123.png
导入模板
789.png
@@@
你的确保你要导入的主机有模板里的key值
[root@web01 ~ 01:18:25]# scp -p /etc/nginx/conf.d/status.oldben.conf root@172.16.1.9:/etc/nginx/conf.d/
[root@web01 ~ 01:19:45]# scp -p /etc/zabbix/zabbix_agentd.d/nginx.conf root@172.16.1.9:/etc/zabbix/zabbix_agentd.d/
监控php
1.有php,并且开启了php状态模块
2.提取对应的值,然后做成监控项
3.登录到zabbix-web.创建模板
基于模板模板创建监控项
基于监控项创建触发器
基于监控项创建图形
4.将模板关联对应的主机即可
1)打开PHP状态模块
[root@web01 ~ 01:19:57]# vim /etc/php-fpm.d/www.conf
pm.status_path = /fpm_status
[root@web01 ~ 01:48:47]# systemctl restart php-fpm
#配置nginx
[root@web01 ~ 01:49:12]# cat /etc/nginx/conf.d/php-status.oldben.conf
server {
listen 8899;
location /nginx_status {
stub_status;
}
location /fpm_status {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
[root@web01 ~ 01:48:35]# systemctl restart nginx
测试一下能取到值不
[root@web01 ~ 01:54:05]# curl http://127.0.0.1:8899/fpm_status
2)定义监控项名称
[root@web01 ~ 01:59:57]# cat /etc/zabbix/zabbix_agentd.d/php.conf
UserParameter=fpm.accepted,curl -s 127.0.0.1:8899/fpm_status | awk '/accepted/ {print $NF}'
UserParameter=fpm.idle,curl -s 127.0.0.1:8899/fpm_status | awk '/idle/ {print $NF}'
UserParameter=fpm.active,curl -s 127.0.0.1:8899/fpm_status | awk '/^active/ {print $NF}'
UserParameter=fpm.total,curl -s 127.0.0.1:8899/fpm_status | awk '/^total/ {print $NF}'
UserParameter=fpm.children,curl -s 127.0.0.1:8899/fpm_status | awk '/^max children/ {print $NF}'
3)创建模板
999.png
添加监控项
741.png
添加触发器
2222.png
111.png
创建图形
159.png
导入模板
126.png
#打开8上的php状态模块
[root@web01 ~ 02:31:25]# scp -p /etc/php-fpm.d/www.conf root@172.16.1.8:/etc/php-fpm.d/www.conf
#配置8上的nginx
[root@web01 ~ 02:30:06]# scp -p /etc/nginx/conf.d/php-status.oldben.conf root@172.16.1.8:/etc/nginx/conf.d/
#定义8上的key值
[root@web01 ~ 02:28:27]# scp -p /etc/zabbix/zabbix_agentd.d/php.conf root@172.16.1.8:/etc/zabbix/zabbix_agentd.d/
网友评论