问题标签 [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.

0 投票
1 回答
727 浏览

mongodb - 对于像“计数器”类型的 RRD,Collectd 插件正在向 mongo 报告绝对值而不是增量

因此,我正在为 Collectd 编写一个读取插件openvz_guest_bandwidth 通过使用libiptc查询每个来宾正在执行的外部带宽,我读取了Openvz来宾正在执行多少带宽。

然后我将此信息报告给我编写的write_mongodb 插件,(可能与破损有关)

问题是我在 mongo 中看到了类似的记录,

有趣的价值观在哪里。我希望报告的值是连续记录之间的差异,而不是计数器读取的值。

据我了解,这类似于 COUNTER 的 RRD 计数器类型,而不是 ABSOLUTE。

我非常坚持这一点,不确定故障可能出在哪里,甚至不确定如何纠正它。错误可能在阅读或写作中。

作为旁注,在值到达 write_mongodb 之前,它们通过 collectd 网络插件发送。

此外,我似乎在 和 之间感到value_list.plugin困惑value_list.plugin_instance。其他插件似乎使用的类型提供了一个非常无用的字段,例如"t: 'memory'"内存集合内部。

0 投票
1 回答
1872 浏览

ruby - 尝试从 ruby​​script 中运行乘客状态命令时的特权问题

我在 ruby​​ 中编写了一个 collectd 插件,用于检查乘客状态并报告各种指标。当我测试我的脚本时一切正常,但是当我尝试通过 collectd 运行我的脚本时,它失败并显示以下消息。

“错误:您无权查询此 Phusion Passenger 实例的状态。请使用 'sudo' 重试。”

然后我更改了我的 ruby​​ 脚本以使用 sudo 命令来获取乘客状态,这导致

“exec plugin: exec_read_one: error = sudo: 抱歉,你必须有一个 tty 才能运行 sudo”

然后我尝试让 collectd 以 root 身份运行脚本,但我得到了以下

“执行插件:胆小拒绝以root身份执行程序。”

我不确定我还能尝试什么。由 root 以外的用户使用时失败的命令是passenger-status

这是脚本

#!/usr/bin/env ruby 需要'getoptlong'

# The name of the collectd plugin, something like apache, memory, mysql, interface, ... PLUGIN_NAME = '乘客状态'

def 用法 puts("#{$0} -h [-i ]") 退出结束

# Main begin # 同步标准输出,以便正确刷新到 collectd。$stdout.sync = 真

# 解析命令行选项 hostname = nil sampling_interval = 20 # sec, Default value opts = GetoptLong.new( [ '--hostid', '-h', GetoptLong::REQUIRED_ARGUMENT ], [ '--sampling-interval', ' -i', GetoptLong::OPTIONAL_ARGUMENT ] ) opts.each 做 |opt, arg| case opt when '--hostid' hostname = arg when '--sampling-interval' sampling_interval = arg.to_i end end use if !hostname

# 收集循环 while true do start_run = Time.now.to_i next_run = start_run + sampling_interval

结束结束

0 投票
2 回答
2500 浏览

collectd - 默认的 collectd 插件目录在哪里?

Collectd 默认将其插件存储在哪里?我缺少一个 perl 插件,我想确保它不是因为安装被冲洗掉了。

0 投票
1 回答
102 浏览

bug-reporting - 收集的 memcachec 插件坏了?

我正在尝试使用该memcachec插件从 memcached 中读取数据,但是当我使用此配置时:

我得到了memcachec plugin: Option 'server' not allowed here.,如果我删除我得到的服务器选项memcachec plugin: 'Server' missing in 'Page' block.。我检查了 memcachec 的来源并且有这个代码(memcachec.c,第 329 行):

似乎第二个if应该是else if插件工作。这是一个错误吗?我在哪里报告?在官方修复到来之前,在本地修复它的正确方法是什么?

0 投票
1 回答
654 浏览

rrdtool - RRDtool 在导出数据时强制使用 step 参数

我正在使用 javascript 库来可视化 rrdtool 数据并使用 rrdtool xport 从 rrd 文件中检索数据。

今天我注意到以下情况:查看now-1day的数据时:数据点为100
,但是查看now-31day的数据时,无处可见100的数据点...

使用 xport 时,如何确保在指定时间内获得所有数据点?
我正在使用--step 10,但它没有任何区别。无论我设置什么--step,它都不会被使用。我读到这是因为如果它小于 1 像素就会被忽略,那么这个问题的建议解决方案是什么?

附加信息:
我正在使用带有默认 RRDtool 插件选项的 Collectdtool:http ://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_rrdtool

编辑:似乎RRDtool的本质是一个月、一天、一年等有多个档案,所以我不能在一个月内获得档案的每个数据点是有道理的吗?

0 投票
2 回答
2789 浏览

linux - Linux CPU 百分比加起来不是 100%

每当我尝试从命令topmpstat特别是collectd服务之类的命令中添加 CPU 利用率百分比时,我都无法获得确切的 100% CPU 利用率。

例如top来自 Amazon EC2 上的测试服务器的结果:

无论我如何将这些百分比相加,我从来没有完全得到 100% 的 CPU,当然不是以任何合乎逻辑的方式。大多数情况下,这似乎是舍入错误;100.1% 或 99.9%,但有时我最终会超过 110%。这通常发生在steal相对较高的情况下,例如collectd报告的一种情况是约 21.44% 的抢断和约 88% 的闲置,而这两种情况已经远远超过 100%。我知道ni(nice) 也计入us(user),所以我不应该添加它,但这仍然行不通。

有谁知道如何将这些添加到 100% 或如何解释collectd有时报告的例外情况?

0 投票
1 回答
1202 浏览

nagios - collectd 可以作为 nagios 的替代品吗?

Collectd 提供了一种测量机器统计数据的好方法。如果我需要扩展插件系统来支持怎么办

  1. 被测机器的配置
  2. 服务器上运行的所有进程的列表以及 CPU、内存和磁盘的利用率?
  3. 扫描安全漏洞?
  4. 补丁管理 - 如果 collectd 客户端需要升级,用户现在需要重新编译和重新安装。我们可以将升级推送到所有运行 collectd 代理的客户端机器吗?我的猜测是这应该是可能的,因为服务器和客户端在 UDP 中处于多播模式(没有客户端服务器模式对吗?)

我目前有用于图形和 mongodb 的石墨设置来收集数据。理想情况下,我想将非数字数据存储在 mongodb 中。

第 1、2 和 3 项可能吗?

0 投票
1 回答
637 浏览

fedora - fedora 17 上的 collectd write_mongodb 插件 lt_dlopen 错误。collectd 无法识别已安装的库

我已经从 git repo 下载了 libmongoc 驱动程序并进行安装。然后我下载了collectd tar文件,解压并尝试安装它,一切正常,但是当我尝试运行collect d时,我遇到了这些错误:

为什么 collectd 无法识别已安装的 libmongoc 库?

0 投票
2 回答
1425 浏览

c - 有没有办法通过带有网络插件或其他插件的collectd中的SSL向服务器发送数据?

我的动机是通过 SSL 加密将 collectd 记录的所有统计信息从客户端机器发送到服务器。

Collectd 有一个网络插件,它执行将统计信息发送到服务器的功能,我们可以在 collectd.conf 文件中设置配置:-

客户端配置 -

服务器配置 -

此配置正在执行将数据发送到具有身份验证的服务器的任务。

有什么方法可以在此配置中添加 SSL 加密,还是有其他方法可以将 SSL 加密添加到 collectd?

尽管 SecurityLevel Encrypt会加密使用 AES-256 发送的数据。但是我们如何使用SSL保护它并通过添加所需的证书来适应其公钥和私钥的概念。

0 投票
2 回答
5092 浏览

collectd - 如何将缺少的插件添加到 collectd

我已经在我的 ubuntu 机器上安装了collectd 。我想启用 redis插件,但默认情况下不附带它。任何人都知道如何以及在哪里可以下载该插件?