首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >盐类Jinja模板柱状过滤中的minion ip

盐类Jinja模板柱状过滤中的minion ip
EN

Stack Overflow用户
提问于 2018-07-19 07:55:18
回答 1查看 755关注 0票数 0

我目前正忙着创建一个自动的netdata临时集群,这意味着我有一个主netdata节点,从节点连接到这个节点。我发现了一个类似的question + answer,但我使用的不是谷物,而是柱子。

我试图获得Netdata主ip,并通过模板将其分发给运行Netdata的仆从。但这也适用于其他主从信任(如postgres、elasticsearch等)。

我是通过柱子来分配角色的。所以我的支柱文件看起来是:

代码语言:javascript
复制
server:
  roles:
    - netdata-master
    - grafana

还有我的金刚模板:

代码语言:javascript
复制
{% 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。我只是想不出办法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-19 09:25:06

你可以用盐矿来做这个。

首先向您的netdata-主服务器添加一个mine_function。这可以在支柱或minion配置文件中进行配置。

代码语言:javascript
复制
mine_functions:
  eth0_ip_addrs:
    mine_function: network.ip_addrs
    interface: eth0

上面的mine_function使其他仆从能够为您的netdata-主服务器请求network.ip_addrs值。

您可以以不同的方式请求这些数据:

  • 从cli: 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') %}

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

https://stackoverflow.com/questions/51417250

复制
相关文章

相似问题

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