使用nagios监控指定的端口号

方法一:

实验思路:

第一步在commands.cfg文件中定义你要使用的检测命令:

vi /usr/local/nagios/etc/objects/commands.cfg

define command{

command_name    tcp60910              #命令名

command_line    $USER1$/check_tcp -H $HOSTADDRESS$ -p 60910 -t 60    #命令内容,该处调用到check_tcp这个脚本 -P后面是端口。如果你要监控很多端口,就多编几条,做示范就弄2条。 -t是超时时间,单位是秒。        }

define command{

command_name    tcp60911

command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 60911 -t 60   #这里如果不用-t也可以,默认是10秒,假如你的监控端是电信,你被监控端是网通,那么你监控过去就会偶尔出现10秒以上,所以这个时间可以放大点,但最大是60秒。              }

再定义主机组。

第二步定义要进行端口监控的主机并修改nagios.cfg文件使nagios可以识别:

#vi /usr/local/nagios/etc/objects/hosts.cfg  #注意,这个文件本身不自带的,可以直

接VI编辑,别忘了还要去nagios.cfg里声明它的存在

下面是去声明它的存在,vi /usr/local/nagios/etc/nagios.cfg

# You can specify individual object config files as shown below:

cfg_file=/usr/local/nagios/etc/objects/hosts.cfg

cfg_file=/usr/local/nagios/etc/objects/commands.cfg

cfg_file=/usr/local/nagios/etc/objects/contacts.cfg

cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg

cfg_file=/usr/local/nagios/etc/objects/templates.cfg

下面是hosts.cfg的文件内容。

define host{

use             linux-server         #这里是调用模板文件就是templates.cfg这个里面的linux-server模板,其实我们监控的是windows,可是我测试了下模板用windows就莫名其妙报错,大家可以用windows-server试试

host_name       ts1                #这个是定义的ts1名字,这个名字用来给下面的members调用。

alias           ts1                      #这个是会在网站监控按钮上显示的文字。

address         XXX.XXX.XXX.XXX        #这个是对应ts1的IP地址,就是你要监控的机器。

}

define host{

#这里是第二台

use             linux-server

host_name       ts2

alias           ts2

address         XXX.XXX.XXX.XXX

}

define hostgroup{

hostgroup_name  Ts-servers          #主机组名 Ts-servers  同样等下要被监控服务调用。

alias           Ts-Servers   #这个同上面那个一个意思,用来在web页面显示的名字。

members         ts1,ts2     #这里就是调用上面的host_name内容,用”,"逗号分开,我这里就2台,全部添加进去了。

}

好了,到最后一步,调用主机组名和命令来监控服务。

第三步定义需要端口监控的主机要监控的端口:

在# vi /usr/local/nagios/etc/objects/windows.cfg配置

define service{

use                             generic-service               #调用模板不累述。可以不调用,但你要再这直接把所有的信息都放进去,什么联系人,通知各种杂七杂八的字段都要填。直接弄个模板反正大多都是默认的,比如24X7小时监控之类的。

hostgroup_name                  Ts-servers            #这个就是调用hosts.cfg里的define hostgroup下的“hostgroup_name”

normal_check_interval           1           #这个是正常检测间隔时间,就是检测1次端口发现正常后下次检测的时间。默认是1分钟,在nagios.cfg里有个

interval_length=60 这个是指nagios的时间单位,默认是60秒,所以这里的1就是1分钟。

retry_check_interval            1                          #这个是不正常检测间隔时间,就是检测发现不正常后下次检测的时间。

service_description             port60910           #这个是描述,也是出现在web页面上的

check_command                   tcp60910          #这个是调用的命令,就是一开始定义好的命令。注意此check_command后面的tcp60910要跟command.cfg文件中定义的command_name的名称一致。

}

下面是监控第二个端口,意思就不累述了。

define service{

use                             generic-service             hostgroup_name                  Ts-servers         normal_check_interval           1         retry_check_interval            1

service_description             port60911         check_command                   tcp60911         }

最后重启nagios,如果重启失败,请直接#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg来查看 nagios配置文件的错误信息。

我上面那个不能用windows-server模板就是这么检测出来的,坑爹啊,那个文件里明明有windows模板的,就是不能用,只好用linux-server.望后来人解决之。

方法二:

第二种方法是在定义命令的时候几个地方变一下

define command{

command_name    tcp60910              #命令名        command_line    $USER1$/check_tcp -H

$HOSTADDRESS$ -p $ARG1$ -t $ARG2$    #"$ARG1$"这个是变量的意思,就是你想输什么就输什么,但一定要输对应意思的,等下下面会再说明。

}

中间主机组和主机还是不变,最后的服务调用命令要变下

define service{

use                             generic-service             hostgroup_name                  Ts-servers         normal_check_interval           1         retry_check_interval            1

service_description             port60911

第一个字段是填IP的,但因为$HOSTADDRESS$是在宏里定义好的。就是最终的host_name。方法2我没试过,网上说可以直接忽略写第二个字段。大家不

妨试试。这里就直接填了端口和延迟时间。

check_command                   tcp60911!60910!60   #原来这里是没参数的,直接调用的命令名,主要是因为原来定义好了参数,现在要自己写。!号是分隔符         }

其实我觉得方法二灵活点。由于我现在用了centreon,所以也没直接配置nagios文件了。其实最终效果还是一样的

还有监控多线路HTTP页面的方法,有机会会更新好的。

如果你要定义100台机器,那么你只要定义好define host 然后在define hostgroup里添加好像ts1 ts2这样加下去就行了。

如果你既要监控windows又要监控linux,监控的种类又不相同,那么原理还是一样的。只要在文件里添加好字段和参数就行了。

使用nagios监控指定的端口号

时间: 2024-10-22 01:27:23

使用nagios监控指定的端口号的相关文章

端口号

端口号的作用,主要是区分服务类别和在同一时间进行多个会话. 举例来说,有主机A需要对外提供FTP和WWW两种服务,如果没有端口号存在的 话,这两种服务是无法区分的.实际上,当网络上某主机B需要访问A的FTP服务时,就要指定目的端口号为21:当需要访问A的WWW服务时,则需要将目的 端口号设为80,这时A根据B访问的端口号,就可以区分B的两种不同请求.这就是端口号区分服务类别的作用. 再举个例子:主机A需要同时下载网络上某FTP服务器B上的两个文件,那么A需要 与B同时建立两个会话,而这两个传输会

Nagios监控之NRPE安装(监控主机端)

NRPE是在nagios-plugins正确安装的基础上进行的,nagios-plugins的安装详情请移步到: [Nagios监控之nagios-plugins安装]http://4709096.blog.51cto.com/4699096/1702224 1.依赖包检测 #rpm -q xinetd openssl-devel #yum install xinetd openssl-devel 2.编译安装 NRPE依赖于nagios-plugins,因此,需要先安装之 # tar -zxv

nagios监控端自动化安装脚本

背景:公司需求,部署nagios监控系统,多台服务器部署时,会有重复工作,干脆写成脚本,自动化安装,希望能帮到大家. 脚本内容: #!/bin/bash #Filename:nagios.sh setenforce 0  #需要关闭selinux, yum install -y http php php-mysql mysql mysql-devel mysql-server   #安装http.php和mysql,如果已安装,也无妨 cd /tmp   #我的软件包安装在了tmp目录下,这个可

Linux开放指定端口号

1.编辑系统文件 vim /etc/sysconfig/iptables 2.进入编辑页面后,增加如下内容: -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT //8080表示要开放的端口号 3.保存后退出,重启网卡服务 service iptables restart 参考:https://www.cnblogs.com/zengweiming/p/6604424.html 原文地址:https://www.c

Nagios监控基础安装与监控项部署(上)

前言:NAGIOS介绍: Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. 主要功能 (1)网络服务监控(SMTP.POP3.HTTP.NNTP.ICMP.SNMP.FTP.SSH) (2)主机资源监控(CPU load.diskusage.system logs),也包括Windows主机(使用NSC

Nagios监控配置

1 使用Nagios插件命令监控本机 1.1 问题 本案例要求先部署一台Nagios监控主机,并安装插件软件包,通过插件命令实现如下监控目标: 监控本机Web服务 监控本机FTP服务 监控本机SSH服务 监控本机根分区使用量 监控本机登录用户数量 监控本机运行的进程数量 1.2 方案 使用1台RHEL6虚拟机,安装部署Nagios及配套插件软件包,在本机使用插件命令监控本机服务及资源状态. 在Nagios插件软件包中,包含了大量的监控脚本,常用的插件脚本及对应功能如表-1所示. 表-1 Nagi

修改SNMP端口并利用snmpwalk测试,nagios监控,脚本读取后筛选出磁盘占用空间的值

############################################################插入一个信息Handy.sh里,Linux下如果要根据read到的nl序号筛选出目录名.需要用以下表达式:folder_name=ls -l "$DIR" | awk -F" " '{ print $9 }' | grep -v Handy.sh | nl | grep '\ '"$REPLY"$'\t' | a<br/&

Nagios监控系统

一.Nagios监控系统简介 1.Nagios工作原理 Nagios本身不包括监控主机和服务的功能.所有的监控.监测功能都是通过各种插件来完成的.安装完nagios之后,在nagios主目录下的/libexex里面放有nagios自带的插件,如:check_disk是检查磁盘空间的插件,check_load是检查cpu负载的插件,每一个插件可以通过运行./check_xxx -h命令来检查其使用方法和功能. 1.Nagios的四种监控状态 Nagios可以识别四种状态返回信息.0(OK)表示状态

Nagios 监控系统架设全攻略

Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强大,灵活性强,能有效监控 Windows .Linux.VMware 和 Unix 主机状态,交换机.路由器等网络设置等.一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在状态恢复后发出正常的邮件或短信通知.Nagios 结构简单,可维护性强,越来越受中小企业青睐,以及运维和管理人