Articles of Nagios

为什么我的Powershell脚本在Nagios NRPE运行时会回复额外的输出?

我有一个Powershell脚本,我通过nrpe作为外部脚本运行。 Windows服务器(2008)运行nsclient ++(nscp.exe)v 0.4.1.102。 我的powershell脚本的返回部分看起来像这样 } else { write-host "ok $queue|queue = $queue" exit 0 } 调用ps1文件的包装脚本如下所示: ps1 = cmd /c echo C:\\NetAdmin\\%SCRIPT% %ARGS%; exit($lastexitcode) | powershell.exe -command – 如果我从Windows命令提示符运行这个输出看起来像这样: ok 93|queue = 93 但是当我运行从我的nagios服务器使用check_nrpe输出变为: ok 93|'queue''=0 '93'=0 Nagios在处理性能数据时遇到问题。 更新:在提交错误报告后,软件作者回应说这是期望的行为,但在nsclient.ini中有两个选项可禁用它: 全球(所有脚本) [/settings/external scripts/scripts/default] ignore perfdata = true 单个脚本 [/settings/external scripts/scripts/check_foo] ignore perfdata = true

推荐用于nagios用户的主目录

nagios用户(FHS)的推荐主目录是什么? 当我监视一个linux系统时,我必须创build一个基于ssh-key的login用户,并通过sudoer来为他提供所需的权限。 我发现了一些build议: 在/ var /运行/ nagios3 在/ var / lib中/ nagios3 /家/ nagios3 从文件系统层次结构标准来看,最好的位置是什么?

Nagios的时间段 – EOM之后的第一个工作日?

我正在尝试为我的一些Nagios通知设置自定义时间段。 我需要在EOM之后的第一个工作日执行检查。 这将符合以下标准: 月的日子> 1,月的日子<8 星期一 – 星期五 只适用于符合这些标准的第一个date。 在Nagios的时间段内有没有什么好的方法来expression这一点? 我没有看到制作复合语句的方法。

Nagios:使用nrpe执行插件会产生与本地运行不同的结果

我试图添加一个NRPE检查来监视Puppet代理,但是我遇到困难让插件在本地执行时返回正确的结果。 我正在使用这个插件: 当在nagios客户端本地执行脚本时,结果是正确的,但是用nrpe执行会导致严重的结果。 我想我已经错过了我的configuration中的东西。 其他nrpe插件正在成功执行。 我重新启动了nrpe.d(并检查了没有nrpe pid运行时)check_puppet文件的权限,拥有者和组与我的其他检查 [root@puppet-master]# /usr/lib64/nagios/plugins/check_nrpe -H server.addr -c check_puppet CRITICAL: Puppet daemon not running or something wrong with process [root@git nrpe.d]# /usr/lib64/nagios/plugins/check_puppet OK: Puppet agent "3.4.3" running catalogversion 1398787991, and executed at Tue 29 Apr 2014 04:13:25 PM UTC for last time nagios_commands.cfg: define command { command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -t […]

在Ubuntu 14.04中缺lessNagios插件“check_radius”?

