Articles of Nagios

Nagios进行冗余监控

我在两台服务器上使用Nagios 4.0.7来监视我的networking。 最近我开发了第三个为了有更多的冗余,所以我开始阅读主要与NSCA故障转移冗余的信息。 有没有人在这个领域的一点点经验,可以告诉我哪个是最有效和最简单的方法来做到这一点。 我读了这个幻灯片,已经帮了我很多,当然这个问题仍然是主机和从机之间的时间同步: Nagios Conference 2012 – Mike Weber – Failover from Nagios NSCA是最好的select吗?是故障转移,冗余还是使用两者都是最好的select?

如何使用Nagios的check_http检查包含Hash的URI的内容?

尝试 check_http -H www.example.com -f follow -p 8080 -u /hello/#/world -s "content" 结果 HTTP WARNING: HTTP/1.1 404 Not Found – X bytes in 0.00X second response time |time=0.00XYZ 分析 虽然已经有多个源文件被读取[ 1,2,3,4 ]和一个Wget,即wget www.example.com:8080/hello/#/world返回OK,但是check_http是否不起作用还不清楚。 也许#是造成一个问题。 根据这个文档 , #是一个锚,这意味着如果var x表示x是#/world ,但是这无助于解决问题。 使用wget下载www.example.com ,随后检查worldbutton,指示此button与JavaScript源相关联。 这个发现也没有帮助解决这个问题。 尝试两个 check_http -H www.example.com -f follow -p 8080 -u /hello/\#/world -v 结果二 GET […]

AND / OR Icinga / Nagios中的服务依赖关系

我一直在使用服务依赖关系设置一个Icinga实例,如下所示: define servicedependency{ dependent_host_name ahost dependent_service_description Battery Time host_name powerware1 service_description UPS Input 1 Voltage notification_failure_criteria o } define servicedependency{ dependent_host_name ahost dependent_service_description Battery Time host_name powerware1 service_description UPS Input 2 Voltage notification_failure_criteria o } 这些工作,但如果其中任何一个input正在工作,则抑制“电池时间”的警报。 我怎样才能调整这个,所以只有在两个input都起作用的情况下才能抑制它。

我如何覆盖grsec?

最近重新启动后,我有一对服务器,现在无法监视他们的磁盘状态。 Nagios报告: HP RAID Array UNKNOWN Error: No controllers detected. -/-/- (LD : []) 我在主机上手动运行检查得到相同的错误。 当我这样做时,内核日志显示以下每当我手动运行检查: Apr 8 17:00:00 www.example.org kernel: [12345.000000] grsec: From 10.11.12.13: denied use of iopl() by /opt/hp/hpacucli /hpacucli.bin[hpacucli.bin:666] uid/euid:0/0 gid/egid:0/0, parent /bin/bash[bash:777] uid/euid:0/0 gid/egid:0/] hpacucli是用来与硬件raid控制器进行交互的工具,用于收集磁盘状态等信息。 它使用iopl()并不奇怪。 grsec文档表明这是由kernel.grsecurity.disable_priv_iopipe理的,但是sysctl说这个密钥是未知的,我似乎也没有设置它。 有没有办法改变这个允许hpacucli访问iopl()而不用重build到非grsec内核?

Nagios报告计划任务返回没有退出代码dtexec

我们有由Windows任务pipe理器执行并由Nagios监视的SSIS任务( dtexec )。 然而,Nagios定期报告警告,因为退出代码是空的(应该是0)。 如果检查在任务运行时发生,则会出现这种情况(GUI方式,然后任务pipe理器显示一种临时退出代码)。 define service{ use generic-service host_name ms.example.com service_description My task name retry_interval 10 check_command check_schedtask!"TaskName=\\"\\Category\\My task name\\"" "ExitCode=0x0" "Elapsed=1.0:10" "LastEvent" contact_groups contacts Annoyed people notification_interval 240 servicegroups functional_tasks } 我怎样才能忽略检查过程中运行的任务?

