在实际使用中,通常我们会对一些端口进行监控,比如nginx,mariadb,php等。要完成一个端口监控是简单容易的。
net.tcp.listen[80]
如上,既可对tcp 80获取状态,而后配置Triggeres做告警处理即可
{HOST.NAME} nginx is not running {nginx_80_port:net.tcp.listen[80].last()}<>1 Enabled
但是,现在。我要说的并不是这个。在一个环境中一般来讲会有负载均衡和HA冗余,就不能避免的要使用VIP,顾名思义就是虚拟IP。通过操作虚拟IP的飘逸来完成故障后的IP上业务的切换。通常而言,每个VIP都会伴随一个端口。如: lvs,haproxy,nginx。
创建模板
1,Configuration->Templates->Create template
输入名称即可。如:Template App Telnet VIP
2,并且Create application ,如:Telnet VIP
3,创建Items
type: Simple check
为什么是Simple check,而不是telent?
相比较telnet与 Simple check,后者要比前者好用的多,在我看来,不需要写脚本,简单配置就能够完成我们需求。所以,我们这里仍然使用的是: net.tcp.service。推荐阅读官网的service_check_details与simple_checks
Key: net.tcp.service[tcp,10.10.195.99,9200]
意思为:获取10.10.10.195.99ip地址的tcp 9200端口状态
在Applications中选择Telnet VIP
除此之外,创建Triggers
创建Triggers
0 - 服务停止,1 - 服务正在运行 ,由此,我们的触发器就如下:
{Template App Telnet VIP:net.tcp.service[tcp,10.10.195.99,9200].last(#3)}=0
如果最新三次回去的值都是0就触发告警。如下图即可:
到此,使用zabbix简单监控ip和端口已经完成。