Zabbix使用自编译/预编译Agent监控Oracle Linux6
被监控主机的信息:
[root@oracle-linux6 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.9 (Santiago)
[root@oracle-linux6 ~]#
[root@oracle-linux6 ~]# cat /etc/issue |head -1
Oracle Linux Server release 6.9
[root@oracle-linux6 ~]#
[root@oracle-linux6 ~]# uname -r
4.1.12-61.1.28.el6uek.x86_64
[root@oracle-linux6 ~]# hostname
oracle-linux6.9
[root@oracle-linux6 ~]# cat /etc/sysconfig/network |tail -1
HOSTNAME=oracle-linux6.9
[root@oracle-linux6 ~]# ifconfig eth1 |grep "inet addr" |awk '{print $2}' |awk -F: '{print $2}'
192.168.168.135
被监控主机查看本机的CPU信息(型号):
[root@oracle-linux6 ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
4 Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
[root@oracle-linux6 ~]#
被监控主机查看本机的物理CPU的个数:
[root@oracle-linux6 ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
1
[root@oracle-linux6 ~]#
被监控主机查看本机的CPU核心数:
[root@oracle-linux6 ~]# cat /proc/cpuinfo | grep "cpu cores" | wc -l
4
[root@oracle-linux6 ~]#
被监控主机查看本机的逻辑CPU的个数:(即CPU线程数量)
[root@oracle-linux6 ~]# cat /proc/cpuinfo | grep "processor" | wc -l
4
[root@oracle-linux6 ~]#
被监控主机安装依赖软件包:(Oracle Linux6使用本地光盘作为Yum源即可;但CentOS6要使用公网Yum源)
[root@oracle-linux6 ~]# yum -y install ntp gcc-c++ pcre*
被监控主机自编译安装Agent:
[root@oracle-linux6 ~]# useradd zabbix -s /sbin/nologin
[root@oracle-linux6 ~]# tar -zxf zabbix-4.4.5.tar.gz
[root@oracle-linux6 ~]# cd zabbix-4.4.5
[root@oracle-linux6 zabbix-4.4.5]# ./configure --prefix=/usr/local/zabbix-agent --enable-agent
[root@oracle-linux6 zabbix-4.4.5]# make && make install
被监控主机查找自己的Agent配置文件:
[root@oracle-linux6 ~]# find / -name 'zabbix_agentd.conf'
/usr/local/zabbix-agent/etc/zabbix_agentd.conf
/root/zabbix-4.4.5/conf/zabbix_agentd.conf
被监控主机修改自己的Agent配置文件:
[root@oracle-linux6 ~]# vi /usr/local/zabbix-agent/etc/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=oracle-linux6.9 ( Hostname of client system )
启动zabbix-agent:
[root@oracle-linux6 ~]# /usr/local/zabbix-agent/sbin/zabbix_agentd -c /usr/local/zabbix-agent/etc/zabbix_agentd.conf
开机自动启动zabbix-agent::
[root@oracle-linux6 ~]# vi /etc/rc.local
追加:
/usr/local/zabbix-agent/sbin/zabbix_agentd -c /usr/local/zabbix-agent/etc/zabbix_agentd.conf
检测zabbix-agent的进程zabbix_agentd是否运行中:(运行时的效果)
[root@oracle-linux6 ~]# ps -ef | grep zabbix_agentd |grep -v grep
zabbix 10900 1 0 10:17 ? 00:00:00 /usr/local/zabbix-agent/sbin/zabbix_agentd -c /usr/local/zabbix-agent/etc/zabbix_agentd.conf
zabbix 10901 10900 0 10:17 ? 00:00:00 /usr/local/zabbix-agent/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix 10902 10900 0 10:17 ? 00:00:00 /usr/local/zabbix-agent/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix 10903 10900 0 10:17 ? 00:00:00 /usr/local/zabbix-agent/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix 10904 10900 0 10:17 ? 00:00:00 /usr/local/zabbix-agent/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix 10905 10900 0 10:17 ? 00:00:00 /usr/local/zabbix-agent/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
[root@oracle-linux6 ~]#
[root@oracle-linux6 ~]# echo $?
0
[root@oracle-linux6 ~]#
zabbix-agent使用TCP 10050端口:
[root@oracle-linux6 ~]# netstat -anp |grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 10900/zabbix_agentd
[root@oracle-linux6 ~]#
[root@oracle-linux6 ~]# echo $?
0
[root@oracle-linux6 ~]#
记得添加防火墙规则:(打开TCP 10050端口)
iptables -I INPUT -p tcp --dport 10050 -j ACCEPT
iptables-save > /etc/sysconfig/iptables
关闭SELinux:
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
######
在Zabbix服务器上测试,验证能否远程获取被监控主机(192.168.168.135)的key:
显示被监控主机的主机名:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k "system.hostname"
oracle-linux6.9
显示被监控主机的Zabbix Agent的版本:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k "agent.version"
4.4.5
显示被监控主机的CPU核心数:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k "system.cpu.num"
4
################## Zabbix添加被监控主机:
配置》主机》创建主机:(主机名称无需与被监控主机的真实主机名一致;群组可以随便选;IP地址那里要输入被监控主机的IP地址;端口为10050)
页面太长,紧接的是下半部分:
主机Oracle 6添加成功:
给主机Oracle 6添加模板:( Template OS Linux by Zabbix agent )
模板添加成功:
###
查看模板Template OS Linux by Zabbix agent自带的图形:(要等一段时间才会出现)
监测》图形:
查看CPU usage:(每个图形都要单独选择时间范围)
查看System load:
注释:在这里可以看到被监控主机的CPU核心数。
被监控主机的硬盘分区情况:
lsblk
df -hTP
查看根分区的使用情况:
可以看到根分区的大小(49.09GB)、已使用量(1.45GB)、使用率(2.95%):
在Zabbix服务器上使用命令zabbix_get检测被监控主机的根分区的大小:(以字节为单位)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k "vfs.fs.size[/,total]"
52710469632
在Zabbix服务器上使用命令zabbix_get检测被监控主机的根分区的已使用量:(以字节为单位)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k "vfs.fs.size[/,used]"
1554370560
在Zabbix服务器上使用命令zabbix_get检测被监控主机的根分区的使用率:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k "vfs.fs.size[/,pused]"
3.108161
查看分区/boot的使用情况:
可以看到分区/boot的大小(476.22MB)、已使用量(73.51MB)、使用率(15.44%):
在Zabbix服务器上使用命令zabbix_get检测被监控主机的分区/boot的大小:(以字节为单位)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k "vfs.fs.size[/boot,total]"
499355648
在Zabbix服务器上使用命令zabbix_get检测被监控主机的分区/boot的已使用量:(以字节为单位)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k "vfs.fs.size[/boot,used]"
77082624
在Zabbix服务器上使用命令zabbix_get检测被监控主机的分区/boot的使用率:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k "vfs.fs.size[/boot,pused]"
16.437387
模板Template OS Linux by Zabbix agent自带的监控分区/boot的大小的监控项:
名称: /boot: Total space
键值: vfs.fs.size[/boot,total]
单位: B
本页拖下去:
备注:
使用单位“B”时,结果在单位换算时会每超过1024就除以1024,保留两位小数,是四舍五入;
模板Template OS Linux by Zabbix agent自带的监控分区/boot的已使用量的监控项:
名称: /boot: Used space
键值: vfs.fs.size[/boot,used]
单位: B
本页拖下去:
模板Template OS Linux by Zabbix agent自带的监控分区/boot的使用率的监控项:
名称: /boot: Space utilization
键值: vfs.fs.size[/boot,pused]
单位: %
本页拖下去:
模板Template OS Linux by Zabbix agent自带的的监控分区/boot的使用情况的图形:
名称: /boot: Disk space usage
监控项:
1: Oracle 6: /boot: Total space
2: Oracle 6: /boot: Used space
注释:
图形“/boot: Disk space usage”中的获取使用率的计算公式是:
“/boot: Used space”/“/boot: Total space”*100
而非监控项“/boot: Space utilization”的键值的返回值
######
给主机Oracle 6的分区/boot的已使用量的监控项“/boot: Used space”创建触发器:(分区/boot的已使用量大于100MB时告警)
自定义名称: Used /boot space > 100MB
严重性: 一般严重
插入表达式:( 监控项 Oracle 6: /boot: Used space )
自动生成的表达式:
{Oracle 6:vfs.fs.size[/boot,used].last()}>100M
备注:
触发器的表达式要用到监控项中的键值;
本页拖下去:
当主机Oracle 6的分区/boot的已使用量大于100MB时,仪表板上会出现如下告警:(显示对应触发器的名称)
Used /boot space > 100MB
在主机Oracle 6的图形“/boot: Disk space usage”上没有看到有触发器,但可以动态看到监控项“/boot: Used space”的返回值的变化:
再次,在Zabbix服务器上使用命令zabbix_get检测被监控主机的分区/boot的已使用量:(以字节为单位)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k "vfs.fs.size[/boot,used]"
106151936
当主机Oracle 6的分区/boot的已使用量小于或等于100MB时,仪表板上的告警会自动消失,如下图:
再次,查看主机Oracle 6的图形“/boot: Disk space usage”上监控项“/boot: Used space”的返回值的变化:
再次,在Zabbix服务器上使用命令zabbix_get检测被监控主机的分区/boot的已使用量:(以字节为单位)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k "vfs.fs.size[/boot,used]"
96368640
############
############
被监控主机自编译安装Agent时留下的关键文件:
[root@oracle-linux6 ~]# cd /usr/local/zabbix-agent/sbin/
[root@oracle-linux6 sbin]# ll
总用量 1380
-rwxr-xr-x. 1 root root 1412963 11月 26 10:09 zabbix_agentd
[root@oracle-linux6 sbin]#
[root@oracle-linux6 ~]# cd /usr/local/zabbix-agent/etc/
[root@oracle-linux6 etc]# ll zabbix_agentd.conf
-rw-r--r--. 1 root root 11632 11月 26 10:16 zabbix_agentd.conf
[root@oracle-linux6 etc]#
笺注:
把以上两个文件放到操作系统一样的新服务器上,就不用重新进行自编译了,可以直接使用预编译Agent。
###
新的被监控主机安装预编译Agent:
[root@oracle-linux6 ~]# hostname
oracle-linux6.9_2
[root@oracle-linux6 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=oracle-linux6.9_2
[root@oracle-linux6 ~]# adduser zabbix -s /sbin/nologin
[root@oracle-linux6 ~]# mv -f zabbix_agentd /usr/sbin/
[root@oracle-linux6 ~]# chmod a+x /usr/sbin/zabbix_agentd
[root@oracle-linux6 ~]# ll /usr/sbin/zabbix_agentd
-rwxr-xr-x. 1 root root 1412963 11月 26 10:09 /usr/sbin/zabbix_agentd
[root@oracle-linux6 ~]# mkdir -p /opt/zabbix/
[root@oracle-linux6 ~]# mv -f zabbix_agentd.conf /opt/zabbix/
[root@oracle-linux6 ~]# ll /opt/zabbix/zabbix_agentd.conf
-rw-r--r--. 1 root root 11632 11月 26 10:16 /opt/zabbix/zabbix_agentd.conf
被监控主机修改自己的Agent配置文件:
[root@oracle-linux6 ~]# 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=oracle-linux6.9_2 ( Hostname of client system )
检测zabbix-agent的进程zabbix_agentd是否运行中:(没有运行时的效果)
[root@oracle-linux6 ~]# ps -ef | grep zabbix_agentd |grep -v grep
[root@oracle-linux6 ~]# echo $?
1
[root@oracle-linux6 ~]#
[root@oracle-linux6 ~]# netstat -anp |grep 10050
[root@oracle-linux6 ~]# echo $?
1
[root@oracle-linux6 ~]#
启动zabbix-agent:
[root@oracle-linux6 ~]# zabbix_agentd -c /opt/zabbix/zabbix_agentd.conf
开机自动启动zabbix-agent::
[root@oracle-linux6 ~]# vi /etc/rc.local
追加:
zabbix_agentd -c /opt/zabbix/zabbix_agentd.conf
检测zabbix-agent的进程zabbix_agentd是否运行中:(运行时的效果)
[root@oracle-linux6 ~]# ps -ef | grep zabbix_agentd |grep -v grep
zabbix 2332 1 0 08:58 ? 00:00:00 zabbix_agentd -c /opt/zabbix/zabbix_agentd.conf
zabbix 2333 2332 0 08:58 ? 00:00:00 zabbix_agentd: collector [idle 1 sec]
zabbix 2334 2332 0 08:58 ? 00:00:00 zabbix_agentd: listener #1 [waiting for connection]
zabbix 2335 2332 0 08:58 ? 00:00:00 zabbix_agentd: listener #2 [waiting for connection]
zabbix 2336 2332 0 08:58 ? 00:00:00 zabbix_agentd: listener #3 [waiting for connection]
zabbix 2337 2332 0 08:58 ? 00:00:00 zabbix_agentd: active checks #1 [idle 1 sec]
[root@oracle-linux6 ~]# echo $?
0
[root@oracle-linux6 ~]#
[root@oracle-linux6 ~]# netstat -anp |grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 2332/zabbix_agentd
[root@oracle-linux6 ~]# echo $?
0
[root@oracle-linux6 ~]#
重启zabbix-agent:
killall -9 zabbix_agentd
zabbix_agentd -c /opt/zabbix/zabbix_agentd.conf
记得添加防火墙规则:(打开TCP 10050端口)
iptables -I INPUT -p tcp --dport 10050 -j ACCEPT
iptables-save > /etc/sysconfig/iptables
关闭SELinux:
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
######
在Zabbix服务器上测试,验证能否远程获取被监控主机(192.168.168.135)的key:
显示被监控主机的主机名:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k "system.hostname"
oracle-linux6.9_2
显示被监控主机的系统信息:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.135 -k "system.uname"
Linux oracle-linux6.9_2 4.1.12-61.1.28.el6uek.x86_64 #2 SMP Thu Feb 23 20:03:53 PST 2017 x86_64
笺注:
被监控主机使用自编译Agent或预编译Agent的效果其实是一样的。
相关文章:
Zabbix使用预编译Agent监控CentOS6+Web监测
Zabbix使用Agent监控Oracle Linux6
CentOS8编译安装Zabbix4.4.5
Zabbix使用自编译/预编译Agent监控Ubuntu18.04.5
Zabbix5.0.12_使用Agent监控CentOS6(自编译) |