将 Graphite 指标与 bosun 集成

Integrate graphite metrics with bosun

我是运行Docker水手长的容器。我想将石墨指标与 bosun 集成。
为此需要进行哪些配置更改?

根据您链接的文档,您必须在配置中设置 graphiteHost

graphiteHost: an ip, hostname, ip:port, hostname:port or a URL, defaults to standard http/https ports, defaults to “/render” path. Any non-zero path (even “/” overrides path)

Bosun 中的绘图页面和项目页面只能使用 OpenTSDB 作为后端。但是,您仍然可以使用表达式页面、仪表板和配置编辑器。当您使用 return a seriesSetgraphite query functions 一样的表达式时,您将在表达式选项卡上看到一个图表选项卡。您还可以将 .Graph.GraphAll 模板函数与 Graphite 一起使用。所以它主要是功能性的。

文档中还有一个 example graphite alert in the examples 部分。

@kyle-brandt 的回答没问题,我给了它一个赞成票,但它和 Bosun 文档并没有真正解释如何使用你不托管的 Graphite,即 hostedgraphite.com。使用文档和一些试验和错误我想通了。所以这里是:

  1. 创建一个 Graphite API 密钥:http://docs.hostedgraphite.com/advanced/access-keys.html(您应该将 IP 地址列入白名单)。假设您有 https://www.hostedgraphite.com/deadbeef/431-831/graphite/.
  2. 创建 data.conf 使用:

    tsdbHost = localhost:4242 stateFile = /data/bosun.state graphiteHost = https://www.hostedgraphite.com/deadbeef/431-831/graphite/render

  3. 启动Docker容器: docker run -d \ -p 80:8070 \ --name=bosun \ -v `pwd`/bosun.conf:/data/bosun.conf \ stackexchange/bosun 请注意,我没有进行 4242 端口映射,因为我只是从 hostedgraphite.com 获取数据,并且我将 8070 映射到 80,这样我在浏览器中访问 Bosun 时就不必指定端口。
  4. 添加表达式:文档的 docs say to use GraphiteQuery but that didn't work for me, graphite worked instead. For example: graphite("my.long.metric.name.for.some.method", "10m", "", ""). There is also an example graphite alert in the examples 部分(感谢 @kyle-brandt)。