1. zabbix自定义监控项:
在上一节课中,我们通过添加模板,zabbix自动为我们创建了很多监控项,但是往往模板中的监控项并不能满足我们业务需要,我们时常需要自己根据业务需要创建一系列的监控项,也成为自定义监控项。
监控项:zabbix进行监控的一个指标,zabbix中称为item,它的值由独立的key进行识别 。
1.1 监控redis服务:
先在122客户端部署好redis,并且启动redis服务:
代码语言:txt复制yum install redis -y
systemctl start redis
- 方式一:利用zabbix自带的功能创建监控项:
监控项配置好后,可以点击最新数据看下:
- 方式二:自定义脚本创建监控项:
1.1.1 修改zabbix-agent的配置文件:
代码语言:txt复制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 客户端创建脚本:
代码语言:txt复制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 测试脚本:
一定要先测试脚本有没有问题,没有问题之后才能继续。而且,测试需要在客户端及服务端都进行测试!
代码语言:txt复制### 客户端测试
# 当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
代码语言:txt复制### 服务端测试:
# 当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系列将会持续更新。