返回列表 发帖

Zabbix使用SNMP监控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 eth0 |grep "inet addr" |awk '{print $2}' |awk -F: '{print $2}'
192.168.168.135


被监控主机安装软件包:
[root@oracle-linux6 ~]# yum -y install net-snmp lm_sensors


安装后,查看SNMP的版本( snmpd -v
图片1.png
2020-12-19 21:54



修改被监控主机的SNMP配置文件 /etc/snmp/snmpd.conf

sed -i 's/access  notConfigGroup ""      any       noauth    exact  systemview none none/access  notConfigGroup ""      any       noauth    exact  all none none/g' /etc/snmp/snmpd.conf

################# 192.168.168.154为Zabbix服务器的IP地址
sed -i 's/com2sec notConfigUser  default       public/com2sec notConfigUser  192.168.168.154       zhuohua/g' /etc/snmp/snmpd.conf

#################
echo 'view all    included  .1                               80' >> /etc/snmp/snmpd.conf



[root@oracle-linux6 ~]# vi /etc/snmp/snmpd.conf

自定义SNMP Community: zhuohua
图片2.png
2020-12-19 21:55


SNMP Version:( 支持v1、v2c )
图片3.png
2020-12-19 21:55


SNMP OID:
图片4.png
2020-12-19 21:56


也可以同时允许两台监控服务器进行SNMP数据的采集:
图片5.png
2020-12-19 21:56




启用snmpd服务:
service snmpd start
chkconfig --level 35 snmpd on


防火墙配置:(打开UDP 161端口)
iptables -I INPUT -p udp --dport 161 -j ACCEPT
iptables-save > /etc/sysconfig/iptables


关闭SELinux:
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config




######

在Zabbix服务器上检测与被监控主机的SNMP连通性:

[root@centos8 ~]# yum -y install net-snmp-utils net-snmp-libs net-snmp

查看被监控主机的启动了多久:(IP地址后面的是SNMP OID
[root@centos8 ~]# snmpwalk -v 2c -c zhuohua 192.168.168.135 .1.3.6.1.2.1.25.1.1
HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (203844) 0:33:58.44

注释:SNMP Community为zhuohua,要与被监控主机的SNMP Community保持一致。


不可以访问时:
[root@centos8 ~]# snmpwalk -v 2c -c zhuohua 192.168.168.135
Timeout: No Response from 192.168.168.135






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

Zabbix创建主机:

配置〉〉主机〉〉创建主机(主机名称无需与被监控主机的真实主机名一致;群组可以随便选)
图片6.png
2020-12-19 21:57


备注:移除agent代理程序的接口
图片7.png
2020-12-19 21:58


使用SNMP接口:( 指明被监控主机的IP地址;端口为UDP 161 )
图片8.png
2020-12-19 21:58


本页拖下去:
图片9.png
2020-12-19 21:58



主机添加成功:
图片10.png
2020-12-19 21:58




主机的“继承以及主机宏”:
图片11.png
2020-12-19 21:59


注释:
{$SNMP_COMMUNITY}的可用值默认为public
即:
SNMP Community默认为public


由于被监控主机的SNMP Community不是默认的public
所以要在主机c6上添加一个主机宏:
{$SNMP_COMMUNITY}
值为被监控主机上的SNMP团体名称zhuohua
图片12.png
2020-12-19 22:00




给主机c6添加模板:( Template OS Linux SNMPv2  )
图片13.png
2020-12-19 22:00



监控成功:
图片14.png
2020-12-19 22:01


图片15.png
2020-12-19 22:01





###

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

监测》图形

CPU使用率:
图片16.png
2020-12-19 22:01


图片17.png
2020-12-19 22:01


图片18.png
2020-12-19 22:02




Systemc load:
图片19.png
2020-12-19 22:02


图片20.png
2020-12-19 22:02


这里可以看到被监控主机的CPU核心数:
图片21.png
2020-12-19 22:02




内存使用率:
图片22.png
2020-12-19 22:03


图片24.png
2020-12-19 22:03


图片25.png
2020-12-19 22:03




被监控主机的内存使用情况:
图片26.png
2020-12-19 22:04



图片27.png
2020-12-19 22:04


图片28.png
2020-12-19 22:04


图片29.png
2020-12-19 22:04




被监控主机的交换分区(Swap)的使用情况:
图片30.png
2020-12-19 22:05



图片31.png
2020-12-19 22:05


图片32.png
2020-12-19 22:05


图片33.png
2020-12-19 22:05




网卡流量:
图片34.png
2020-12-19 22:05


图片35.png
2020-12-19 22:06


图片36.png
2020-12-19 22:06


单位:
bps: 比特/秒
Kbps: 千比特/秒
Mbps: 兆比特/秒



第一块硬盘的读写速度:
图片37.png
2020-12-19 22:06


图片38.png
2020-12-19 22:07


图片39.png
2020-12-19 22:07



第一块硬盘的读写速度的相关监控项: (来源于模板Template OS Linux SNMPv2)
sda: Disk read rate
图片40.png
2020-12-19 22:07


注释:这里用到了宏{$SNMP_COMMUNITY}


在Zabbix服务器上检测SNMP OID:
[root@centos8 ~]# snmpwalk -v 2c -c zhuohua 192.168.168.135 1.3.6.1.4.1.2021.13.15.1.1.5.26
UCD-DISKIO-MIB::diskIOReads.26 = Counter32: 4199



第一块硬盘的读写速度的相关监控项:
sda: Disk write rate
图片41.png
2020-12-19 22:08


注释:这里用到了宏{$SNMP_COMMUNITY}


在Zabbix服务器上检测SNMP OID:
[root@centos8 ~]# snmpwalk -v 2c -c zhuohua 192.168.168.135 1.3.6.1.4.1.2021.13.15.1.1.6.26
UCD-DISKIO-MIB::diskIOWrites.26 = Counter32: 308

备注:模板Template OS Linux SNMPv2没有相关的硬盘读写速度触发器。





被监控主机的硬盘分区情况:
图片42.png
2020-12-19 22:09



/home分区的使用情况:
图片43.png
2020-12-19 22:10


图片44.png
2020-12-19 22:10


可以看到/home分区的大小、已使用量、使用率:
图片45.png
2020-12-19 22:10



根分区使用情况:
图片46.png
2020-12-19 22:10


图片47.png
2020-12-19 22:11


可以看到根分区的大小、已使用量、使用率:
图片48.png
2020-12-19 22:11



根分区使用率的监控项:
名称: /: Space utilization
键值: vfs.fs.pused[storageUsedPercentage.31]
图片49.png
2020-12-19 22:11


备注:根分区的使用率默认是没有触发器的。



给根分区的使用率添加一个新的触发器:(根分区的使用率超过2%后告警)
名称: /: Used space is bigger than 2%
严重性: 一般严重
图片50.png
2020-12-19 22:12


插入表达式:( 监控项 c6:/: Space utilization
图片51.png
2020-12-19 22:13


自动生成的表达式:(触发器的表达式要用到监控项中的键值)
{c6:vfs.fs.pused[storageUsedPercentage.31].last()}>2
图片52.png
2020-12-19 22:13


本页拖下去:
图片53.png
2020-12-19 22:13



当被监控主机的根分区的使用率超过2%后,仪表板会如下图显示:(显示触发器的名称)
/: Used space is bigger than 2%
图片54.png
2020-12-19 22:14


图片55.png
2020-12-19 22:14










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

给主机c6添加模板Template App HTTPS Service
注释:监控HTTPS服务,HTTPS的默认端口为TCP 443
图片56.png
2020-12-19 22:15



确认模板 Template App HTTPS Service 已添加成功
图片57.png
2020-12-19 22:15



模板Template App HTTPS Service自带的监控项:
名称: HTTPS service is running
键值: net.tcp.service[https]
图片58.png
2020-12-19 22:15



模板 Template App HTTPS Service 自带的触发器:
名称: HTTPS service is down on {HOST.NAME}
严重性: 一般严重
表达式: {c6:net.tcp.service[https].max(#3)}=0
图片59.png
2020-12-19 22:16

注释:触发器的表达式要用到监控项中的键值。






######

被监控主机配置SSL

笺注:
以下生成一对自定义的SSL证书,方法与生成的证书,在Apache和Nginx是通用的。

安装Apache服务:
[root@oracle-linux6 ~]# yum -y install httpd*

启动Apache:
[root@oracle-linux6 ~]# service httpd start
[root@oracle-linux6 ~]# chkconfig --level 35 httpd on

[root@oracle-linux6 ~]# cd /etc/httpd/conf/
[root@oracle-linux6 conf]# openssl genrsa -des3 -out tmp.key
Generating RSA private key, 1024 bit long modulus
.....++++++
...................++++++
e is 65537 (0x10001)
Enter pass phrase for tmp.key: #输入自定义的密码
Verifying - Enter pass phrase for tmp.key: #重复输入自定义的密码

把tmp.key转换成zhuohua.key:
[root@oracle-linux6 conf]# openssl rsa -in tmp.key -out zhuohua.key
Enter pass phrase for tmp.key: #输入自定义的密码
writing RSA key

[root@oracle-linux6 conf]# rm -rf tmp.key

生成CSR文件:
[root@oracle-linux6 conf]# openssl req -new -key zhuohua.key -out zhuohua.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:zhuohua
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456
An optional company name []:


生成CRT证书文件:
[root@oracle-linux6 conf]# openssl x509 -req -days 365 -in zhuohua.csr  -signkey zhuohua.key -out zhuohua.crt
Signature ok
subject=/C=XX/L=Default City/O=Default Company Ltd/CN=zhuohua
Getting Private key


密钥对生成了:
[root@oracle-linux6 conf]# pwd
/etc/httpd/conf
[root@oracle-linux6 conf]# ll zhuohua.*
-rw-r--r--. 1 root root 798 8月  12 06:37 zhuohua.crt
-rw-r--r--. 1 root root 655 8月  12 06:34 zhuohua.csr
-rw-r--r--. 1 root root 887 8月  12 06:32 zhuohua.key


防火墙配置:(打开TCP 443)
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables-save > /etc/sysconfig/iptables


需要安装openssl和Apache的SSL模块:
[root@oracle-linux6 ~]# yum -y install openssl mod_ssl

可以了:
[root@oracle-linux6 ~]# find / -name "*ssl.conf"
/etc/httpd/conf.d/ssl.conf



修改Apache的配置文件:(Apache的默认网站使用SSL)
[root@oracle-linux6 ~]# vi /etc/httpd/conf/httpd.conf

#ServerName www.example.com:80
修改为:
ServerName www.example.com:443


添加以下代码:
SSLEngine on
SSLCertificateFile /etc/httpd/conf/zhuohua.crt
SSLCertificateKeyFile /etc/httpd/conf/zhuohua.key


效果如下图:
图片60.png
2020-12-19 22:18



修改配置文件后,须要重启一下Apache:
[root@oracle-linux6 ~]# service httpd restart
停止 httpd:[确定]
正在启动 httpd:[确定]



客户端测试被监控主机的HTTPS服务:
https://192.168.168.135/
图片61.png
2020-12-19 22:18




如果被监控主机的TCP 443端口不能用了,仪表板会如下图显示:(显示触发器的名称)
HTTPS service is down on c6
图片62.png
2020-12-19 22:19


图片63.png
2020-12-19 22:19


备注:
假如被监控主机的HTTPS服务没有开启,或者防火墙的TCP 443端口没有打开都会触发此触发器。




相关文章:
Oracle Linux6.9的安装
Zabbix使用SNMP监控CentOS6/Redhat6
Apache2.2域名跳转+防盗链+SSL

返回列表