将 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 seriesSet
和 graphite query functions 一样的表达式时,您将在表达式选项卡上看到一个图表选项卡。您还可以将 .Graph
和 .GraphAll
模板函数与 Graphite 一起使用。所以它主要是功能性的。
文档中还有一个 example graphite alert in the examples 部分。
@kyle-brandt 的回答没问题,我给了它一个赞成票,但它和 Bosun 文档并没有真正解释如何使用你不托管的 Graphite,即 hostedgraphite.com。使用文档和一些试验和错误我想通了。所以这里是:
- 创建一个 Graphite API 密钥:http://docs.hostedgraphite.com/advanced/access-keys.html(您应该将 IP 地址列入白名单)。假设您有
https://www.hostedgraphite.com/deadbeef/431-831/graphite/
.
创建 data.conf
使用:
tsdbHost = localhost:4242
stateFile = /data/bosun.state
graphiteHost = https://www.hostedgraphite.com/deadbeef/431-831/graphite/render
- 启动Docker容器:
docker run -d \
-p 80:8070 \
--name=bosun \
-v `pwd`/bosun.conf:/data/bosun.conf \
stackexchange/bosun
请注意,我没有进行 4242 端口映射,因为我只是从 hostedgraphite.com 获取数据,并且我将 8070 映射到 80,这样我在浏览器中访问 Bosun 时就不必指定端口。
- 添加表达式:文档的 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)。
我是运行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 seriesSet
和 graphite query functions 一样的表达式时,您将在表达式选项卡上看到一个图表选项卡。您还可以将 .Graph
和 .GraphAll
模板函数与 Graphite 一起使用。所以它主要是功能性的。
文档中还有一个 example graphite alert in the examples 部分。
@kyle-brandt 的回答没问题,我给了它一个赞成票,但它和 Bosun 文档并没有真正解释如何使用你不托管的 Graphite,即 hostedgraphite.com。使用文档和一些试验和错误我想通了。所以这里是:
- 创建一个 Graphite API 密钥:http://docs.hostedgraphite.com/advanced/access-keys.html(您应该将 IP 地址列入白名单)。假设您有
https://www.hostedgraphite.com/deadbeef/431-831/graphite/
. 创建
data.conf
使用:tsdbHost = localhost:4242 stateFile = /data/bosun.state graphiteHost = https://www.hostedgraphite.com/deadbeef/431-831/graphite/render
- 启动Docker容器:
docker run -d \ -p 80:8070 \ --name=bosun \ -v `pwd`/bosun.conf:/data/bosun.conf \ stackexchange/bosun
请注意,我没有进行 4242 端口映射,因为我只是从 hostedgraphite.com 获取数据,并且我将 8070 映射到 80,这样我在浏览器中访问 Bosun 时就不必指定端口。 - 添加表达式:文档的 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)。