zabbix客户端5.0

​zabbix实践​

agent2新版本采用golang语言开发的客户端

由于go语言开发,部署起来却什么简单

agent2默认是10050端口,也就是zabbix客户端的端口

# 旧版本客户端: zabbix-agent
# 新版本客户端: zabbix-agent2

部署 zabbix-agent2 安装 (在112,113这两台机器完成)

# 1、环境准备
172.16.1.112 zabbix-agent2
172.16.1.113 zabbix-agent2
# 2、时间同步
[root@zabbix yum.repos.d]# yum -y install ntpdate
[root@zabbix yum.repos.d]# crontab -l #加入定时任务
# 每5分钟时间同步一下
*/5 * * * * /usr/bin/ntpdate ntp.aliyun.com &> /dev/null
# 3、时区同步
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 4 获取zabbix官方源
[root@zabbix ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

# 5、修改配置源文件
[root@zabbix ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
[root@zabbix ~]# yum clean all

# 6、安装zabbix-agent2
[root@zabbix1 yum.repos.d]# yum install zabbix-agent2

# 7、查看配置文件
[root@zabbix1 yum.repos.d]# cat /etc/zabbix/zabbix_agent2.conf
[root@zabbix1 yum.repos.d]# ls -l /usr/sbin/zabbix_agent2
# 8、启动zabbix-agent
[root@zabbix1 yum.repos.d]# systemctl enable --now zabbix-agent2.service
# 9、检查是否启动
[root@zabbix1 yum.repos.d]# netstat -lntp |grep 10050
tcp6 0 0 :::10050 :::* LISTEN 8036/zabbix_agent2
# 10、配置文件修改
[root@zabbix1 yum.repos.d]# egrep -v '^$|^#' /etc/zabbix/zabbix_agent2.conf #zabbix1机器
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=172.16.1.111
ServerActive=172.16.1.111
Hostname=zabbix1
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
[root@zabbix2 yum.repos.d]# egrep -v '^$|^#' /etc/zabbix/zabbix_agent2.conf #zabbix2机器
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=172.16.1.111
ServerActive=172.16.1.111
Hostname=zabbix2
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
# 11、重新启动
[root@zabbix1 yum.repos.d]# systemctl restart zabbix-agent2.service

zabbix服务端测试连接

# 验证zabbix-agent连通性
[root@zabbix yum.repos.d]# yum install zabbix-get -y

[root@zabbix ~]# zabbix_get -s '172.16.1.112' -p 10050 -k 'agent.ping' #1代表成功
1
[root@zabbix ~]# zabbix_get -s '172.16.1.113' -p 10050 -k 'agent.ping'
1

zbabbix服务端乱码解决

# zabbix默认检测了服务端本身,但是编码有问题
[root@zabbix ~]# yum -y install wqy-microhei-fonts
# 复制字体
[root@zabbix ~]# \cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf


# 测试cpu测试
[root@zabbix2 ~]# while true;do echo 111;clear;sleep 1;done

自定义监控内容

自定义监控服务器登录的人数

需求:限制人数不超过三个,超过三个会发生报警信息

先从命令行角度

# 1、查看zabbix自带的监控key
[root@zabbix ~]# zabbix_get -s '192.168.15.113' -p 10050 -k 'agent.ping' #必须要用外网
1
[root@zabbix ~]# zabbix_get -s '192.168.15.113' -p 10050 -k 'system.uname'
Linux zabbix2 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64
[root@zabbix ~]# zabbix_get -s '192.168.15.112' -p 10050 -k 'vfs.fs.size[/boot,used]' #查看key值
170553344
[root@zabbix ~]# zabbix_get -s '192.168.15.113' -p 10050 -k 'login.user' #key未登记
ZBX_NOTSUPPORTED: Unknown metric login.user
=======================================================================
# zabbix客户端(113机器)
# 1、明确需要执行linux命令
[root@zabbix1 ~]# who |wc -l
1
# 2、手动创建zabbix的配置文件,用于自定义key
[root@zabbix1 ~]# cat /etc/zabbix/zabbix_agent2.conf
Include=/etc/zabbix/zabbix_agent2.d/*.conf
# 3、创建配置文件,以及内容如下
[root@zbz-agent01 zabbix_agent2.d]# cat /etc/zabbix/zabbix_agent2.d/userparameter_login.conf
UserParameter=login.user,who|wc -l
# UserParameter=login.user2,who|wc -l
# 4、启动服务
[root@zabbix2 ~]# systemctl restart zabbix-agent2.service

# 5、服务端查看(zabbix服务端)
[root@zabbix ~]# zabbix_get -s '192.168.15.113' -p 10050 -k 'login.user'
1