由于我问这个问题已经在askubuntu,但没有人回答了一个星期也许在这里有人知道答案( https://askubuntu.com/questions/462162/nagios-plugin-check-radius-missing-in-ubuntu-14-04 )。 我最近更新了我们的Nagios-Server从Ubuntu LTS 12.04.04到14.04 – 尽pipe我知道这个迁移不被支持。 一切工作正常,但我们的半径检查失败…现在我知道为什么:可执行文件“check_radius”缺less在/ usr / lib / nagios /插件 – 它似乎已经在升级过程中被卸载。 有谁知道为什么,如何取回或取代它? 由于它是一个UDP协议,我不能做一个端口检查。 / usr / lib / nagios / plugins的内容: check_apt check_dns check_icmp check_log check_nt check_procs check_spop negate check_breeze check_dummy check_ide_smart check_mailq check_ntp check_real check_ssh urlize check_by_ssh check_file_age check_ifoperstatus check_mrtg check_ntp_peer check_rpc check_ssmtp utils.pm check_clamd check_flexlm check_ifstatus check_mrtgtraf […]

Nagios,有没有可能监视文件修改?

我试图监视/etc/passwd文件修改,是否可以用Nagios来做到这一点? 我不是在寻找文件修改时间,但文件改变或不…你知道有什么办法做,或者我应该自己写一个check_command吗? 谢谢

正交定义主机/主机组的服务和联系人?

我正在努力把我们的Icinga面条变成更可pipe理,更less重复的东西。 到目前为止,模板,对象inheritance,多inheritance,主机组,服务组等function已经满足我的需求,但我坚持一个方面。 TL; DR:如何告诉Icinga,如果该主机是特定主机组的成员,我想为所有成员主机和服务添加一个新的联系人组,即使是针对主机也是其成员的不同主机组定义的服务? 我有两组正交的主机组 – 一个用于主机types,与主机types关联的服务和服务依赖关系相关联,例如“PostgreSQL服务器”。 另一组小组确定节点的责任区域以及需要关心每个节点的人员。 我需要根据确定责任区域的主机组将联系规范应用于服务,并且希望这样做, 而不必为每个(主机types,责任区域)主机组对覆盖每个服务。 所以,我说定义一个主机组“postgresql_servers”和相关的服务“postgresql_connection”: define hostgroup { hostgroup_name postgres_servers alias All PostgreSQL servers } define service { use some_service_template hostgroup_name postgres_servers contact_groups support_engineers_notifications service_description POSTGRES_CONNECTION check_command check_dummy!2!"Passive check failed" } 然后我有一个主机组“servers_for_bob”和一个联系人“bob”,它们还没有相互关联: define hostgroup { hostgroup_name servers_for_bob, alias These are for Bob } define contact { contact_name bob alias […]

按计划轮换nagios 4

我有一个安装在RHEL 6.5操作系统下的监控平台,由一个虚拟机(VMWare ESXi 5.1)组成,它由nagios 4.0.7,mrtg 2.17.4和cacti 0.8.8b组成。 我正在升级我的contacts.cfg文件和我的timeperiods.cfg文件,以使自动调用旋转,我仍然发现它的手动方式,你不能有一个日历,其中nagios需要看看更新timeperiods并立即联系。 我想知道是否有人知道一个插件或方式来build立日历和nagios之间的链接,以便通过修改日历来更新nagios。

check_mysql_query无法连接到mysql,但从命令行工作

我有在Debian Wheezy上运行的Nagios 3。 我能够从命令行运行查询以下查询。 mysql db的凭证存储在~nagios/.my.cnf nagios@intranet:~$ /usr/lib/nagios/plugins/check_mysql_query -H 'myhost.mydomain.com' -q "SELECT cast(AVG(availability)*100 AS DECIMAL(5,2) ) FROM crm.api_clients;" -w 70:100 -c 40:100 QUERY OK: 'SELECT cast(AVG(availability)*100 AS DECIMAL(5,2) ) FROM crm.api_clients;' returned 100.000000 但是,当从Nagios调用相同的命令时,它不能连接到数据库。 命令和服务定义的相关部分是 define command{ command_name check_proxy command_line /usr/lib/nagios/plugins/check_mysql_query -H 'myhost.mydomain.com' -q "SELECT cast(AVG(availability)*100 AS DECIMAL(5,2) ) FROM crm.api_clients;" -w '$ARG1$' -c '$ARG2$' […]

Nagios CHECK_NRPE:从守护进程接收数据时出错。 RHEL 6

所以我试图在Red Hat服务器上设置一个Nagios check_load服务。 我遵循Red Hat的文档来安装NRPE客户端: https : //access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/3/html/Installation_and_Configuration_Guide/Installing_and_Configuring_NRPE.html 在Nagios GUI上,我得到这个: CHECK_NRPE: Error receiving data from daemon. 但是,当我loginNagios服务器进行debugging时,看起来像我可以从terminal运行这个罚款: root@portalmon:/Nagios# /usr/local/nagios/libexec/check_nrpe -H 10.0.XX.XXX -c check_load -t 30 OK – load average: 0.15, 0.10, 0.04|load1=0.150;15.000;30.000;0; load5=0.100;10.000;25.000;0; load15=0.040;5.000;20.000;0; 所以我不认为这是一个权限问题。 我认为这是一种path问题,但我不明白为什么这是行不通的。 任何人都可以帮忙吗? 这是我的服务描述: define service{ use dev-service host_name [DEV] Luminis Admin DEV Portal service_description CPU-Load check_command check_nrpe!"check_load" } 我想知道如果我运行上面的terminal命令,我甚至会调用相同的服务。 编辑 […]