问题标签 [telegraf]

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 回答
11982 浏览

testing - Telegraf测试输入输出插件报错多个conf文件

Telegraf 版本:Telegraf v1.0.1

我有以下文件:

主配置文件(您在安装电报时免费创建/获取)。该文件中没有任何[[output.<plugin>]]节,但inputs.xx启用了有效的默认插件。

(这个文件有有效的outputs.<pluginname>插件)。

(这个文件有额外inputs.<pluginname>的插件,我想与主 conf 文件分开)。


运行sudo service telegraf status显示 Telegraf 正在运行 [OK]!和日志文件 /var/log/telegraf/telegraf.log (看起来也不错,没有显示任何错误)。

如果我对上述配置文件之一进行任何更改,我想测试所做的更改(在我重新启动 telegraf 之前),所以我使用-testor--test选项运行以下命令,但我收到以下错误:

正如您在上面看到的,两个选项都-test可以--test工作,但上面也给出了有效的错误消息。

由于上述错误是因为没有为 提供任何配置节[[outputs.<plugin>]],因此我为包含输出插件节的文件提供了另一个 --config 文件参数,但现在它给出了缺少输入的错误。文件:

注意:上述命令在提供多个参数值时不会出错。--config <someConfigFile>

如果我想测试第三个文件中的任何更改,也会出现同样的错误:(/ etc/ telegraf /telegraf.d/telegraf-additional-inputs-plugins.conf )

假设我在这里有多个文件,如何测试单个选择性的配置文件更改:/etc/telegraf/telegraf.d/*.conftelegraf

0 投票
2 回答
2374 浏览

ansible-2.x - ansible-galaxy failing for init install - Failed to get data from the API server - a bytes-like object is required, not 'str'

ansible: ansible-galaxy 2.2.0.0

python: Python 2.7.10

I tried ansible-galaxy command to create a new role structure (init command) but it failed with the following message. So, I looked online and tried --offline option and structure creation part worked.

So far, I have my Github repo: https://github.com/asangal/wavefront-ansible

Role is also visible in Ansible Galaxy under Browse Roles.

https://galaxy.ansible.com/list#/roles?page=1&page_size=10&autocomplete=wavefront or

https://galaxy.ansible.com/asangal/wavefront-ansible/

As per the instructions, I'm trying to run the install step by running but it failed again with the same error message as shown below.

OR (used --ignore-errors and -p <role_path> options but it didn't help)

curl -v https://galaxy.ansible.com/asangal/wavefront-ansible/ seems to work fine.

Why am I getting this error: Failed to get data from the API server (https://galaxy.ansible.com/api/): a bytes-like object is required, not 'str'?

0 投票
1 回答
284 浏览

wavefront - EnhanceIO Telegraf `filestat` 插件 - 超级 GLOB 模式不起作用 - 使 telegraf 递归查找所有文件

Telegraf v1.0.1 ( git: master 26acdc9231efde105510fe5df3da7519bc4f42f7 )

sudo service telegraf status显示Telegraf 服务运行成功telegraf is running [OK]

我正在使用 Wavefront 的基于 SaaS 的监控解决方案来显示 Telegraf 数据或设置各种其他东西(警报、仪表板)......它可以工作。

概述:安装 Telegraf 时,它会在/etc/telegraf/telegraf.conf中创建其主配置文件,用户可以将其他配置放在/etc/telegraf/telegraf.d /*.conf(文件)下。

我有/etc/telegraf/telegraf.d/extra-inputs-plugins.conf并且在这个文件中,我有以下内容(如您所见,它正在使用filestat inputs plugin)并且以下配置有效:

在一些数据库服务器上,我已经安装了EnhanceIO(更多信息请看这里:https ://github.com/stec-inc/EnhanceIO

安装 EnhanceIO 后,您将获得如下文件夹结构:

要配置 Telegraf 的filestat插件以捕获/查找/proc/enhanceio/data_cache/config文件,我可以添加它或/proc/enhanceio/data_cache/*在我的配置中添加(但这样做,解决方案将无法扩展,即如果我希望 telegraf 选择/proc文件夹下的所有文件怎么办。

插件文档/评论部分说:

因此,我尝试了以下配置来查找每个文件(递归):

以上在我运行时导致以下输出:($ telegraf --config-directory=/etc/telegraf -test|grep filestat|grep -v '/var/run/'|grep enhance实际上 /proc/enhanceio 是一个文件夹)。

然后,我尝试使用该**方法,但我什么也没得到

我尝试了几乎所有glob模式(例如:/proc/enhanceio/*/*、、或) /proc/enhanceio/*/**,但它只是没有捕获 /proc/enhanceio 树下的任何文件。/proc/enhanceio/**/*/proc/enhanceio/**/**

