编程技术分享平台

网站首页 > 技术教程 正文

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

xnh888 2024-09-11 11:00:46 技术教程 18 ℃ 0 评论

1. zabbix自定义监控项:

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

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

1.1 监控redis服务:

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

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

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

  • 方式二:自定义脚本创建监控项:

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界面添加监控项:

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

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

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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表