返回列表 发帖

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)
图片1.png
页面太长,紧接的是下半部分:
图片2.png

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


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

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

图片6.png



###

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

监测》图形:

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

图片8.png

图片9.png



查看System load:
图片10.png

图片11.png

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



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

图片13.png


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

图片15.png

可以看到根分区的大小(49.09GB)、已使用量(1.45GB)、使用率(2.95%):
图片16.png


在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的使用情况:
图片17.png

图片18.png

可以看到分区/boot的大小(476.22MB)、已使用量(73.51MB)、使用率(15.44%):
图片19.png


在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
图片20.png
本页拖下去:
图片21.png
备注:
使用单位“B”时,结果在单位换算时会每超过1024就除以1024,保留两位小数,是四舍五入;


模板Template OS Linux by Zabbix agent自带的监控分区/boot的已使用量的监控项:
名称: /boot: Used space
键值: vfs.fs.size[/boot,used]
单位: B
图片22.png
本页拖下去:
图片23.png


模板Template OS Linux by Zabbix agent自带的监控分区/boot的使用率的监控项:
名称: /boot: Space utilization
键值: vfs.fs.size[/boot,pused]
单位: %
图片24.png
本页拖下去:
图片25.png



模板Template OS Linux by Zabbix agent自带的的监控分区/boot的使用情况的图形:
名称: /boot: Disk space usage
监控项:         
1:         Oracle 6: /boot: Total space        
2:         Oracle 6: /boot: Used space
图片26.png
注释:
图形“/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
严重性: 一般严重
图片27.png

插入表达式:( 监控项 Oracle 6: /boot: Used space )
图片28.png

自动生成的表达式:
{Oracle 6:vfs.fs.size[/boot,used].last()}>100M
图片29.png
备注:
触发器的表达式要用到监控项中的键值;

本页拖下去:
图片30.png


当主机Oracle 6的分区/boot的已使用量大于100MB时,仪表板上会出现如下告警:(显示对应触发器的名称)
Used /boot space > 100MB
图片31.png

图片32.png


在主机Oracle 6的图形“/boot: Disk space usage”上没有看到有触发器,但可以动态看到监控项“/boot: Used space”的返回值的变化:
图片33.png


再次,在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时,仪表板上的告警会自动消失,如下图:
图片34.png


再次,查看主机Oracle 6的图形“/boot: Disk space usage”上监控项“/boot: Used space”的返回值的变化:
图片35.png


再次,在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(自编译)

返回列表