当我尝试上述模式时,为什么 filestat 插件的 SUPER GLOB 模式根本不起作用?

如何使 filestat 插件捕获 /proc 树下的所有文件?

PS/proc/enhanceio/data_cache/* :如果我想config在该目录下(仅在该级别)捕获文件,我知道给予将起作用。

0 投票
1 回答
755 浏览

influxdb - 引用 Grafana 中的现有面板

我想知道是否可以构建一个“概述”类型的仪表板,它引用不同仪表板中的其他面板。

我有一个非常详细的仪表板,其中包含系统的大量统计信息,并且想仅提取 CPU 和网络以用于新仪表板,该仪表板将为多个系统显示相同的统计信息(每个系统中具有相同的数据)。是否可以“引用”现有对象?或者我是否需要从源重新创建每个面板作为公式的副本?

我正在使用带有 InfluxDB 数据源和 Telegraf 的最新 Grafana 4 来收集统计信息。

0 投票
0 回答
387 浏览

windows - Windows 上的 Telegraf [inputs.disk]:设备未就绪错误

我们使用Telegraf监控我们的 Windows 7 节点。总共 4 台机器,但错误仅存在于其中 1 台上。

电报.conf:

运行 telegraf 在日志文件中产生以下错误:

输入 [inputs.disk] 中的错误:获取磁盘使用信息时出错:设备未准备好。

--test使用和标志运行 telegraf--debug不会提供任何进一步的信息。

磁盘本身正在工作 - 机器作为 Jenkins slave 连接,我们在那里运行测试。我还可以打开一个带有磁盘属性的窗口,并且可以查看并单击所有内容。正如我所说,此错误仅出现在 4 台机器中的 1 台上。

任何指针如何进一步调试?

0 投票
1 回答
4082 浏览

performance - 为什么我们在使用 statsd 时需要 telegraf

我一直在使用 statsd + telegraf + influxdb 的组合。

  • Statsd 收集、聚合和转发指标
  • Telegraf 聚合和转发指标

为什么不只使用 statsd(没有 telegraf)来聚合和转发指标?包含 telegraf 的额外好处是什么?

0 投票
1 回答
333 浏览

nginx - 将电报与 aerospike 和 influxdb 一起使用的概念

我正在学习电报的概念。这是一个收集数据并将其写入 influxdb 的系统。所以我设置了一个 influxdb、一个电报和一个将创建日志的 nginx。Telegraf 将收集日志并将其写入 influxdb。

但我看到很多配置也使用 aerospike。我看不出 aerospike 在这个 conecpt 中做了什么?

我看到它被配置为电报的输入插件:

我对 nginx 部分有误吗? aerospike 是否提供日志,或者我必须如何使用 nginx、influxdb、telegraf 和 aerospike 来解释这个概念

0 投票
0 回答
545 浏览

node.js - 从承诺中回归

我目前正在使用Node API Telegraf为 Telegram 编程机器人,试图从IMDB API中的承诺中获取返回值,并且在某些情况下工作正常。问题是 catch 总是运行,并且在某些情况下,IMDB API 在内联搜索时找不到电影,但在使用 /search 时找到它。

0 投票
0 回答
358 浏览

debian - 带有 apache 代理问题的 influxdata telegraf

我已经在 Windows 上使用了一段时间的 influxdata telegraf 指标收集器,并且使用 influxdb 的 URL 作为具有 apache 的主机并没有问题,该主机具有转发到实际 influxdb 主机的设置反向代理。我刚开始在 debian 上的 linux v 1.2.1 上使用 telegraf,遇到了一个奇怪的问题。

Telegraf 将使用 influxdb 的 URL 发送到具有 apache revers 代理的主机的所有请求都将失败,因为它们是在 apache 主机上执行而不是转发到实际的 infxluddb 主机

有谁知道可能导致这种行为的原因是什么?

我尝试了 apache reveres 代理与实际的以及在单独的自定义端口上转发的单独的虚拟主机

两种方法都不起作用

0 投票
1 回答
3986 浏览

python-2.7 - telegraf - exec 插件 - aws ec2 ebs volumen info - 指标解析错误,原因:[缺少字段]或遇到错误:[无效数字]

机器- CentOS 7.2Ubuntu 14.04/16.xx

电报版本:1.0.1

Python版本:2.7.5

Telegraf 支持一个名为:exec的 INPUT 插件。首先请参阅那里的README文档中的示例 2 。我不能使用 JSON 格式,因为它只使用数值作为指标。根据文档:

所以,这个想法很简单,你在 exec 插件部分指定一个脚本,它应该吐出一些有意义的信息(在我的例子中是JSON - 或- influx数据格式,因为我有一些包含非数字值的指标)你会想要在一个很酷的仪表板中的某个地方捕捉/显示,例如此处显示 的Wavefront 仪表板::波前

基本上,人们可以使用这些指标、标签、这些指标的来源来找出有关内存、cpu、磁盘、网络、其他有意义的信息的各种信息,并在发生意外情况时使用这些信息创建警报。

好的,我想出了这个可用的 python 脚本:

此脚本将与 AWS EC2 EBS 卷对话并输出它可以找到的所有值(通常是您在 AWS EC2 EBS 卷控制台中看到的)并将该信息格式化为有意义的 CSV 格式,我将其重定向到 .csv 日志文件。 我们不想一直运行 python 脚本(AWS API 限制/成本因素)。

因此,一旦创建了 .csv 文件,我就创建了这个小的 shell 脚本,我将在Telegraf 的 exec 插件部分中设置它。

/tmp/aws-vol-info.shTelegraf exec 插件中设置的Shell 脚本为:

使用 exec 插件 ( ) 创建的 Telegraf 配置文件/etc/telegraf/telegraf.d/exec-plugin-aws-info.conf

调整了 .py(用于生成函数的 Python 脚本)以生成以下三种类型的输出格式(.csv 文件),并想在启用配置文件( /etc/ telegraf /telegraf. d/catch-aws-ebs-info.conf)并重新启动telegraf服务。


格式 1:("每个值都用双引号括起来)

在电报目录上测试telegraf配置给了我以下错误。

命令$ telegraf --config-directory=/etc/telegraf --test --input-filter=exec

格式 2:(不带任何"双引号)

在测试 Telegraf 的 exec 插件配置时出现相同的错误:

格式 3:(此格式的值中没有任何"双引号和空格字符)。_用字符替换空格。

仍然没有工作,得到同样的错误:

格式 4:如果我按照此页面遵循流入线协议: https ://docs.influxdata.com/influxdb/v1.2/write_protocols/line_protocol_tutorial/

我收到此错误

我怎样才能摆脱这个错误并让 telegraf 与 exec 插件(运行 .sh 脚本)一起工作


其他信息

Python 脚本将每天运行一次/两次(通过 cron),而 telegraf 将每 1 分钟运行一次(运行 exec 插件 - 运行 .sh 脚本 - 它将对 .csv 文件进行分类,以便 telegraf 可以以流入数据格式使用它) .

https://galaxy.ansible.com/wavefrontHQ/wavefront-ansible/

https://github.com/influxdata/telegraf/issues/2525