zabbix自定义监控 (三)

zabbix 4.4 源码搭建(一)
zabbix-agent 自动发现 (二)
zabbix自定义监控 (三)
zabbix 微信告警 (四)
zabbix 4.4分布式监控 (五)


环境:

  • 192.168.1.123 redis nginx mysql_master
  • 192.168.1.125 mysql_slave

-监控redis服务

  • 利用zabbix自带的功能创建监控项
  • 自定义脚本创建监控项
-利用zabbix自带的功能创建监控项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

-自定义脚本创建监控项
#修改zabbix_agent配置文件
[root@node3 ~]# vim /etc/zabbix_agentd.conf
# 指定监控项及获取值的方式
UserParameter=redis.status,bash /data/sh/redis_status.sh
# redis.status: 键(监控项)
# bash /data/sh/redis_status.sh 值(获取监控项的方式)
  • 创建脚本
  • 测试脚本
-创建脚本
[root@node3 ~]# mkdir -p /data/sh
[root@node3 ~]# vim /data/sh/redis_status.sh
#编辑内容
#!/bin/bash
#by scyun
#############

killall -0 redis-server &>/dev/null

if      [ $? -eq 0 ];then
        echo 0
else
        echo 1
fi
-测试脚本
写好脚本后要先测试,脚本有没有问题,没有问题才能继续。而且,测试需要在
客户端及服务端都进行测试!
### 客户端测试
#redis进程存在时测试
[root@node3 ~]# systemctl start redis
[root@node3 ~]# ps -ef |grep redis
redis     42735      1  0 11:19 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root      42739   6861  0 11:19 pts/0    00:00:00 grep --color=auto redis
#使用killall测试
[root@node3 ~]# killall -0 redis-server
-bash: killall: 未找到命令
#安装killall命令
[root@node3 ~]# yum install psmisc -y
[root@node3 ~]# killall -0 redis-server
[root@node3 ~]# echo $?
0   #服务正常用0表示
[root@node3 ~]# systemctl stop redis
[root@node3 ~]# killall -0 redis-server
redis-server: no process found
[root@node3 ~]# echo $?
1   #服务挂了用1表示

#客户端测试脚本
[root@node3 ~]# bash /data/sh/redis_status.sh 
1   # 返回1 表示服务挂了
[root@node3 ~]# systemctl start redis
[root@node3 ~]# bash /data/sh/redis_status.sh 
0   # 返回0 表示服务还在
#没问题后去加个权限去服务端测试
[root@node3 ~]# chmod +x /data/sh/redis_status.sh
#临时提权
[root@node3 ~]# chmod u+s /usr/bin/killall

### 服务端测试
#redis进程存在时测试
[root@node2 ~]# zabbix_get -s 192.168.1.123 -k "redis.status"
0  
#关闭客户端redis服务后
[root@node2 ~]# zabbix_get -s 192.168.1.123 -k "redis.status"
1
-web界面添加监控项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

-字体乱码解决

从本地计算机里找到一个字体,上传到server端,再次刷新网页即可
C:\Windows\Fonts
[root@node2 ~]# mv -b FZSTK.TTF /usr/local/nginx/html/assets/fonts/DejaVuSans.ttf
#刷新zabbix_web界面

在这里插入图片描述

-监控nginx服务

#修改zabbix_agent文件
# 指定监控项及获取值的方式
UserParameter=nginx.status,bash /data/sh/nginx_status.sh $1
#重启服务
[root@node3 ~]# systemctl restart zabbix-agent.service

-创建脚本
[root@node3 ~]# curl 192.168.1.123/status
Active connections: 1 
server accepts handled requests
 4 4 9 
Reading: 0 Writing: 1 Waiting: 0 
Active connections:当前活动状态的连接数
accepts:统计总值,已经接受的客户端请求的总数
handled:统计总值,已经处理完成的客户端请求的总数
requests:统计总值,客户端发来的总的请求数
Reading:当前状态,正在读取客户端请求报文首部的连接的连接数
Writing:当前状态,正在向客户端发送响应报文过程中的连接数
Waiting:当前状态,正在等待客户端发出请求的空闲连接数
#!/bin/bash
#by scyun
################
function active {
        curl 192.168.1.123/status 2>/dev/null |awk 'NR==1{print $NF}'
        }
function accepts {
        curl 192.168.1.123/status 2>/dev/null | awk 'NR==3{print $1}'
        }
function handled {
        curl 192.168.1.123/status 2>/dev/null | awk 'NR==3{print $2}'
        }
function requests {
        curl 192.168.1.123/status 2>/dev/null | awk 'NR==3{print $3}'
}
function reading {
        curl 192.168.1.123/status 2>/dev/null | awk 'NR==4{print $2}'
}
function writing {
        curl 192.168.1.123/status 2>/dev/null | awk 'NR==4{print $4}'
}
function waiting {
        curl 192.168.1.123/status 2>/dev/null | awk 'NR==4{print $NF}'
}

$1

-测试脚本
#客户端测试脚本
[root@node3 sh]# bash /data/sh/nginx_status.sh requests
39
[root@node3 sh]# bash /data/sh/nginx_status.sh active
1

#服务端测试脚本
[root@node2 ~]# zabbix_get -s 192.168.1.123 -k nginx.status[requests]
41
[root@node2 ~]# zabbix_get -s 192.168.1.123 -k nginx.status[active]
1

-web界面添加监控项

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

-创建图像

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

-触发器

-创建触发器

在这里插入图片描述
在这里插入图片描述

-验证触发器
#把redis服务关了试试
[root@node3 sh]# systemctl stop redis
#开启服务后过一会会显示已解决
[root@node3 sh]# systemctl start redis

在这里插入图片描述
在这里插入图片描述

-邮件告警

-用户绑定告警媒介

在这里插入图片描述

-设置报警邮箱

在这里插入图片描述
在这里插入图片描述

-添加动作

在这里插入图片描述
在这里插入图片描述

都设置好了后要点添加上面的添加,不然不刚刚选的都是无效的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

-设置问题恢复后发送邮件

在这里插入图片描述

-配置自动重启服务

服务挂了后先让zabbix发送命令尝试重启服务,如果起不来再发送邮件

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦读

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值