返回列表 发帖

Zabbix使用预编译Agent监控CentOS7+监控文件内容

去官网下载软件包:
https://www.zabbix.com/cn/download_agents
图片1.png
注释:区分系统内核版本的。

图片2.png


笺注:
被监控主机使用预编译Agent或RPM包Agent的效果其实是一样的。




被监控主机的信息:
[root@ser1 ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
[root@ser1 ~]#
[root@ser1 ~]# uname -r
3.10.0-1127.el7.x86_64

[root@ser1 ~]# hostname
ser1.zhuohua.com
[root@ser1 ~]# cat /etc/hostname
ser1.zhuohua.com


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

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

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

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


被监控主机查看本机的网卡的IP地址:
[root@ser1 ~]# ifconfig
bash: ifconfig: 未找到命令
[root@ser1 ~]#
[root@ser1 ~]# yum -y install net-tools

[root@ser1 ~]# ifconfig ens33 |grep netmask |awk '{print $2}'
192.168.168.190


被监控主机安装预编译Agent:
[root@ser1 ~]# adduser zabbix -s /sbin/nologin

[root@ser1 ~]# mkdir -p /root/zabbix_dir

[root@ser1 ~]#  tar -zxvf zabbix_agent-4.4.5-linux-3.0-amd64-static.tar.gz -C /root/zabbix_dir

[root@ser1 ~]# cd /root/zabbix_dir

[root@ser1 zabbix_dir]# cp bin/* /usr/bin/

[root@ser1 zabbix_dir]# cp sbin/* /usr/sbin

[root@ser1 zabbix_dir]# chmod a+x /usr/bin/zabbix_*

[root@ser1 zabbix_dir]# chmod a+x /usr/sbin/zabbix_*

[root@ser1 zabbix_dir]# mkdir -p /opt/zabbix/

[root@ser1 zabbix_dir]# cp conf/zabbix_agentd.conf /opt/zabbix/



被监控主机修改自己的Agent配置文件:
[root@ser1 ~]# vi /opt/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=ser1.zhuohua.com  ( Hostname of client system )



保存好配置文件后,启动zabbix-agent:
[root@ser1 ~]# zabbix_agentd -c /opt/zabbix/zabbix_agentd.conf
[root@ser1 ~]#


开机自动启动zabbix-agent::
[root@ser1 ~]# vi /etc/rc.local
追加:
zabbix_agentd -c /opt/zabbix/zabbix_agentd.conf


[root@ser1 ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 8月  11 01:40 /etc/rc.local -> rc.d/rc.local

[root@ser1 ~]# ll /etc/rc.d/rc.local
-rw-r--r--. 1 root root 521 1月  22 20:30 /etc/rc.d/rc.local

笺注:
/etc/rc.local 是 /etc/rc.d/rc.local 的链接文件;
/etc/rc.local  的默认权限是777
/etc/rc.d/rc.local  的默认权限是644

若不先给予/etc/rc.d/rc.local执行的权限,CentOS7/8不会开机自动执行/etc/rc.local里的命令:
[root@ser1 ~]# chmod a+x /etc/rc.d/rc.local
[root@ser1 ~]#
[root@ser1 ~]# ll /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 521 1月  22 20:30 /etc/rc.d/rc.local



检测zabbix-agent的进程zabbix_agentd是否运行中:(运行时的效果)
[root@ser1 ~]# ps aux | grep zabbix_agentd |grep -v grep
zabbix     1139  0.0  0.0  11492   508 ?        S    20:12   0:00 zabbix_agentd -c /opt/zabbix/zabbix_agentd.conf
zabbix     1140  0.0  0.0  11492   748 ?        S    20:12   0:00 zabbix_agentd: collector [idle 1 sec]
zabbix     1141  0.0  0.0  11492   432 ?        S    20:12   0:00 zabbix_agentd: listener #1 [waiting for connection]
zabbix     1142  0.0  0.0  11492   432 ?        S    20:12   0:00 zabbix_agentd: listener #2 [waiting for connection]
zabbix     1143  0.0  0.0  11492   432 ?        S    20:12   0:00 zabbix_agentd: listener #3 [waiting for connection]
zabbix     1144  0.0  0.0  11492   664 ?        S    20:12   0:00 zabbix_agentd: active checks #1 [idle 1 sec]
[root@ser1 ~]# echo $?
0
[root@ser1 ~]#

zabbix-agent使用TCP 10050端口:
[root@ser1 ~]# netstat -anp |grep 10050
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      1139/zabbix_agentd  
[root@ser1 ~]# echo $?
0
[root@ser1 ~]#



结束zabbix-agent的进程zabbix_agentd:(等于停止zabbix-agent)
[root@ser1 ~]# killall
bash: killall: 未找到命令

[root@ser1 ~]# yum -y install psmisc

[root@ser1 ~]# killall -9 zabbix_agentd



检测zabbix-agent的进程zabbix_agentd是否运行中:(没有运行时的效果)
[root@ser1 ~]# ps aux | grep zabbix_agentd |grep -v grep
[root@ser1 ~]#
[root@ser1 ~]# echo $?
1
[root@ser1 ~]#

[root@ser1 ~]# netstat -anp |grep 10050
[root@ser1 ~]#
[root@ser1 ~]# echo $?
1
[root@ser1 ~]#



再次启动zabbix-agent:
[root@ser1 ~]# zabbix_agentd -c /opt/zabbix/zabbix_agentd.conf
[root@ser1 ~]#
[root@ser1 ~]# ps aux | grep zabbix_agentd |grep -v grep > /dev/null
[root@ser1 ~]# echo $?
0
[root@ser1 ~]#


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


查看防火墙所有打开的端口:
[root@ser1 ~]# firewall-cmd --zone=public --list-ports
10050/tcp


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



######

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

检测被监控主机的zabbix-agent的进程zabbix_agentd是否运行中:(运行时的效果)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.190 -k proc.num[zabbix_agentd]
6

检测被监控主机的zabbix-agent的端口的侦听状态:(TCP 10050端口处于侦听状态时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.190 -k net.tcp.listen[10050]
1





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

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

主机c7添加成功:
图片3.png


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

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

图片6.png



###

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

监测》图形:(查看主机c7的图形)

查看CPU使用率:(可以选择时间范围)
图片7.png

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

图片9.png


被监控主机的CPU使用率:
[root@ser1 ~]# CPU_use_percent=$(expr 100 - $(vmstat -w |tail -1 |awk '{print $15}'))
[root@ser1 ~]#
[root@ser1 ~]# echo $CPU_use_percent
0



###

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

图片11.png

图片12.png


被监控主机的内存使用率:
[root@ser1 ~]# Mem_total=`free -m |head -2 |tail -1 |awk '{print $2}'`
[root@ser1 ~]# Mem_available=`free -m |head -2 |tail -1 |awk '{print $7}'`
[root@ser1 ~]# Mem_used=$(expr $Mem_total - $Mem_available)
[root@ser1 ~]# Mem_use_percent=$(expr $Mem_used \* 100 / $Mem_total)
[root@ser1 ~]# echo $Mem_use_percent
20



###

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

图片13.png


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

图片15.png

可以看到根分区的大小、已使用量、使用率:
图片16.png



查看分区/var的使用情况:
图片17.png

图片18.png

可以看到分区/var的大小、已使用量、使用率:
图片19.png



###

查看System load:
图片20.png

图片21.png

图片22.png
注释:在这里可以看到被监控主机的CPU核心数。



查看主机c7的对应监控项“Number of CPUs”:
名称: Number of CPUs
键值: system.cpu.num
图片23.png
本页拖下去:
图片24.png


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














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

以下是监控被监控主机的某个文件的内容里是否包含关键字。


在被监控主机上创建测试文件:
[root@ser1 ~]# mkdir -p /Dir1
[root@ser1 ~]# cat /Dir1/file_1.txt
Welcome to Zhuohua!!
Zabbix是一个开源的监控系统。

[root@ser1 ~]#
[root@ser1 ~]# ll /Dir1/file_1.txt
-rw-r--r--. 1 root root 61 11月  5 23:24 /Dir1/file_1.txt
[root@ser1 ~]#

注释:系统用户zabbix对此文件有读取的权限就够了。



修改被监控主机的Agent配置文件:
[root@ser1 ~]# find / -name zabbix_agentd.conf
/root/zabbix_dir/conf/zabbix_agentd.conf
/opt/zabbix/zabbix_agentd.conf
[root@ser1 ~]#


[root@ser1 ~]# vi /opt/zabbix/zabbix_agentd.conf

# UnsafeUserParameters=0
修改为:(启用该功能)
UnsafeUserParameters=1

插入:
UserParameter=Check_file,cat /Dir1/file_1.txt

如下图:
图片25.png


保存好配置文件后,重启zabbix-agent:
killall -9 zabbix_agentd
zabbix_agentd -c /opt/zabbix/zabbix_agentd.conf



######

在Zabbix服务器测试,验证能否远程获取被监控主机(192.168.168.190)的自定义键值:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.190 -k Check_file
Welcome to Zhuohua!!
Zabbix是一个开源的监控系统。

[root@centos8 ~]#



######

在主机c7中创建监控项:( 监控被监控主机的文件/Dir1/file_1.txt里的内容 )
名称: Item_check_file
键值: Check_file
信息类型: 字符
更新间隔: 1m
图片26.png
本页拖下去:
图片27.png



给主机c7的监控项“Item_check_file”创建触发器:( 被监控主机的文件/Dir1/file_1.txt的内容里包含关键字“Python”时就告警 )
名称: The key is exit in /Dir1/file_1.txt,Value: {ITEM.VALUE}
严重性: 警告
图片28.png
注释: {ITEM.VALUE} 是预定义变量,即触发状态时监控项的值。

插入表达式:( 监控项 c7: Item_check_file
图片29.png
注释:在触发器的表达式里使用iregexp(),关键字是不区分英文字母大小写的。

自动生成的表达式:(触发器的表达式要用到监控项中的键值;关键字为“Python”)
{c7:Check_file.iregexp(Python)}=1
图片30.png
本页拖下去:
图片31.png



###

测试:

在被监控主机上修改文件/Dir1/file_1.txt的内容:
[root@ser1 ~]# cat /Dir1/file_1.txt
Welcome to Python!!
Zabbix是一个开源的监控系统。


在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件/Dir1/file_1.txt里的内容:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.190 -k Check_file
Welcome to Python!!
Zabbix是一个开源的监控系统。


在仪表板上可以看到如下的告警:(显示对应触发器的名称)
The key is exit in /Dir1/file_1.txt,Value: Welcome to Python!! Zabbix是一个开源的监控系统。
图片32.png

图片33.png



再次,在被监控主机上修改文件/Dir1/file_1.txt的内容:
[root@ser1 ~]# cat /Dir1/file_1.txt
Welcome to Tom!!
Zabbix是一个开源的监控系统。



在仪表板上的告警马上消失了,如下图:
图片34.png



再次,在被监控主机上修改文件/Dir1/file_1.txt的内容:
[root@ser1 ~]# cat /Dir1/file_1.txt
Welcome to python!!
Zabbix是一个开源的监控系统。


在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件/Dir1/file_1.txt里的内容:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.190 -k "Check_file"
Welcome to python!!
Zabbix是一个开源的监控系统。


在仪表板上可以看到如下的告警:(显示对应触发器的名称)
The key is exit in /Dir1/file_1.txt,Value: Welcome to python!! Zabbix是一个开源的监控系统。
图片35.png



再次,在被监控主机上修改文件/Dir1/file_1.txt的内容:
[root@ser1 ~]# cat /Dir1/file_1.txt
Welcome to Zhuohua!!
Zabbix是一个开源的监控系统,可以发现一些告警信息。



在仪表板上的告警马上消失了,如下图:
图片36.png





######

修改主机c7的触发器“The key is exit in /Dir1/file_1.txt,Value: {ITEM.VALUE}”:( 被监控主机的文件/Dir1/file_1.txt的内容里包含关键字“Python”或“告警”时就告警 )

表达式修改为:( 关键字为“Python”或“告警” )
{c7:Check_file.iregexp(Python)}=1 or {c7:Check_file.iregexp("告警")}=1
图片37.png
本页拖下去:
图片38.png


在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件/Dir1/file_1.txt里的内容:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.190 -k "Check_file"
Welcome to Zhuohua!!
Zabbix是一个开源的监控系统,可以发现一些告警信息。


在仪表板上可以看到如下的告警:(显示对应触发器的名称)
The key is exit in /Dir1/file_1.txt,Value: Welcome to Zhuohua!! Zabbix是一个开源的监控系统,可以发现一些告警信息。
图片39.png



再次,在被监控主机上修改文件/Dir1/file_1.txt的内容:
[root@ser1 ~]# cat /Dir1/file_1.txt
Welcome to Zhuohua!!
Zabbix是一个开源的监控系统,可以发现一些错误信息。


在仪表板上的告警马上消失了,如下图:
图片40.png





######

监测》最新数据:(查看主机c7的监控项“Item_check_file”的当前值)
根据监控项的名称使用过滤器进行定位:(可以输入关键字进行模糊查询)
图片41.png


图片42.png

图片43.png



查看主机c7的监控项“Item_check_file”的历史记录:
图片44.png

选择时间范围,查看主机c7的监控项“Item_check_file”的历史记录:
图片45.png

截图有省略:
图片46.png

图片47.png





相关文章:
最小化安装CentOS7.8
Zabbix使用Agent监控CentOS7/Redhat7

Zabbix监控Linux文件是否包含关键字
Zabbix使用Agent监控Windows2012R2

Zabbix使用预编译Agent监控CentOS6+Web监测
Zabbix创建模板监控Windows下的MariaDB

返回列表