问题标签 [collectd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在collectd中运行多个python插件实例?
我为 编写了一个简单的 python 插件collectd
,我想为db1
和运行两个实例db2
:
文件:/etc/collectd/plugins/redis_info.py
文件:/etc/collectd/collectd.conf.d/redis_info.conf
但是,只有一个实例 (db2) 有效,前一个实例 (db1) 被禁用。
如何运行两个实例?谢谢!
perl - 如何将参数传递给 collectd perl-plugin 的读取函数?
我正在尝试实现一个collectd-plugin,它应该报告同一台机器上多个服务器进程实例的数据。
我的 TYPE_CONFIG 函数很好——它获取每个配置项并解析它。
我正在努力解决的是 TYPE_READ 函数——我希望读者的每次调用只报告一个服务器实例,这样,如果一个实例的调用失败,collectd 调用的速率其他实例的方法,不受影响。
所以我尝试从 TYPE_CONFIG 方法中注册多个 TYPE_READ 方法。
不幸的是,collectd 没有将任何参数传递给 read-method... 一种替代方法是在 config 中构建实例列表,仅注册一个读取器,然后循环遍历其中的列表——这可行,但有提到的缺点上图:如果一个实例未能报告其统计信息,守护程序将降低所有实例的查询率。
另一种选择可能是使用 Perl 的匿名函数——但我不确定如何使用。以下不起作用:
Collectd 拒绝这样的调用:Collectd::plugin_register: Invalid data
。
是否有一些简单的方法可以以 plugin_register 可接受的方式创建这样的函数?
metrics - 使用 Statsd 聚合 Collectd 度量
我正在使用 Collectd 收集系统指标。我正在小间隔收集测量值以获得准确的值。但是我想使用 Statsd 在本地聚合这些值。Statsd 应该聚合这些值并以更长的时间间隔将它们发送到 librato。这将降低成本。
我已经完成了 Collectd 和 Statsd 的基本设置。如何将数据从 Collectd 发送到 Statsd?
Statsd 插件似乎是 Statsd 本身的替代品,似乎不提供此功能。
snmp - How to configure collectd-snmp to poll a router?
I am trying to use a Raspberry Pi to poll the interface MIB (IF:MIB) of a TP-LINK router and then send the metrics to Librato. Setting up collectd and integrating it with Librato is no problem at all - I am successfully tracking other metrics (cpu, memory, etc.). The challenge I have is with the collectd-snmp plugin configuration.
I installed net-snmp and can "see" the router:
The Pi is on 192.168.0.20, the router on 192.168.0.1. My collectd.conf is as follows:
When I restart collectd I get the following error:
It obviously can't find the MIB, it doesn't even seem to be looking at the router's IP. Any suggestions on how to configure this correctly?
graphite - collectd 无法将数据发送到石墨碳守护进程
我们有一个石墨全栈服务器,它接收来自不同机器的指标。当其他 collectd 客户端发送数据正常时,其中一个客户端出现以下错误:
1 月 29 日 23:24:44 collectd-client collectd [25489]:write_graphite 插件:发送到石墨服务器:2003((null))失败,状态为 -1(连接被拒绝) 1 月 29 日 23:24:44 collectd-client collectd [25489]:collectd:停止 5 个写入线程。
java - collectd java插件GenericJMX的源代码
Collectd支持使用 Java 代码编写您自己的插件。它通过Java 插件做到这一点。我需要写一个java插件。我想我会看一个例子,即插件GenericJMX。
有谁知道我在哪里可以找到 GenericJMX 的源代码?
这个存储库似乎与称为 Uptime 的东西有关,而不是与 collectd 有关。而且,它是用 php 编写的,而不是 Java。
java - CollectD Java 插件在 Graphite 中错误地显示为零
CollectD是关于插件的。
一个插件是Java插件。记录在这里,这里和这里。Java 插件的功能是托管其他插件。
一个这样的 Java 插件是GenericJMX,它的源代码在这里。使用该类和另一个更简单的类 JMXMemory2.java,我创建了一个类,该类一遍又一遍地静态报告一个值。它对不同的 collectD 数据类型执行此操作,这在此处有所解释。
我遇到的问题是,当在 Graphite 中显示时,只有 1 种数据类型报告实际值。其余显示为零。 如果我创建并使用自定义数据类型,数据将按预期绘制。我想使用绝对、计数器、派生和仪表的内置泛型类型。这样我就不必在 types.db 中创建新的数据类型。
该值每次设置为数字 12。
绝对值:ABSOLUTE:0:U
------> 以 1.2 为中心绘制看起来像心跳的图形
计数器值:COUNTER:U:U
------> 图形 0
派生值:DERIVE:0:U
------> 图 0
仪表值:GAUGE:U:U
------> 图表 0
内存值:GAUGE:0:281474976710656
------> 绘制一条直线 12
memory2 value:GAUGE:0:281474976710656
------> 绘制12的直线
graphite - 使用石墨计算多个磁盘使用百分比
我有这样的指标:
我想在每个磁盘(df-var 和 df-root : collectd.host.df-*
)上都有 free /(free + used + reserved):也就是说每个磁盘上可用空间的百分比。
我想出了这个解决方案(这是行不通的):
c - 即使缓冲区没有完全填满,如何使用 collectd 的 write_http 插件发布数据?
我正在使用 collectd 和 write_http 插件。我已经配置它并且它工作正常。这是我从它的工作中了解到的-
它完全取决于缓冲区大小,即当缓冲区填满时,它将数据发布到配置文件中的给定 url。
无论缓冲区大小如何,我都想在所有命令执行后发布数据。
是否可以在执行所有命令且不填充缓冲区大小的情况下发布数据?
elasticsearch - Logstash collectd 编解码器从 collectd 获取空消息
我正在尝试使用 collectd 编解码器设置 logstash。这是我的配置:
收集文件
logstash.conf
但我在logstash输出中得到的只有很多:
2015-03-05T22:06:35.802+0000 本地主机%{消息}
我猜 collectd 一定是在向我发送事件,但它们是空的。