首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >collectd是否支持指标的任意嵌套?

collectd是否支持指标的任意嵌套?
EN

Stack Overflow用户
提问于 2017-03-28 01:07:26
回答 1查看 272关注 0票数 0

根据从collectd中转储的collectd naming schema指标,插件需要遵循以下结构

代码语言:javascript
复制
host / plugin - plugin_instance / type - type_instance

这适用于cpu、内存等系统指标,但对于通过健康URL暴露其健康状态的应用程序,可以具有任意嵌套的表单参数

代码语言:javascript
复制
{"datacenter": {"region": {"server": {"service": {"parameter": value } } } } }

,当由collectd调度时,应将其转换为

代码语言:javascript
复制
$datacenter.$region.$server.$service.$parameter = $value

但是当前收集的命名模式不允许这样做。如何在collectd中做到这一点呢?

EN

回答 1

Stack Overflow用户

发布于 2017-03-28 02:32:19

正如前面提到的here,其他人也曾遇到过这个问题

我找到了一个拐弯抹角的方法:

使用collectd exec plugin

  • Change
  1. 插件将EscapeCharacter设置为".“,而不是重新启动write_graphite
  2. collectd-python plugin

现在,如果我编写一个exec插件:

代码语言:javascript
复制
#!/bin/bash

HOSTNAME="${COLLECTD_HOSTNAME:-localhost}"
INTERVAL="${COLLECTD_INTERVAL:-10}"

function gen_random() {
  echo $RANDOM  % 10 + 1 | bc
}

while sleep "$INTERVAL"; do
  VALUE=$(do_magic)
  echo "PUTVAL \"$HOSTNAME/region.datacenter.rack.cluster.server.service/gauge-service_parameter\" interval=$INTERVAL N:$VALUE" | tee -a /var/tmp/test.log; 
done

这将在石墨中创建以下层次:

代码语言:javascript
复制
region/
region/datacenter
region/datacenter/rack
region/datacenter/rack/cluster
region/datacenter/rack/cluster/server
region/datacenter/rack/cluster/server/service
region/datacenter/rack/cluster/server/service/gauge-service_parameter.wsp

请注意,前缀"gauge“很重要,因为collectd需要知道正在推送的值的类型。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43052484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档