Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何设置NSClient++以自动将度量发送到REST服务器_Python_Windows_Monitoring_Nagios_Graphite - Fatal编程技术网

Python 如何设置NSClient++以自动将度量发送到REST服务器

Python 如何设置NSClient++以自动将度量发送到REST服务器,python,windows,monitoring,nagios,graphite,Python,Windows,Monitoring,Nagios,Graphite,我们希望在一些windows服务器上部署NSClient++以收集指标并将其发送到我们的中央服务器。如果需要,这个中央服务器可以使用任何协议(如graphite/carbon协议)进行通信,但我们确实希望它以JSON格式将每个指标提交给运行REST接口的中央Web服务器,该服务器可以接收这些指标并进行进一步处理 我们主要希望性能指标每分钟流入一次。我们不关心非数字数据,但如果它也出现,那就好了,如果我们收到它,我们可以将其解析到报警控制台中 我知道我可以用可下载的MSI安装程序安装nsclien

我们希望在一些windows服务器上部署NSClient++以收集指标并将其发送到我们的中央服务器。如果需要,这个中央服务器可以使用任何协议(如graphite/carbon协议)进行通信,但我们确实希望它以JSON格式将每个指标提交给运行REST接口的中央Web服务器,该服务器可以接收这些指标并进行进一步处理

我们主要希望性能指标每分钟流入一次。我们不关心非数字数据,但如果它也出现,那就好了,如果我们收到它,我们可以将其解析到报警控制台中

我知道我可以用可下载的MSI安装程序安装nsclient++。那么,配置它是一件事,但是如何配置呢?我甚至读到过,我可以让它将性能数据发送到graphite服务器,但是我如何截取性能数据并通过REST接口发送给自己呢

我可以用Python编写任何代码,如果有办法将我试图发送到Python应用程序中的数据获取,我可以使用urllib2或请求将其发送进来

有人能给我指出一个操作方法吗,如果有,或者解释一下这是如何结合在一起的?

在NSClient++安装之后,只需在C:\Program Files\NSClient++\NSClient.ini中复制下面的配置即可

使用NSclient++我们可以使用NSCA协议将度量发送到Nagios或Graphite服务器。因此,在配置文件中,我们使用一些类似配置的地址和调度器来定义GRAPHITE通道。调度程序将收集度量并将其发送到通道。根据上述配置,石墨为192.168.202.128

我面临的问题 但它并没有选择主机名。根据,它应该以类似的格式发送度量,但我看到的是。如果指标来自不同的机器,我们无法区分

[/modules]
CheckDisk = enabled
CheckExternalScripts = enabled
CheckHelpers = enabled
CheckNet = enabled
CheckSystem = enabled
GraphiteClient = enabled
Scheduler = enabled


[/settings/graphite/client]
channel = GRAPHITE
hostname=windows

[/settings/graphite/client/targets/default]
address = 192.168.202.128


[/settings/scheduler/schedules/default]
interval = 10s
report = all


[/settings/scheduler/schedules]
cpu=alias_cpu
mem=alias_mem
disk=alias_disk
service=alias_service
channel = GRAPHITE