AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 773565
Accepted
Jeroen Jacobs
Jeroen Jacobs
Asked: 2016-04-29 04:02:49 +0800 CST2016-04-29 04:02:49 +0800 CST 2016-04-29 04:02:49 +0800 CST

将kapacitor与influxdb和collectd一起使用

  • 772

我正在尝试将 Kapacitor 与我们的 influxdb 和 collectd 设置集成。但是,它似乎不起作用,我不明白为什么。

Collectd 和 Influxdb 运行正常,我认为 Kapacitor 能够连接到 influxdb。在 kapacitor 日志中,我看到了这个:

[influxdb] 2016/04/22 09:46:42 I! started UDP listener for collectd_db default

这是 collectd 记录指标的 influxdb 数据库的名称。

我创建了以下刻度文件,并将其上传到 kapacitor 并启用它:

stream
    .from().measurement('cpu_value')
    .where(lambda: "type" == "percent")
    .where(lambda: "type_instance" == "idle")
    .alert()
        .crit(lambda: "value" <  100)
        // Whenever we get an alert write it to a file.
        .log('/tmp/alerts.log')

这只是一个测试脚本,希望能产生一些输出。

脚本已启用:

Name                          Type      Enabled   Executing Databases and Retention Policies
cpu_tick                      stream    true      true      ["collectd_db"."default"]

但是,我没有看到任何录音:

[centos@ip-xx-xx-xx-xx tmp]$ kapacitor list recordings
ID                                      Type    Size      Created      

“cpu_value”是我数据库中的有效度量。

这是我在错误日志中得到的:

[cpu_alert:stream1] 2016/04/28 13:00:51 E! error while evaluating WHERE expression: name "percent" is undefined. Names in scope: time,value,host,instance,type,type_instance
collectd kapacitor
  • 1 1 个回答
  • 1392 Views

1 个回答

  • Voted
  1. Best Answer
    nvcook42
    2016-04-29T07:27:17+08:002016-04-29T07:27:17+08:00

    Kapacitor的作者在这里...

    在 Kapacitor lambda 表达式中,单引号和双引号具有不同的含义。

    • 单引号表示字符串文字
    • 双引号是对数据中的字段或标签的引用。

    这个表达式.where(lambda: "type" == "percent")是说只保留type字段或标签值等于字段或标签值的数据点percent。根据错误

    [cpu_alert:stream1] 2016/04/28 13:00:51 E!评估 WHERE 表达式时出错:名称“百分比”未定义。范围内的名称:时间、值、主机、实例、类型、类型实例

    percent字段或标签不存在。

    如果要过滤类型值等于percent文字的点,则需要使用单引号。

    .where(lambda: "type" == 'percent')

    您的下一个表达式可能也是如此。

    .where(lambda: "type_instance" == 'idle')

    AND如果你愿意,你也可以一起表达

    .where(lambda: "type" == 'percent' AND "type_instance" == 'idle')

    当 Kapacitor 发现where相邻的多个语句时,它会将它们转换为引擎盖下的 And'ed 表达式。

    这是解释引号差异的相关文档https://docs.influxdata.com/kapacitor/v0.12/introduction/getting_started/#keep-the-quotes-in-mind

    至于为什么没有录音,如果没有更多关于您如何尝试创建录音的上下文,我无法回答。

    • 6

相关问题

  • Collectd --> Elasticsearch 如果远程主机无法连接到中央弹性搜索

  • 管理 collectd 目录的大小

  • dyld:惰性符号绑定失败

  • 如何将 RRD 文件组合到概览图?(rrdtool,收集)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve