zabbix客户端配置和自定义key设定

一、安装zabbix的客户端
还是用阿里的yum源,在安装时一定要保证server端的版本和agent端的版本一致。
(1)、配置yum源

~]# vim /etc/yum.repos.d/zabbix.repo
[zabbix]
name=aliyun - zabbix - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/$basearch/
enabled=1
gpgcheck=0

执行~]# yum mackecache #清理缓存
(2)、安装zabbix-agent

~]# yum -y install zabbix-agent

(3)、修改配置文件

~]# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1,192.168.1.159		#这里是server端IP
ServerActive=127.0.0.1,192.168.1.159	#同上
Hostname=server5	#主机名
Include=/opt/zabbix-key/*.conf	#加载的自定义key文件路劲,可自定义
UnsafeUserParameters=1	#是否开启自定义key,默认0,关闭
EnableRemoteCommands=1	#允许执行远程命令

(4)、创建自定义key,首先创建配置问件中定义的路劲目录

~]# mkdir /opt/zabbix-key	
~]# cd /opt/zabbix-key/
zabbix-key]# vim key.conf	#创建自定义key文件,因为配置文件中定义过,所以以.conf结尾即可
UserParameter=server5.httpd,bash /opt/zabbix-key/key-sh/httpd.sh
#key的格式UserParameter=key名,定义key值命令或脚本(这里产生的值将会定义到key中),脚本写绝对路径,我这里是执行的脚本

创建监控脚本,服务运行正常输出0,不正常输出1

zabbix-key]# mkdir key-sh  #创建专门用于存放key脚本的目录,可自定义
zabbix-key]# vim key-sh/httpd.sh	
#!/bin/bash
server=httpd
PID=`ps -ef | grep $server | sed -n '2p' | awk '{print $2}'`
#提取服务进程的pid
if [ "$PID" = "" ]; then
#判断服务的pid是否存在,pid不为空,则输出0,服务正常运行,反之则输出1,服务挂机。
        echo "1"
else
        echo "0"
fi

定义好key以后,需要重启zabbix-agent服务

~]# systemctl restart zabbix-agent

测试key是否成功,在server服务器

~]# zabbix_get -s 192.168.1.79 -k server5.httpd
格式:使用zabbix_get命令 -s 指定agent端IP -k 指定key名
0	#返回值为0,服务是正常的

报错
-bash: zabbix_get: command not found(这是没有zabbix_get这个命令)

~]# zabbix_get -s 192.168.0.197 -k redis151-service1
-bash: zabbix_get: command not found

解决方案

~]# yum -y install zabbix-get.x86_64
~]# zabbix_get -s 192.168.0.197 -k redis151-service1
0
zabbix_get -s 192.168.1.79 -k server79.mysql
Cannot open netlink socket: Permission denied

这里可能是你的selinux没有关闭

/]# setenforce 0     #关闭selinux即可

提示权限不够也是selinux没有关闭

~]# zabbix_get -s 192.168.1.211 -k 211-a
sh: /home/zabbix/server1.sh: 权限不够

永久关闭selinux

sed -i 's/SELINUXTYPE=targeted/SELINUXTYPE=disabled/g' /etc/selinux/config

selinux的三种模式
enforcing:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。
permissive:宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。
disabled:关闭 SELinux。

你可能感兴趣的:(学习)