在Nagios服务检查上设置临时check_interval

有谁知道Nagios是否可以select在服务检查上设置一个临时check_interval设置,并在X分钟后恢复? 我的服务检查定义如下所示: define service { host_name prodhost use http service_description www.example.com:8080 check_command check_http!8080!example.com:8080!/!5.000!10.00 servicegroups http-check check_interval .5 retry_interval .25 max_check_attempts 3 } 问题是,每次更改到我的Web应用程序(通过configuration项),它也必须重新启动应用程序作为部署过程的一部分。 这会触发我的5秒钟和10秒钟的一些警告和严重警报。 我希望能够保持当前的check_interval , retry_interval和max_check_attempts阈值,但能够在部署完成后暂时更改它们,并在3分钟后恢复到原始状态。

我如何沉默加载警报?

在构成我们的Nagios服务器的大量文件中,是负载的服务检查: define service{ use generic-service name check-load hostgroup_name nrpe-hosts,!webnodes,!build-cluster notification_options c,r service_description NRPE – Load check_command check_nrpe!check_load contacts irc } 和两个联系人: define contact{ contact_name irc alias ircbot host_notification_period 24×7 service_notification_period 24×7 host_notification_options d,u,r,f service_notification_options w,u,c,r,f service_notification_commands notify-by-epager host_notification_commands host-notify-by-epager pager [email protected] } define contact { contact_name pagerduty alias PagerDuty Pseudo-Contact service_notification_period 24×7 host_notification_period 24×7 service_notification_options […]

Nagios插件来监视FreeSWITCH

我正在尝试configurationNagios以监视FreeSWITCH,如https://github.com/kjhosein/nagios-freeswitch-plugin中所述 。 我已经从git下载脚本,并按照列出的步骤。 在远程(NRPE)服务器上,我在nrpe.cfg文件的下面添加了一行 command[check_freeswitch_health]=/usr/lib64/nagios/plugins/check_freeswitch_health.pl $ARG1$ 在Nagios服务器上,添加在commands.cfg文件中 define command { command_name check_freeswitch_health command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_freeswitch_health $ARG1$ } 并在services.cfg文件中 define service { host_name freeswitch01 service_description FreeSWITCH – Calls Count check_command check_freeswitch_health!-a '-q show-calls-count'!!!!!!! } 但是,在Nagios的web界面我越来越 CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages. 在远程服务器上,显示以下错误的日志(/ var / log […]

Nagios / nrpe给“255的返回码超出界限”

我为nagios设置了以下服务: define service { hostgroup_name LNX service_description /tmp Disk Usage check_command check_nrpe!check_disk!-a '-w 20% -c 10% -p /tmp' check_interval 1 max_check_attempts 3 retry_interval 1 check_period 24×7 notification_interval 2 notification_period 24×7 notification_options c,r,w notifications_enabled 0 contact_groups devops } 与以下命令关联的是: define command { command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -u -t 60 -c $ARG1$ $ARG2$ } 所以最后执行的是什么(在命令行上运行时的输出)是: […]

nagios可以根据状态信息调整检查时间吗?

(我怀疑答案是“不”,但我会问)。 我的系统上装有木偶,木偶每半小时运行一次。 Nagios正在检查这些木偶日志,每半个小时运行一次,并返回如下所示的内容: OK: Puppet agent "2.7.26" running catalogversion 1474549502, and last executed at Fri 23 Sep 2016 18:04:17 GMT 问题是,如果傀儡在(比方说)18:25检查这个服务,并且返回上面的回答,那么在18:55再次检查nagios之前,我将不会看到对预期的18:34木偶运行的任何提及。 如果nagios可以查看状态信息,那么我真的很喜欢它,看到这台机器在18:04运行木偶,并重新安排下一次检查,比如在下一次运行后五分钟。 有没有办法做到这一点?