zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

zabbix5系列之自定义监控redis、nginx、mysql服务

2023-03-20 14:51:11 时间

1. zabbix自定义监控项:

在上一节课中,我们通过添加模板,zabbix自动为我们创建了很多监控项,但是往往模板中的监控项并不能满足我们业务需要,我们时常需要自己根据业务需要创建一系列的监控项,也成为自定义监控项。

监控项:zabbix进行监控的一个指标,zabbix中称为item,它的值由独立的key进行识别 。

1.1 监控redis服务:

先在122客户端部署好redis,并且启动redis服务:

yum install redis -y
systemctl start redis
  • 方式一:利用zabbix自带的功能创建监控项:
image.png
image.png
image.png
image.png

监控项配置好后,可以点击最新数据看下:

image.png
image.png
  • 方式二:自定义脚本创建监控项:
1.1.1 修改zabbix-agent的配置文件:
vim /etc/zabbix/zabbix_agentd.conf

# 指定监控项及获取值的方式:
UserParameter=redis.status,bash /data/sh/redis_status.sh

# redis.status:	键(监控项)
# bash /data/sh/redis_status.sh	值(获取监控项的方式)
1.1.2 客户端创建脚本:
mkdir -p /data/sh
cat > /data/sh/redis_status.sh <<EOF
#!/bin/bash
# by lutixia
######################

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

if [ $? -eq 0 ];then
        echo 1
else
        echo 0
fi
EOF

### 在客户端安装提供killall命令的包:
yum install psmisc -y
1.1.3 测试脚本:

一定要先测试脚本有没有问题,没有问题之后才能继续。而且,测试需要在客户端及服务端都进行测试

### 客户端测试
# 当redis进程存在时测试:
[root@localhost ~]# ps -ef  |grep redis
redis      2246      1  0 11:12 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root       2549   1556  0 11:34 pts/0    00:00:00 grep --color=auto redis
[root@localhost ~]# /data/sh/redis_status.sh
1
# 停止redis测试:
[root@localhost ~]# systemctl stop redis
[root@localhost ~]# /data/sh/redis_status.sh
0
### 服务端测试:
# 当redis进程存在时测试:
[root@localhost ~]# yum install zabbix-get -y
[root@localhost ~]# zabbix_get  -s 192.168.75.135 -k "redis.status"
1
# 停止redis测试:
[root@localhost ~]# zabbix_get  -s 192.168.75.135 -k "redis.status"
0

# 如果出现,不管redis是启动还是停止,zabbix_get拿到的值都是0,则可以在agent端执行以下命令:
chmod u+s  /usr/bin/killall 
1.1.4 web界面添加监控项:
image.png

配置好监控项后,同样可以点击监控台的最新数据查看数据是否有过来。

以上是对远程服务器的redis服务的监控,如果是想监控nginx,MySQL服务,则只需要把6379端口改为80或者3306端口即可。

欢迎点赞,收藏,你的喜欢就是我原创的动力,zabbix 5系列将会持续更新。