如何设置NSClient++自动向REST发送度量

2024-05-15 08:20:04 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我们希望主要的性能指标每分钟一次。我们不关心非数字数据,但如果它也进来了,那就好了,如果我们接收到它,我们可以将它解析成一个报警控制台。在

可下载的nsci++安装程序。配置它是一件事,但是如何配置呢?我甚至读到我可以让它将性能数据发送到graphite服务器,但是我如何截获这些性能数据并通过REST接口发送给自己呢?在

我可以用Python编写任何代码,如果有一种方法可以将我试图发送到Python应用程序中的数据,我可以使用urllib2(或请求)将其发送进来。在

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


Tags: 数据服务器restjson协议度量windows部署
1条回答
网友
1楼 · 发布于 2024-05-15 08:20:04

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

[/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

使用NSclient++我们可以使用NSCA协议将度量发送到Nagios或Graphite服务器。因此,在配置文件中,我们用一些配置(比如address)和{}来定义{}通道。scheduler将收集度量并将其发送到Channel。根据上面的配置,Graphite位于192.168.202.128。在

我面临的问题

但它没有选择hostname。根据graphite HTTP Doc,它应该以<machine_name>.<Metric_Name> <Value>的格式发送度量,但是我看到的是<Metrics_name> <Value>。如果指标来自不同的机器,我们就无法区分。在

相关问题 更多 >