blog.zhuohua.store's Archiver

admin 发表于 2020-6-1 11:53

Zabbix使用Agent监控Linux的TCP+UDP端口

笺注:被监控主机的Agent的安装可以参考 [url=http://blog.zhuohua.store/viewthread.php?tid=271&extra=page%3D1]Zabbix使用Agent监控CentOS6/Redhat6[/url]


备注:这相当于在被监控主机上进行本地监控,所以被监控主机的防火墙可以不打开对应的TCP、UDP端口,只要启动对应的服务就可以了:
[root@zabbix_client ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Sat Feb  8 10:55:09 2020
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [3:324]
-A INPUT -p tcp -m tcp --dport 10050 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j [color=DarkRed]ACCEPT [/color]
-A INPUT -p tcp -m tcp --dport 3306 -j [color=DarkRed]DROP [/color]
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Sat Feb  8 10:55:09 2020
[root@zabbix_client ~]#



######

监控TCP端口:

在Zabbix服务器上使用命令zabbix_get进行远程检测:(端口对应的服务运行时的效果)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s [color=Blue]192.168.168.130[/color] -k net.tcp.listen[[color=DarkRed]80[/color]]
[color=Purple]1[/color]
[root@centos8 ~]#

[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k net.tcp.listen[[color=DarkRed]3306[/color]]
[color=Purple]1[/color]
[root@centos8 ~]#


在Zabbix服务器上使用命令zabbix_get进行远程检测:(端口对应的服务没有运行时的效果)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k net.tcp.listen[[color=DarkRed]80[/color]]
[color=Purple]0[/color]
[root@centos8 ~]#

[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k net.tcp.listen[[color=DarkRed]3306[/color]]
[color=Purple]0[/color]
[root@centos8 ~]#


[size=3]键值模板:
net.tcp.listen[port]       
检测 TCP端口 是否处于侦听状态。返回 0 - 未侦听;1 - 正在侦听[/size]



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

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


主机Linux_server_01添加成功:
[attach]21497[/attach]
注释:假如只是监控TCP、UDP端口是否处于侦听状态,主机可以使用模板,也可以不使用。



######

在主机[color=Blue]Linux_server_01[/color]中创建监控项:( 监控被监控主机的TCP 3306端口的侦听状态 )
自定义名称: [color=Blue]Check TCP Port 3306[/color]
键值: net.tcp.listen[[color=DarkRed]3306[/color]]
信息类型: 数字(无正负)
[attach]21498[/attach]
本页拖下去:
[attach]21499[/attach]



给主机[color=Blue]Linux_server_01[/color]的监控项“Check TCP Port 3306”创建触发器:(被监控主机的TCP 3306端口处于未侦听状态时就告警)
自定义名称: [color=Blue]TCP Port 3306 is down.[/color]
严重性: 严重
[attach]21500[/attach]

插入表达式:( 监控项 [color=Blue]Linux_server_01: Check TCP Port 3306[/color] )
[attach]21501[/attach]

自动生成的表达式:(触发器的表达式要用到监控项中的键值)
{Linux_server_01:[color=DarkRed]net.tcp.listen[3306][/color].last()}=0
[attach]21502[/attach]
本页拖下去:
[attach]21503[/attach]



######

测试:

被监控主机停止自己的MySQL服务:
[root@zabbix_client ~]# service mysql stop
[color=Purple]Shutting down MySQL. SUCCESS![/color]
[root@zabbix_client ~]#

[root@zabbix_client ~]# netstat -anp |grep [color=DarkRed]3306[/color]
[root@zabbix_client ~]#
[root@zabbix_client ~]# echo [color=Blue]$?[/color]
[color=Purple]1[/color]
[root@zabbix_client ~]#


当主机Linux_server_01的TCP 3306端口处于未侦听状态时,在仪表板上看到的效果:(显示对应触发器的名称)
[color=Blue]TCP Port 3306 is down.[/color]
[attach]21504[/attach]

[attach]21505[/attach]
笺注:当被监控主机的MySQL服务已停止时,对应的TCP 3306端口就处于未侦听状态。



被监控主机启动自己的MySQL服务:
[root@zabbix_client ~]# service mysql start
[color=Purple]Starting MySQL.. SUCCESS! [/color]
[root@zabbix_client ~]#

[root@zabbix_client ~]# netstat -anp |grep [color=DarkRed]3306[/color]
[color=Purple]tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      3734/mysqld [/color]
[root@zabbix_client ~]#
[root@zabbix_client ~]# echo [color=Blue]$?[/color]
[color=Purple]0[/color]
[root@zabbix_client ~]#


当主机Linux_server_01的TCP 3306端口处于侦听状态时,在仪表板上的告警会马上消失,如下图:
[attach]21506[/attach]
笺注:当被监控主机的MySQL服务正在运行时,对应的TCP 3306端口就处于侦听状态。



还可以给主机Linux_server_01的监控项“Check TCP Port 3306”创建图形:
[attach]21507[/attach]
监控项:( [color=Blue]Linux_server_01: Check TCP Port 3306[/color] )
[attach]21508[/attach]
注释:可以自定义图形的绘图风格、颜色等等。



查看主机Linux_server_01的图形“Check TCP Port 3306 image”:

监测》图形:
[attach]21509[/attach]

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

[attach]21511[/attach]














######

监控UDP端口:

在Zabbix服务器上使用命令zabbix_get进行远程检测:(端口对应的服务运行时的效果)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s [color=Blue]192.168.168.130[/color] -k net.udp.listen[[color=DarkRed]53[/color]]
[color=Purple]1[/color]
[root@centos8 ~]#

[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k net.udp.listen[[color=DarkRed]123[/color]]
[color=Purple]1[/color]
[root@centos8 ~]#


在Zabbix服务器上使用命令zabbix_get进行远程检测:(端口对应的服务没有运行时的效果)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k net.udp.listen[[color=DarkRed]53[/color]]
[color=Purple]0[/color]
[root@centos8 ~]#

[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k net.udp.listen[[color=DarkRed]123[/color]]
[color=Purple]0[/color]
[root@centos8 ~]#


[size=3]键值模板:
net.udp.listen[port]       
检测 UDP端口 是否处于侦听状态。返回 0 - 未侦听;1 - 正在侦听[/size]



在主机[color=Blue]Linux_server_01[/color]中创建监控项:( 监控被监控主机的UDP 123端口的侦听状态 )
自定义名称: [color=Blue]Check UDP Port 123[/color]
键值: net.udp.listen[[color=DarkRed]123[/color]]       
信息类型: 数字(无正负)
[attach]21512[/attach]
备注:
其他地方保持默认,点击页底“添加”按钮;



给主机[color=Blue]Linux_server_01[/color]的监控项“Check UDP Port 123”创建触发器:(被监控主机的UDP 123端口处于侦听状态时就告警)
自定义名称: [color=Blue]UDP Port 123 is up.[/color]
严重性: 一般严重
[attach]21513[/attach]

插入表达式:( 监控项 [color=Blue]Linux_server_01: Check UDP Port 123[/color] )
[attach]21514[/attach]

自动生成的表达式:(触发器的表达式要用到监控项中的键值)
{Linux_server_01:[color=DarkRed]net.udp.listen[123][/color].last()}=1
[attach]21515[/attach]
本页拖下去:
[attach]21516[/attach]



######

测试:

被监控主机启动自己的ntpd服务:
[root@zabbix_client ~]# service ntpd start
[color=Purple]正在启动 ntpd:[确定][/color]
[root@zabbix_client ~]#

netstat -anp |grep [color=DarkRed]123[/color]
[attach]21517[/attach]


当主机Linux_server_01的UDP 123端口处于侦听状态时,在仪表板上看到的效果:(显示对应触发器的名称)
[color=Blue]UDP Port 123 is up.[/color]
[attach]21518[/attach]

[attach]21519[/attach]
笺注:当被监控主机的ntpd服务正在运行时,对应的UDP 123端口就处于侦听状态。



被监控主机停止自己的ntpd服务:
[root@zabbix_client ~]# service ntpd stop
[color=Purple]关闭 ntpd:[确定][/color]
[root@zabbix_client ~]#
[root@zabbix_client ~]# netstat -anp |grep [color=DarkRed]123[/color]
[root@zabbix_client ~]#
[root@zabbix_client ~]# echo [color=Blue]$?[/color]
[color=Purple]1[/color]
[root@zabbix_client ~]#


当主机Linux_server_01的UDP 123端口处于未侦听状态时,在仪表板上的告警会马上消失,如下图:
[attach]21520[/attach]
笺注:当被监控主机的ntpd服务已停止时,对应的UDP 123端口就处于未侦听状态。



还可以给主机Linux_server_01的监控项“Check UDP Port 123”创建图形:
[attach]21521[/attach]
监控项:( [color=Blue]Linux_server_01: Check UDP Port 123[/color] )
[attach]21522[/attach]
注释:可以自定义图形的绘图风格、颜色等等。


查看主机Linux_server_01的图形“Check UDP Port 123 image”:

监测》图形:
[attach]21523[/attach]

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

[attach]21525[/attach]





相关文章:
[url=http://blog.zhuohua.store/viewthread.php?tid=390&page=1&extra=#pid773]Zabbix使用Agent监控Windows的TCP端口和服务状态[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=272&page=1&extra=#pid275]Zabbix使用Agent监控CentOS7/Redhat7[/url]

[url=http://blog.zhuohua.store/viewthread.php?tid=277&extra=page%3D1]DNS缓存域名服务器[/url]
[url=http://blog.zhuohua.store/viewthread.php?tid=284&extra=page%3D1]NTP服务器[/url]

页: [1]

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