标签: nrpe

NRPE 无法读取输出,但为什么呢?

我对 NRPE 有这个问题,到目前为止我在网上找到的所有东西似乎都指向我已经尝试过的东西。

# /usr/local/nagios/plugins/check_nrpe -H nrpeclient
Run Code Online (Sandbox Code Playgroud)

NRPE v2.12
Run Code Online (Sandbox Code Playgroud)

正如预期的那样。

手动运行命令(在“nrpeclient”上的 nrpe.cfg 中定义,给出预期的响应

nrpe.cfg:

command[check_openmanage]=/usr/lib/nagios/plugins/additional/check_openmanage -s -e   -b ctrl_driver=0 bat_charge

"Expected response"
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试从 Nagios 服务器运行命令,我会得到以下信息:

# /usr/local/nagios/plugins/check_nrpe -H comxps -c check_openmanage
NRPE: Unable to read output
Run Code Online (Sandbox Code Playgroud)

谁能想到我可能在这方面犯了错误的其他任何地方?我在多台其他服务器上做了同样的事情,没有问题。我能想到的唯一区别是这个盒子是基于 RHEL 5 的,而其他盒子是基于 RHEL 4 的。

上面我测试过的这两点是大多数人在遇到这个问题时的建议。

我应该提到,当我重新启动时,日志中出现了一个奇怪的错误nrpe

nrpe[14534]: Unable to open config file '/usr/local/nagios/etc/nrpe.cfg' for reading 
nrpe[14534]: Continuing with errors...
nrpe[14535]: Starting up daemon
nrpe[14535]: Warning: Daemon is configured to accept command arguments from clients!
nrpe[14535]: Listening for connections …
Run Code Online (Sandbox Code Playgroud)

nagios nrpe

27
推荐指数
5
解决办法
13万
查看次数

Nagios 远程监控:NRPE Vs。SSH

我们使用 Nagios 来监控相当多(~130)台服务器。我们监控每台服务器上的 CPU、磁盘、RAM 和其他一些东西。我一直使用 SSH 来运行远程命令,纯粹是因为它在远程服务器上几乎不需要额外的配置,只需安装 nagios-plugins,创建 nagios 用户并添加 SSH 密钥,所有这些我都自动化了一个 shell 脚本。我从未真正考虑过在 NRPE 上使用 SSH 对性能的影响。

我不太担心 Nagios 服务器上的负载(它的功能可能超出了规格,CPU 从未超过 10%),但我们每 30 秒运行一次远程检查,每个服务器有 5 个不同的检查执行。我认为 SSH 每次检查都需要更多资源,但有很大的不同吗?(即足以保证切换到 NRPE 的差异)。

如果有帮助,我们会监控物理服务器(通常具有 8、12 或 16 个物理核心)和 Amazon EC2 中/大型实例的组合。

monitoring performance nagios nrpe

9
推荐指数
2
解决办法
1万
查看次数

监控 JIRA 安装的最佳实践?

我的一位客户设置了 Confluence / JIRA 系统。他们遇到了一些问题——出站电子邮件被阻塞等等。如果你支持 JIRA 安装,你监控什么?你使用 JMX 吗?直接数据库查询?偶尔向 API 发出 SOAP 请求?

我将使用 Nagios / NRPE 进行监控,但会直接编写任何需要的支持脚本,因此任何在 linux 机器上运行的技术都可能没问题。

monitoring nagios jmx jira nrpe

6
推荐指数
1
解决办法
6323
查看次数

NRPE 和 Perl - 不能包含任何东西,否则会损坏

几个星期以来,我一直对 NRPE 和 Perl 不屑一顾。

我决定从绝对第一原则开始,创建一个虚拟的 nagios 插件,它什么都不做,但总是返回 OK。我将其命名为 check_true.pl,将其安装在远程服务器上并配置 NRPE 以将其用作 check_test。

整个脚本只是:

#!/usr/bin/perl

print "OK - this dummy test always returns OK\n";
exit 0;
Run Code Online (Sandbox Code Playgroud)

这适用于 NRPE,没有问题。

以此为起点,我将构建我想要慢慢查看它在什么时候中断的脚本。我根本没有走远。以下突破了 NRPE(但在本地和 SSH 上都可以正常工作):

#!/usr/bin/perl

use strict;

print "OK - this dummy test always returns OK\n";
exit 0;
Run Code Online (Sandbox Code Playgroud)

它给出了可怕的错误:NRPE:无法读取输出。

我不能包含任何东西,否则我会收到此错误。这使得我无法做我真正需要做的事情!

我认为这可能是 perl 包含路径的问题,但是在 NRPE 上运行以下内容表明它不是(提供与在终端上运行时相同的包含路径):

#!/usr/bin/perl

print "OK - Perl include path: ".join(q{, }, @INC)."\n";
exit 0;
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么 NRPE 在 Perl 上表现如此糟糕?任何人都可以推荐修复吗?或者甚至是一种解决方法?

更新 1:该命令在 NRPE 中定义如下:

command[check_test]=/usr/lib64/nagios/plugins/check_true.pl
Run Code Online (Sandbox Code Playgroud)

更新 2:我进行了更多调试,通过在 perl 脚本周围添加下面的包装器,我能够捕获 STDERR。 …

nagios perl nrpe

6
推荐指数
1
解决办法
1541
查看次数

Systemd PrivateTmp=真正的安全隐患

我使用Nagios CoreNRPEcheck_disk监控 Ubuntu 服务器上的可用磁盘空间。

在以前的 Ubuntu 版本中,我曾经得到类似这样的输出:

DISK OK - free space: / 43754 MB (80% inode=86%):
Run Code Online (Sandbox Code Playgroud)

相反,在 Ubuntu 18.04.1 上,我得到:

DISK OK - free space: /var/tmp 43754 MB (80% inode=86%):
Run Code Online (Sandbox Code Playgroud)

我看到/var/tmp/分区的安装点不正确。我跟踪此行为依赖PrivateTmp=truenagios-nrpe-server.service

  • 我去查看/var/tmp并发现了一个名为systemd-private-c5b5d3d362364af19af640147f2cb844-nagios-nrpe-server.service-4uILRy
  • 然后检查服务定义并注意到(例如Ubuntu 16.04 上的NRPE2PrivateTmp=true不存在)
  • 最后,尝试删除该行,然后根挂载点被检测为/

我觉得我面临三个选择:

  1. 忍受它。

  2. 消除PrivateTmp=true

  3. 找到合理的解决方法。

我倾向于接受它,但如果我更清楚没有私人/tmp服务的影响,我可以对选项 2 做出明智的选择。

最佳解决方案可能是找到一种解决方法,指示check_disk即使在这种情况下也返回正确的安装点信息。无法访问系统/tmp不应构成障碍。

问题:请说明 的含义PrivateTmp=true,解释为什么建议使用它,在什么情况下以及有哪些注意事项可以将其删除。

第二个问题:check_disk …

security nrpe systemd

6
推荐指数
1
解决办法
8366
查看次数

是否有使用 Nmap 并进行端口检查的 Nagios 插件?

我需要监视数十台主机上的打开和关闭端口。我找到了一个Nagios插件,它可以满足我的需求,但我必须通过NRPE使用这个脚本。

一些主机由 Linux 提供支持,并且它们都安装了 Perl。但是其中一些是Windows机器,我不方便在每台机器上安装Perl。这就是为什么我不能使用这个插件。

我希望有 Nagios 插件使用Nmap或类似的东西,这样它就可以远程检查每个主机上的端口,而无需在远程主机上安装插件,只在服务器上安装。

networking nagios nmap nrpe

5
推荐指数
1
解决办法
6823
查看次数

nagios 缺少依赖项:perl(Net::SNMP)

我有一个奇怪的问题。我正在尝试安装 nagios NRPE,但它一直失败

nagios-plugins-1.4.15-2.el5.rf.i386 from rpmforge has depsolving problems
  --> Missing Dependency: perl(Net::SNMP) is needed by package nagios-plugins-1.4.15-2.el5.rf.i386 (rpmforge)
Run Code Online (Sandbox Code Playgroud)

该软件包1:net-snmp-perl-5.3.2.2-9.el5_5.1.i386已安装并且是最新版本。

想法?

环境是安装了Cpanel 11的Centos 5.5。

nagios centos5 nrpe

5
推荐指数
1
解决办法
9130
查看次数

SELinux 阻止 Nagios 插件在 RHEL6 上运行

安装 Nagios NRPE 和 Nagios 插件后,我在 rsyslog 中收到以下条目:

May 13 14:01:30 wcmisdlin02 kernel: type=1400 audit(1305309690.482:2334): avc:  denied  { getattr } for  pid=3835 comm="sh" path="/usr/bin/sudo" dev=dm-0 ino=7355981 scontext=unconfined_u:system_r:nrpe_t:s0 tcontext=system_u:object_r:sudo_exec_t:s0 tclass=file
Run Code Online (Sandbox Code Playgroud)

我试图通过 NRPE 执行的 Nagios 插件似乎被 SELinux 阻止了。我该怎么办?

linux selinux nagios nrpe

5
推荐指数
1
解决办法
1万
查看次数

Nagios NRPE check_procs 报告错误的数字

我有一个 etch nagios 服务器(我将称之为 NagiosServer),它成功地监控了很多东西,包括另一个 etch 服务器(MonitorEtch)。使用 check_nrpe 和 check_procs,我可以检查正在运行的守护进程的进程列表,例如“/usr/sbin/squid”。

从 NagiosServer 检查 MonitorEtch(正确结果):

/usr/lib/nagios/plugins/check_nrpe -H MonitorEtch -c check_process -a /usr/sbin/squid 1:1 1:1
PROCS OK: 1 process with args '/usr/sbin/squid'

/usr/lib/nagios/plugins/check_nrpe -H MonitorEtch -c check_process -a whatever 1:1 1:1
PROCS CRITICAL: 0 processes with args 'whatever'
Run Code Online (Sandbox Code Playgroud)

我已经构建了一个我想要监控的新服务器,运行 Lucid (MonitorLucid)。无论我尝试从 NagiosServer 监控什么进程,我都会得到超出预期的结果。

从 NagiosServer 检查 MonitorLucid(结果不正确):

/usr/lib/nagios/plugins/check_nrpe -H MonitorLucid -c check_process -a whatever 1:1 1:1
PROCS OK: 1 process with args 'whatever'

ps ax|grep sophie
12737 ?        Ss     0:00 /usr/sbin/sophie -D …
Run Code Online (Sandbox Code Playgroud)

nagios nrpe

5
推荐指数
1
解决办法
9427
查看次数

检查傀儡代理是否是最新的

我想检查我的 nagios 监控是否每个节点都使用 puppetmaster 提供的当前目录版本。

在我的情况下,有:

  • 木偶大师
  • 主机 1
  • 主机2
  • 主机X

我想在 host1、host2、hostX 上创建nrpe插件以:

  • 检查主机上的当前目录版本
  • 检查为puppetmaster 上的节点准备的当前目录版本
  • 警告,如果两者不同

问题:

  1. 要在 puppetmaster 上检查目录版本,我可以运行 /production/catalog API 查询,但它非常昂贵(cpu) - 因为每次我请求目录时都需要编译它。
  2. 我在节点上看不到任何检查当前目录版本的选项。我试过木偶目录,但不是很有帮助。

所以我的问题是,如何监控傀儡代理的健康状况,并在任何主机使用旧的傀儡目录时得到通知?有什么意义吗?

linux monitoring nagios puppet nrpe

5
推荐指数
1
解决办法
6460
查看次数

标签 统计

nrpe ×10

nagios ×9

monitoring ×3

linux ×2

centos5 ×1

jira ×1

jmx ×1

networking ×1

nmap ×1

performance ×1

perl ×1

puppet ×1

security ×1

selinux ×1

systemd ×1