1.在被监控主机上配置zabbix-agent
1.获取zabbix官方源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 替换阿里源,这一步很重要
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#更新yum源
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#清除缓存
yum clean all
2.安装agent2
yum install zabbix-agent2 -y
3.配置文件了解
默认配置文件为 /etc/zabbix/zabbix_agent2.conf
默认二进制文件为 /usr/sbin/zabbix_agent2
4.启动agent2且开机自启
systemctl enable --now zabbix-agent2
5.检查端口
[root@zbz-agent01 ~]# netstat -tunlp|grep zabbix
tcp6 0 0 :::10050 :::* LISTEN 1236/zabbix_agent2
6.查看systemctl管理的单元文件
[root@zbz-agent01 ~]# cat /lib/systemd/system/zabbix-agent2.service
7.修改agent2配置文件,修改如下,填写zabbix-server主机ip和主机名
[root@zbz-agent01 ~]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=10.0.1.50 #指定 zabbix 服务器的 IP 地址
ServerActive=10.0.1.50 #开启主动模式,主动检查本主机的数据发送给 Zabbix Server
Hostname=zbz-agent01
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
8.重启agent2
[root@zbz-agent01 ~]# systemctl restart zabbix-agent2
2.测试连通性(在server上)
[root@zabbix-server01 alternatives]# yum install zabbix-get -y
[root@zabbix-server01 alternatives]# zabbix_get -s '10.0.1.51' -p 10050 -k "agent.ping"
1
[root@zabbix-server01 alternatives]# zabbix_get -s '10.0.1.51' -p 10050 -k "system.hostname"
zbz-agent01
3.添加监控主机
1.主机名称代表zabbix-server监控主机的名称
2.群组表示添加的主机在哪个组里面,如果你选择一个不存在的群组,那么zabbix将会自动建立这个群组
3.端口处表示通过哪个ip地址以及dns来监控主机,默认是agent的种类,agent的端口默认是10050
可以在主机群组中查看添加主机时创建的主机组和成员信息
节点添加之后没有任何的状态,因为该节点没有设置任何的监控项,如果设置了监控项,就会定期的去搜集数据
4.添加监控项
选择要添加监控项的主机点击监控项,然后点击创建监控项
1.名称表示监控项的名字
2.键值表示的就是监控的内容,监控的内容是以key:value的形式存储的。
system.cpu.load[all,avg1],system.cpu.load表示的就是键,后面的[all,avg1],表示的就是system.cpu.load键读取的监控数据的内容。
我们这里面设置的监控的键表示系统cpu1分钟的平均负载。
3.主机接口就保持默认,由于我们是在监控节点的位置添加的监控项,所以这个监控项的主机接口默认也是创建该主机
的agent接口
4.信息类型,由于我们选择的是cpu过去一分钟平均的负载,所以我们选择浮点类型的信息
5.更新间隔就是获取监控数据的周期,单位有s,m,h,d,表示秒,分钟,小时,天。
一般情况下,更新间隔应该尽量的设置小,但是如果设置的太小,频繁的读取数据,会对zabbix-server和zabbix-db造成过多的性能消耗。具体
间隔时间应该设置的多小,取决该数据实时性的重要程度。
我们可以进行监控项数据测试
如果你想看一下负载的变化,你可以手工提高cpu的使用率
cat /dev/zero >> /dev/null &
关闭手工提高cpu负载的命令
pkill cat
5.设置监控的图形
监控图形的数据来源取决于监控项,如果你没有监控项,那么你就没有数据来源,由于我们之前已经设置了一个监控项,所以我们才可以添加监控图形。
解决中文图形中文乱码问题
Zabbix的web端没有中文字库,导致切换到中文页面,中文成了乱码这个问题,我们最需要把中文字库加上即可。
/安装中文字体
[root@zabbix_server]# yum -y install wqy-microhei-fonts.noarch
/查看下载好的中文字体
[root@zabbix_server]# ls /usr/share/fonts/wqy-microhei/wqy-microhei.ttc
/查看原本的字库
[root@zabbix_server]# ls /usr/share/zabbix/assets/fonts/
graphfont.ttf
/备份原本的字库
[root@zabbix_server]# mv /usr/share/zabbix/assets/fonts/graphfont.ttf /usr/share/zabbix/assets/fonts/graphfont.ttf.bak
/复制下载好的中文字体
[root@zabbix_server]# cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf
把设置的监控图形加到仪表盘
6.设置监控项的触发器
触发器(triggers),对监控项设置一个触发器,用我们通俗一点的叫法就叫做设置阈值。触发器就是当监控项监控到的数据到达某个值,触发的那个机器(触发的那个点)。
修改纵轴为 固定值1,方便观察图形
手工提升zabbix-db的cpu负载,然后观察触发器报警
cat /dev/zero >> /dev/null &
cat /dev/zero >> /dev/null &
cat /dev/zero >> /dev/null &
##如果你开启了前端报警,那么web界面就会出现报警
#关闭手动提高cpu负载
pkill cat
当触发器检测到监控项的值降下来后,会自动变为已解决
也可以将这个触发器应用到别的主机或主机群组上