Automation 获得Saltstack Jinja模板中的仆从ip,该模板由支柱过滤
我目前正忙于创建一个自动化的netdata临时集群,这意味着我有一个主netdata节点,从节点可以连接到该节点。 我发现了一个类似的,但我没有使用谷物,而是使用柱子 我正在尝试获取Netdata主ip,并通过模板将其分发给运行Netdata的仆从。但这也适用于其他主从配置(例如postgres、elasticsearch等) 我通过支柱分配角色。 因此,我的支柱文件如下所示:Automation 获得Saltstack Jinja模板中的仆从ip,该模板由支柱过滤,automation,jinja2,salt-stack,Automation,Jinja2,Salt Stack,我目前正忙于创建一个自动化的netdata临时集群,这意味着我有一个主netdata节点,从节点可以连接到该节点。 我发现了一个类似的,但我没有使用谷物,而是使用柱子 我正在尝试获取Netdata主ip,并通过模板将其分发给运行Netdata的仆从。但这也适用于其他主从配置(例如postgres、elasticsearch等) 我通过支柱分配角色。 因此,我的支柱文件如下所示: server: roles: - netdata-master - grafana 和我的jin
server:
roles:
- netdata-master
- grafana
和我的jinja模板:
{% set netdatamaster = ..... %}
[stream]
# stream metrics to another netdata
enabled = yes
# the IP and PORT of the master
destination = {% netdatamaster %}:19999
现在我希望var
netdatamaster
包含netdatamaster的ipv4地址。我就是想不出一个办法。你可以用盐矿来做这个
首先向netdata主服务器添加一个mine_函数。这可以在支柱或minion配置文件中配置
mine_functions:
eth0_ip_addrs:
mine_function: network.ip_addrs
interface: eth0
上述mine_功能允许其他仆从为netdata主服务器请求network.ip_addrs
的值
您可以通过不同的方式请求此数据:
- 从cli:
salt'other\u minion\u id'mine.get'netstat-master\u id'eth0\u ip\u addrs
- 在您的州文件中:
{{salt['mine.get']('netstat-master\u id','eth0\u ip\u addrs')}
{%set netdatamaster=salt['mine.get']('netstat-master\u id','eth0\u ip\u addrs')%}