Nagios - 在 Windows 7 上安装自定义插件,执行并将数据发送回服务器
Nagios - installing custom plugin on Windows 7 that executes and sends back data to the server
我在 ubuntu 机器上安装了 Nagios 4 核心,我在 windows 7 机器上安装了 NSClient++。对于 CPU、内存等开箱即用的监控,一切正常。
我还在 .Net 中编写了一个 EXE,它在 windows 机器上收集一些指标,希望 windows 机器上的 NSClient 能够执行这个 EXE 并将这些输出编组回服务器。问题是不知道怎么安装这个插件,请问你们是在服务器上安装的吗?在客户端?两个都?如果是哪里?不用说 ubuntu(nagios 服务器所在的位置)不应该尝试执行 .net EXE。
当我查看服务器上的配置文件时,我看到 nagios 服务器使用 Check_NT 与 NSclient 进行通信。我们有类似 Check_nt!blah
的语法。在执行不属于核心的 .Net EXE 时,我是否需要使用相同的语法?
我几乎找不到任何关于如何安装 windows 插件以及如何让服务器和客户端相互通信的详细文档。所以它要么非常简单,要么非常复杂。我还看了一些 YouTube 视频...没有任何内容可以解决我面临的问题。
感谢任何帮助。谢谢大家!
您需要将其定义为监视器上的 NRPE 检查,然后在 Windows 上使用相同的名称@NSClient++ 定义检查。 NSClient++ 配置有一个 NRPE 处理程序部分,就是为了这个(来源:op5 kb):
[NRPE 处理程序]
nrpe 处理程序提供了一种在受监视的 Windows 服务器上执行任何自定义 plugin/check 命令的方法。在本节中,您将配置应该可用的所有命令。
将自定义 NRPE 命令添加到 NSClient++ 遵循以下语法:
command[my_custom]=c:\mycustomdir\my_prog.exe
要从您的监控系统测试检查,您可以使用 CLI 中的 NRPE 调用 my_custom
:
./check_nrpe -H 10.0.0.1 -c my_custom
然后像这样在 Nagios 配置中定义服务:
define service{
use generic-service
host_name windowshost
service_description CPU Load
check_command check_nrpe!my_custom
}
您可能需要做一些额外的工作才能正确格式化输出。在 BASH 中,exit 1 和 exit 0 通常用于指示状态,即:OK/Critical (source),您可能会发现使用一些简单的脚本来增强 EXE 的输出会更容易,例如那。
我在 ubuntu 机器上安装了 Nagios 4 核心,我在 windows 7 机器上安装了 NSClient++。对于 CPU、内存等开箱即用的监控,一切正常。
我还在 .Net 中编写了一个 EXE,它在 windows 机器上收集一些指标,希望 windows 机器上的 NSClient 能够执行这个 EXE 并将这些输出编组回服务器。问题是不知道怎么安装这个插件,请问你们是在服务器上安装的吗?在客户端?两个都?如果是哪里?不用说 ubuntu(nagios 服务器所在的位置)不应该尝试执行 .net EXE。
当我查看服务器上的配置文件时,我看到 nagios 服务器使用 Check_NT 与 NSclient 进行通信。我们有类似 Check_nt!blah
的语法。在执行不属于核心的 .Net EXE 时,我是否需要使用相同的语法?
我几乎找不到任何关于如何安装 windows 插件以及如何让服务器和客户端相互通信的详细文档。所以它要么非常简单,要么非常复杂。我还看了一些 YouTube 视频...没有任何内容可以解决我面临的问题。
感谢任何帮助。谢谢大家!
您需要将其定义为监视器上的 NRPE 检查,然后在 Windows 上使用相同的名称@NSClient++ 定义检查。 NSClient++ 配置有一个 NRPE 处理程序部分,就是为了这个(来源:op5 kb):
[NRPE 处理程序] nrpe 处理程序提供了一种在受监视的 Windows 服务器上执行任何自定义 plugin/check 命令的方法。在本节中,您将配置应该可用的所有命令。
将自定义 NRPE 命令添加到 NSClient++ 遵循以下语法:
command[my_custom]=c:\mycustomdir\my_prog.exe
要从您的监控系统测试检查,您可以使用 CLI 中的 NRPE 调用 my_custom
:
./check_nrpe -H 10.0.0.1 -c my_custom
然后像这样在 Nagios 配置中定义服务:
define service{
use generic-service
host_name windowshost
service_description CPU Load
check_command check_nrpe!my_custom
}
您可能需要做一些额外的工作才能正确格式化输出。在 BASH 中,exit 1 和 exit 0 通常用于指示状态,即:OK/Critical (source),您可能会发现使用一些简单的脚本来增强 EXE 的输出会更容易,例如那。