我目前正忙着创建一个自动的netdata临时集群,这意味着我有一个主netdata节点,从节点连接到这个节点。我发现了一个类似的question + answer,但我使用的不是谷物,而是柱子。
我试图获得Netdata主ip,并通过模板将其分发给运行Netdata的仆从。但这也适用于其他主从信任(如postgres、elasticsearch等)。
我是通过柱子来分配角色的。所以我的支柱文件看起来是:
server:
roles:
- netdata-master
- grafana还有我的金刚模板:
{% set netdatamaster = ..... %}
[stream]
# stream metrics to another netdata
enabled = yes
# the IP and PORT of the master
destination = {% netdatamaster %}:19999现在,我希望var netdatamaster包含ipv4主服务器的ipv4 adres。我只是想不出办法。
发布于 2018-07-19 09:25:06
你可以用盐矿来做这个。
首先向您的netdata-主服务器添加一个mine_function。这可以在支柱或minion配置文件中进行配置。
mine_functions:
eth0_ip_addrs:
mine_function: network.ip_addrs
interface: eth0上面的mine_function使其他仆从能够为您的netdata-主服务器请求network.ip_addrs值。
您可以以不同的方式请求这些数据:
salt 'other_minion_id' mine.get 'netstat-master_id' eth0_ip_addrs{{ salt['mine.get']('netstat-master_id', 'eth0_ip_addrs') }}在您的例子中,您可以将它放在您的Jinja模板文件的顶部。
{% set netdatamaster = salt['mine.get']('netstat-master_id', 'eth0_ip_addrs') %}
https://stackoverflow.com/questions/51417250
复制相似问题