返回列表 发帖

Zabbix使用Agent监控CentOS8/Redhat8

笺注:被监控主机是在 CentOS8_安装与配置邮件服务器(Postfix+Dovecot) 的基础上进行的。


被监控主机的信息:
[root@redhat8 ~]# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)
[root@redhat8 ~]#
[root@redhat8 ~]# uname -r
4.18.0-193.el8.x86_64

[root@redhat8 ~]# hostname
redhat8.zhuohua.store
[root@redhat8 ~]# cat /etc/hostname
redhat8.zhuohua.store


被监控主机查看本机的CPU信息(型号):
[root@redhat8 ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
      8  Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
[root@redhat8 ~]#

被监控主机查看本机的物理CPU的个数:
[root@redhat8 ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
2
[root@redhat8 ~]#

被监控主机查看本机的CPU核心数:
[root@redhat8 ~]# cat /proc/cpuinfo | grep "cpu cores" | wc -l
8
[root@redhat8 ~]#

被监控主机查看本机的逻辑CPU的个数:(即CPU线程数量)
[root@redhat8 ~]# cat /proc/cpuinfo | grep "processor" | wc -l
8
[root@redhat8 ~]#


被监控主机查看本机的网卡的IP地址:
[root@redhat8 ~]# ifconfig ens160 |grep netmask |awk '{print $2}'
192.168.168.155



下载CentOS8/Redhat8的zabbix-agent:https://pan.baidu.com/s/16A8QaZlwhIxWJP8AAlAmWA  提取码:giyg

被监控主机安装zabbix-agent:
[root@redhat8 ~]# rpm -ivh zabbix-agent-4.4.5-2.el8.x86_64.rpm


确认zabbix-agent安装成功:
[root@redhat8 ~]# rpm -q zabbix-agent
zabbix-agent-4.4.5-2.el8.x86_64


被监控主机上会自动创建一个组zabbix:
[root@redhat8 ~]# cat /etc/group |tail -1
zabbix:x:989:

被监控主机上会自动创建一个用户zabbix:
[root@redhat8 ~]# tail -1 /etc/passwd
zabbix:x:992:989:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin


查看zabbix-agent的相关文件、目录:
[root@redhat8 ~]# rpm -ql zabbix-agent
/etc/logrotate.d/zabbix-agent
/etc/zabbix/zabbix_agentd.conf
/etc/zabbix/zabbix_agentd.d
/usr/lib/.build-id
/usr/lib/.build-id/15
/usr/lib/.build-id/15/d3681c5cc79192dadb48940892a23c858c0fdc
/usr/lib/systemd/system/zabbix-agent.service
/usr/lib/tmpfiles.d/zabbix-agent.conf
/usr/sbin/zabbix_agentd
/usr/share/doc/zabbix-agent
/usr/share/doc/zabbix-agent/AUTHORS
/usr/share/doc/zabbix-agent/COPYING
/usr/share/doc/zabbix-agent/ChangeLog
/usr/share/doc/zabbix-agent/NEWS
/usr/share/doc/zabbix-agent/README
/usr/share/doc/zabbix-agent/userparameter_mysql.conf
/usr/share/man/man8/zabbix_agentd.8.gz
/var/log/zabbix
/var/run/zabbix
[root@redhat8 ~]#


被监控主机修改自己的Agent配置文件:
[root@redhat8 ~]# vi /etc/zabbix/zabbix_agentd.conf

Server=127.0.0.1
修改为:
Server=192.168.168.154  ( Zabbix server ip )

ServerActive=127.0.0.1
修改为:
ServerActive=192.168.168.154  ( Zabbix server ip )

Hostname=Zabbix server
修改为:
Hostname=redhat8.zhuohua.store  ( Hostname of client system )


保存好配置文件后,启动zabbix-agent:
[root@redhat8 ~]# systemctl start zabbix-agent
[root@redhat8 ~]#

开机自动启动zabbix-agent:
[root@redhat8 ~]# systemctl enable zabbix-agent
Created symlink /etc/systemd/system/multi-user.target.wants/zabbix-agent.service → /usr/lib/systemd/system/zabbix-agent.service.

确认开机自动启动zabbix-agent:
[root@redhat8 ~]# systemctl is-enabled zabbix-agent
enabled


检测zabbix-agent的进程zabbix_agentd是否运行中:(运行时的效果)
[root@redhat8 ~]# pgrep -l zabbix_agentd
10713 zabbix_agentd
10715 zabbix_agentd
10716 zabbix_agentd
10717 zabbix_agentd
10718 zabbix_agentd
10719 zabbix_agentd

[root@redhat8 ~]# echo $?
0


停止zabbix-agent:
[root@redhat8 ~]# systemctl stop zabbix-agent
[root@redhat8 ~]#


检测进程zabbix_agentd是否运行中:(关闭时的效果)
[root@redhat8 ~]# pgrep -l zabbix_agentd
[root@redhat8 ~]#
[root@redhat8 ~]# echo $?
1


重启zabbix-agent:
[root@redhat8 ~]# systemctl restart zabbix-agent
[root@redhat8 ~]#
[root@redhat8 ~]# pgrep -l zabbix_agentd
10753 zabbix_agentd
10754 zabbix_agentd
10755 zabbix_agentd
10756 zabbix_agentd
10757 zabbix_agentd
10758 zabbix_agentd

[root@redhat8 ~]#
[root@redhat8 ~]# echo $?
0



添加防火墙(Firewalld)规则: (打开TCP 10050端口)
[root@redhat8 ~]# firewall-cmd --zone=public --add-port=10050/tcp --permanent
success
[root@redhat8 ~]# firewall-cmd --reload
success
[root@redhat8 ~]#


查看Firewalld的配置文件:
[root@redhat8 ~]# cat /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="cockpit"/>
  <port port="25" protocol="tcp"/>
  <port port="110" protocol="tcp"/>
  <port port="143" protocol="tcp"/>
  <port port="10050" protocol="tcp"/>
</zone>
[root@redhat8 ~]#



系统默认是启动了SELinux:
[root@redhat8 ~]# getenforce
Enforcing
[root@redhat8 ~]#

查看SELinux的配置文件:
[root@redhat8 ~]# cat /etc/selinux/config |grep -v ^$ |grep -v ^#
SELINUX=enforcing
SELINUXTYPE=targeted
[root@redhat8 ~]#


关闭SELinux:
[root@redhat8 ~]# setenforce 0
[root@redhat8 ~]#
[root@redhat8 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@redhat8 ~]#


确认SELinux已经关闭:
[root@redhat8 ~]# getenforce
Permissive
[root@redhat8 ~]#

再次,查看SELinux的配置文件:
[root@redhat8 ~]# cat /etc/selinux/config |grep -v ^$ |grep -v ^#
SELINUX=disabled
SELINUXTYPE=targeted
[root@redhat8 ~]#


######

在Zabbix服务器上测试,验证能否远程获取被监控主机(192.168.168.155)的key:

显示被监控主机的主机名:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k "system.hostname"
redhat8.zhuohua.store

显示被监控主机的Zabbix Agent的版本:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k "agent.version"
4.4.5



被监控主机停止本机的Dovecot:
[root@redhat8 ~]# systemctl stop dovecot
[root@redhat8 ~]#
[root@redhat8 ~]# pgrep -l dovecot
[root@redhat8 ~]# echo $?
1


在Zabbix服务器上使用命令zabbix_get检测被监控主机的进程是否运行中:(Dovecot的进程dovecot没有运行时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k "proc.num[dovecot]"
0

在Zabbix服务器上使用命令zabbix_get检测被监控主机的TCP端口是否处于侦听状态:(TCP 110端口没有处于侦听状态时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k "net.tcp.listen[110]"
0

在Zabbix服务器上使用命令zabbix_get检测被监控主机的TCP端口是否处于侦听状态:(TCP 143端口没有处于侦听状态时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k "net.tcp.listen[143]"
0



被监控主机启动本机的Dovecot:
[root@redhat8 ~]# systemctl start dovecot
[root@redhat8 ~]#

[root@redhat8 ~]# pgrep -l dovecot
1836 dovecot
[root@redhat8 ~]# echo $?
0


在Zabbix服务器上使用命令zabbix_get检测被监控主机的进程是否运行中:(Dovecot的进程dovecot正在运行时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k "proc.num[dovecot]"
1

在Zabbix服务器上使用命令zabbix_get检测被监控主机的TCP端口是否处于侦听状态:(TCP 110端口处于侦听状态时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k "net.tcp.listen[110]"
1

在Zabbix服务器上使用命令zabbix_get检测被监控主机的TCP端口是否处于侦听状态:(TCP 143端口处于侦听状态时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k "net.tcp.listen[143]"
1





################## Zabbix添加被监控主机:

配置》主机》创建主机:(主机名称可以与被监控主机的真实主机名一致;群组可以随便选;IP地址那里要输入被监控主机的IP地址;端口为10050)
图片1.png
页面太长,紧接的是下半部分:
图片2.png

主机redhat8.zhuohua.store添加成功:
图片3.png


给主机redhat8.zhuohua.store添加模板:( Template OS Linux by Zabbix agent  )
图片4.png

模板添加成功:
图片5.png

图片6.png



###

查看模板Template OS Linux by Zabbix agent自带的图形:(要等一段时间才会出现)

监测》图形:

查看CPU使用率:(每个图形都要单独选择时间范围)
图片7.png

图片8.png

图片9.png



查看进程数:
图片10.png

图片11.png

图片12.png



查看内存使用率:
图片13.png

图片14.png

图片15.png



查看网卡流量:
图片16.png

图片17.png

图片18.png
单位:
bps: 比特/秒
Kbps: 千比特/秒
Mbps: 兆比特/秒



查看System load:
图片19.png

图片20.png

图片21.png
注释:
在这里可以看到被监控主机的CPU负载值;
在这里可以看到被监控主机的CPU核心数;


在被监控主机上查看本机的CPU的负载值:
[root@redhat8 ~]# uptime
15:02:19 up  4:41,  1 user,  load average: 0.28, 0.07, 0.02
[root@redhat8 ~]#


在Zabbix服务器上使用命令zabbix_get检测被监控主机的CPU核心数:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k "system.cpu.num"
8


在Zabbix服务器上使用命令zabbix_get检测被监控主机的CPU每1分钟的负载值:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k "system.cpu.load[percpu,avg1]"
0.035000

在Zabbix服务器上使用命令zabbix_get检测被监控主机的CPU每5分钟的负载值:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k "system.cpu.load[percpu,avg5]"
0.008750

在Zabbix服务器上使用命令zabbix_get检测被监控主机的CPU每15分钟的负载值:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k "system.cpu.load[percpu,avg15]"
0.002500

笺注:在Zabbix服务器上使用命令zabbix_get所获得的CPU负载值与在被监控主机上使用命令uptime所获得的并不同,是分别除以主机的CPU核心数的结果;



被监控主机的硬盘分区情况:
lsblk
df -hTP

图片22.png


查看根分区的使用情况:
图片23.png

图片24.png

可以看到根分区的大小(75.76GB)、已使用量(4.25GB)、使用率(5.60%):
图片25.png


查看分区/boot的使用情况:
图片26.png

图片27.png

可以看到分区/boot的大小(189.68MB)、已使用量(140.54MB)、使用率(74.09%):
图片28.png



查看第一块硬盘的读写速度:( nvme0n1: Disk read/write rates )
图片29.png

图片30.png

图片31.png



模板Template OS Linux by Zabbix agent自带的监控硬盘读写速度的触发器:
名称: nvme0n1: Disk read/write request responses are too high (read > {$VFS.DEV.READ.AWAIT.WARN:"nvme0n1"} ms for 15m or write > {$VFS.DEV.WRITE.AWAIT.WARN:"nvme0n1"} ms for 15m)
严重性: 警告
表达式: {redhat8.zhuohua.store:vfs.dev.read.await[nvme0n1].min(15m)} > {$VFS.DEV.READ.AWAIT.WARN:"nvme0n1"} or {redhat8.zhuohua.store:vfs.dev.write.await[nvme0n1].min(15m)} > {$VFS.DEV.WRITE.AWAIT.WARN:"nvme0n1"}
图片32.png
本页面拖下去:(默认就是已启用)
图片33.png



######

模板Template OS Linux by Zabbix agent自带的监控CPU使用率的监控项:
名称: CPU utilization
键值: system.cpu.util
单位: %
图片34.png
本页面拖下去:(默认就是已启用)
图片35.png


模板Template OS Linux by Zabbix agent自带的监控CPU使用率的触发器:(CPU使用率持续5分钟超过90%时告警)
名称: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)
严重性: 警告
表达式: {redhat8.zhuohua.store:system.cpu.util.min(5m)}>{$CPU.UTIL.CRIT}
图片36.png
本页面拖下去:(默认就是已启用)
图片37.png

注释:
{$CPU.UTIL.CRIT}是主机redhat8.zhuohua.store继承模板Template OS Linux by Zabbix agent的宏:
图片38.png
注释:可用值默认就是90,可以自定义。



######

模板Template OS Linux by Zabbix agent自带的监控内存使用率的监控项:
名称: Memory utilization
键值: vm.memory.size[pavailable]
单位: %
图片39.png
本页面拖下去:(默认就是已启用)
图片40.png


模板Template OS Linux by Zabbix agent自带的监控内存使用率的触发器:(内存使用率持续5分钟超过90%时告警)
名称: High memory utilization ( >{$MEMORY.UTIL.MAX}% for 5m)
严重性: 一般严重
表达式: {redhat8.zhuohua.store:vm.memory.size[pavailable].min(5m)}>{$MEMORY.UTIL.MAX}
图片41.png
本页面拖下去:(默认就是已启用)
图片42.png

注释:
{$MEMORY.UTIL.MAX}是主机redhat8.zhuohua.store继承模板Template OS Linux by Zabbix agent的宏:
图片43.png
注释:可用值默认就是90,可以自定义。





######

模板Template OS Linux by Zabbix agent自带的监控系统运行时长的监控项:
名称: System uptime
键值: system.uptime
单位: uptime
图片44.png
本页面拖下去:(默认就是已启用)
图片45.png


模板Template OS Linux by Zabbix agent自带的监控系统运行时长的触发器:
名称: {HOST.NAME} has been restarted (uptime < 10m)
严重性: 警告
表达式: {redhat8.zhuohua.store:system.uptime.last()}<10m
图片46.png
注释:
{HOST.NAME} 是预定义变量,为当前主机的名称;

本页面拖下去:(默认就是已启用)
图片47.png


给主机redhat8.zhuohua.store的“系统运行时长”创建图形:
自定义名称: Uptime_image
图片48.png
监控项 redhat8.zhuohua.store:System uptime
图片49.png
注释:可以自定义图形的绘画风格、颜色等等。


查看主机redhat8.zhuohua.store的图形“Uptime_image”:
图片50.png

图片51.png
注释:图形中的数据线是从右往左延伸的。

图片52.png
注释:
这样就可以看到主机redhat8.zhuohua.store的系统有多长时间没有重启过。


在Zabbix服务器上使用命令zabbix_get检测被监控主机的“系统运行时长”:(单位为秒)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k "system.uptime"
20835


如果被监控主机重启了,仪表板会显示如下告警:(此告警10分钟后自动消失)
redhat8.zhuohua.store has been restarted (uptime < 10m)
图片53.png

图片54.png


被监控主机重启后,再次查看主机redhat8.zhuohua.store的图形“Uptime_image”:
图片55.png

图片56.png

图片57.png


再次,在Zabbix服务器上使用命令zabbix_get检测被监控主机的“系统运行时长”:(单位为秒)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10050 -k system.uptime
273



############

模板Template OS Linux by Zabbix agent自带“不可用”的触发器:
名称: Zabbix agent is not available (for {$AGENT.TIMEOUT})
严重性: 一般严重
表达式: {redhat8.zhuohua.store:zabbix[host,agent,available].max({$AGENT.TIMEOUT})}=0
图片58.png
本页面拖下去:(默认就是已启用)
图片59.png

笺注:
{$AGENT.TIMEOUT}是主机redhat8.zhuohua.store继承模板Template OS Linux by Zabbix agent的宏:
图片60.png
注释: 3m 是指3分钟。





############
############

以下是把被监控主机的zabbix-agent的端口号从默认的TCP 10050改为TCP 10060


被监控主机修改自己的Agent配置文件:

[root@redhat8 ~]# vi /etc/zabbix/zabbix_agentd.conf

# ListenPort=10050
修改为:
ListenPort=10060


保存好配置文件后,重启zabbix-agent:
[root@redhat8 ~]# systemctl restart zabbix-agent
[root@redhat8 ~]#


添加防火墙(Firewalld)规则: (打开TCP 10060端口)
[root@redhat8 ~]# firewall-cmd --zone=public --add-port=10060/tcp --permanent
success
[root@redhat8 ~]# firewall-cmd --reload
success
[root@redhat8 ~]#


再次,查看Firewalld的配置文件:
[root@redhat8 ~]# cat /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <service name="cockpit"/>
  <port port="25" protocol="tcp"/>
  <port port="110" protocol="tcp"/>
  <port port="143" protocol="tcp"/>
  <port port="10050" protocol="tcp"/>
  <port port="10060" protocol="tcp"/>
</zone>
[root@redhat8 ~]#



######

在Zabbix服务器上测试,验证能否远程获取被监控主机(192.168.168.155)的key:

显示被监控主机的主机名:(要使用端口TCP 10060)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.155 -p10060 -k "system.hostname"
redhat8.zhuohua.store


此时,Zabbix服务器会认为主机redhat8.zhuohua.store已经不可用了,会触发模板Template OS Linux by Zabbix agent自带的触发器“Zabbix agent is not available (for {$AGENT.TIMEOUT})”,仪表板会显示如下告警:(显示对应触发器的名称)
Zabbix agent is not available (for 3m)
图片61.png

图片62.png



配置》主机:
修改主机redhat8.zhuohua.store的“agent代理程序的接口”的端口为10060:
图片63.png
本页面拖下去:
图片64.png


主机redhat8.zhuohua.store的“agent代理程序的接口”的端口成功改为10060:
图片65.png

图片66.png

备注:
至此,主机redhat8.zhuohua.store的触发器“Zabbix agent is not available (for {$AGENT.TIMEOUT})”会自动消除告警,仪表板上的告警会自动消失。





############
############

被监控主机卸载zabbix-agent:
[root@redhat8 ~]# rpm -e zabbix-agent
警告:/etc/zabbix/zabbix_agentd.conf 已另存为 /etc/zabbix/zabbix_agentd.conf.rpmsave
[root@redhat8 ~]#

卸载成功:
[root@redhat8 ~]# rpm -q zabbix-agent
未安装软件包 zabbix-agent
[root@redhat8 ~]#


文档和软件适用于Redhat8、CentOS8





相关文章:
最小化安装CentOS8

Zabbix使用Agent监控Windows2008R2

Zabbix使用Agent监控CentOS6/Redhat6
Zabbix使用Agent监控Oracle Linux6





#################################
#################################
亲,学习研究也要劳逸结合哦,来我微店逛逛,买点东西好好犒劳犒劳自己和家人吧^_^^_^

正品飞科电动剃须刀FS868全身水洗充电式男士电动胡须刮胡刀
bai.png

飞科剃须刀正品FS370电动递刮胡刀男士充电式剃须刀胡须刀剃须刀
dan.png

飞科正品男士电动剃须刀FS876充电式刮胡刀即插即用刮胡剃须刀
shuang.png

返回列表