blog.zhuohua.store's Archiver

admin 发表于 2020-8-10 01:41

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

去官网下载软件包:
[url=https://www.zabbix.com/cn/download_agents]https://www.zabbix.com/cn/download_agents[/url]
[attach]15046[/attach]
注释:区分系统内核版本的。

[attach]15047[/attach]


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



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

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


被监控主机查看本机的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
[color=Red]bash: ifconfig: 未找到命令[/color]
[root@ser1 ~]#
[root@ser1 ~]# yum -y install net-tools

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


被监控主机安装预编译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-[color=DarkRed]3.0[/color]-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=[color=Purple]ser1.zhuohua.com[/color]  ( 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
[color=Purple]lrwxrwxrwx.[/color] 1 root root 13 8月  11 01:40 /etc/rc.local -> rc.d/rc.local

[root@ser1 ~]# ll /etc/rc.d/rc.local
[color=Purple]-rw-r--r--.[/color] 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
[color=Purple]-rwxr-xr-x.[/color] 1 root root 521 1月  22 20:30 /etc/rc.d/rc.local



检测zabbix-agent的进程zabbix_agentd是否运行中:(运行时的效果)
[root@ser1 ~]# [color=Blue]ps aux | grep zabbix_agentd |grep -v grep[/color]
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 [color=Blue]$?[/color]
[color=Purple]0[/color]
[root@ser1 ~]#

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



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

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

[root@ser1 ~]# killall -9 [color=Blue]zabbix_agentd[/color]



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

[root@ser1 ~]# netstat -anp |grep [color=DarkRed]10050[/color]
[root@ser1 ~]#
[root@ser1 ~]# echo [color=Blue]$?[/color]
[color=Purple]1[/color]
[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 [color=Blue]> /dev/null[/color]
[root@ser1 ~]# echo [color=Blue]$?[/color]
[color=Purple]0[/color]
[root@ser1 ~]#


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


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


关闭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 [color=Blue]192.168.168.190[/color] -k proc.num[[color=DarkRed]zabbix_agentd[/color]]
[color=Purple]6[/color]

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





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

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

主机[color=Blue]c7[/color]添加成功:
[attach]21764[/attach]


给主机c7添加模板:(  Template OS Linux by Zabbix agent  )
[attach]21765[/attach]

主机c7添加模板成功:
[attach]21766[/attach]

[attach]21767[/attach]



###

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

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

查看CPU使用率:(可以选择时间范围)
[attach]21768[/attach]

[attach]21769[/attach]
注释:图形中的数据线是从右往左延伸的。

[attach]21770[/attach]


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



###

查看内存使用率:
[attach]21771[/attach]

[attach]21772[/attach]

[attach]21773[/attach]


被监控主机的内存使用率:
[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
[color=Purple]20[/color]



###

被监控主机的硬盘分区使用情况:
[color=Blue]lsblk
df -hT[/color]
[attach]21774[/attach]


查看根分区的使用情况:
[attach]21775[/attach]

[attach]21776[/attach]

可以看到根分区的大小、已使用量、使用率:
[attach]21777[/attach]



查看分区/var的使用情况:
[attach]21778[/attach]

[attach]21779[/attach]

可以看到分区/var的大小、已使用量、使用率:
[attach]21780[/attach]



###

查看System load:
[attach]21781[/attach]

[attach]21782[/attach]

[attach]21783[/attach]
注释:在这里可以看到被监控主机的CPU核心数。



查看主机c7的对应监控项“Number of CPUs”:
名称: [color=Blue]Number of CPUs[/color]
键值: [color=DarkRed]system.cpu.num[/color]
[attach]21784[/attach]
本页拖下去:
[attach]21785[/attach]


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














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

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


在被监控主机上创建测试文件:
[root@ser1 ~]# mkdir -p /Dir1
[root@ser1 ~]# cat /Dir1/file_1.txt
[color=Purple]Welcome to Zhuohua!!
Zabbix是一个开源的监控系统。[/color]
[root@ser1 ~]#
[root@ser1 ~]# ll /Dir1/file_1.txt
[color=Purple]-rw-r--r--.[/color] 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
[color=Purple]/opt/zabbix/zabbix_agentd.conf[/color]
[root@ser1 ~]#


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

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

插入:
UserParameter=[color=DarkRed]Check_file[/color],cat /Dir1/file_1.txt

如下图:
[attach]21786[/attach]


保存好配置文件后,重启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 [color=DarkRed]Check_file[/color]
[color=Purple]Welcome to Zhuohua!!
Zabbix是一个开源的监控系统。[/color]
[root@centos8 ~]#



######

在主机c7中创建监控项:( 监控被监控主机的文件/Dir1/file_1.txt里的内容 )
名称: [color=Blue]Item_check_file[/color]
键值: [color=DarkRed]Check_file[/color]
信息类型: 字符
更新间隔: 1m
[attach]21787[/attach]
本页拖下去:
[attach]21788[/attach]



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

插入表达式:( 监控项 [color=Blue]c7: Item_check_file[/color] )
[attach]21790[/attach]
注释:在触发器的表达式里使用[color=Blue]iregexp()[/color],关键字是不区分英文字母大小写的。

自动生成的表达式:(触发器的表达式要用到监控项中的键值;关键字为“Python”)
{c7:[color=DarkRed]Check_file[/color].iregexp([color=Sienna]Python[/color])}=1
[attach]21791[/attach]
本页拖下去:
[attach]21792[/attach]



###

测试:

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


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


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

[attach]21794[/attach]



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


在仪表板上的告警马上消失了,如下图:
[attach]21795[/attach]



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


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


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



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


在仪表板上的告警马上消失了,如下图:
[attach]21797[/attach]





######

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

表达式修改为:( 关键字为“Python”或“告警” )
{c7:Check_file.iregexp([color=Sienna]Python[/color])}=1 [color=Blue]or[/color] {c7:Check_file.iregexp("[color=Sienna]告警[/color]")}=1
[attach]21798[/attach]
本页拖下去:
[attach]21799[/attach]


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


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



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


在仪表板上的告警马上消失了,如下图:
[attach]21801[/attach]





######

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


[attach]21803[/attach]

[attach]21804[/attach]



查看主机c7的监控项“Item_check_file”的历史记录:
[attach]21805[/attach]

选择时间范围,查看主机c7的监控项“Item_check_file”的历史记录:
[attach]21806[/attach]

截图有省略:
[attach]21807[/attach]

[attach]21808[/attach]





相关文章:
[url=http://blog.zhuohua.store/viewthread.php?tid=212&page=1&extra=#pid213]最小化安装CentOS7.8[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=272&extra=page%3D1]Zabbix使用Agent监控CentOS7/Redhat7[/url]

[url=http://blog.zhuohua.store/viewthread.php?tid=382&extra=page%3D1]Zabbix监控Linux文件是否包含关键字[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=267&page=1&extra=#pid270]Zabbix使用Agent监控Windows2012R2[/url]

[url=http://blog.zhuohua.store/viewthread.php?tid=433&page=1&extra=#pid861]Zabbix使用预编译Agent监控CentOS6+Web监测[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=336&page=1&extra=#pid411]Zabbix创建模板监控Windows下的MariaDB[/url]

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.