salt安装zabbix-agent(jinja变量使用pillar)

salt和pillar的工作目录如下:

[root@centos2 salt]# tree
.
├── conf
│   ├── zabbix_agentd.conf
│   └── zabbix_server.conf
├── cp.sls
├── test.py
├── top.sls
├── yum.sls
└── zabbix-3.0.0.tar.gz

[root@centos2 pillar]# pwd
/srv/pillar
[root@centos2 pillar]# tree
.
├── bbbb.sls
├── top.sls
├── tttt.sls
├── users.sls
└── zabbix.sls

zabbix配置文件放置在conf目录下:

[root@centos2 salt]# ll conf/
total 28
-rw-r--r-- 1 root root 10266 Aug 23 19:23 zabbix_agentd.conf
-rw-r--r-- 1 root root 14663 Feb 15  2016 zabbix_server.conf

首先去配置pillar,配置项目如下:

[root@centos2 pillar]# cat zabbix.sls 
{% set zabbix_version = '3.0.0' %}
{% set zabbix_prefix  = '/usr/local/services/zabbix-' + zabbix_version %}
{% set zabbix_agent_port = '10050' %}
{% set zabbix_server_ip = '192.168.220.130' %}
{% set zabbix_server_port = '10051' %}

{% set zabbix_packae_url = '/usr/local/services' %}

{% set zabbix_server_host = '103.38.29.254' %}




zabbix_erver: {{ zabbix_server_ip }}
agent_port: {{ zabbix_agent_port }}
server_port: {{ zabbix_server_port }}
package_url: {{ zabbix_packae_url }}

然后再top.sls文件中加入zabbix.sls,书写如下:

[root@centos2 pillar]# vim top.sls 
base:
  '*':
#    - bbbb
#    - users
#    - tttt
    - zabbix

查看设置的pillar值是否生效:

[root@centos2 pillar]# salt ubuntu  pillar.items
ubuntu:
    ----------
    agent_port:
        10050
    package_url:
        /usr/local/services
    server_port:
        10051
    zabbix_erver:
        192.168.220.130

现在pillar这里设这完成,然后我们去/srv/salt/目录下,这里我们要实现的目的是吧zabbix-agent部署到每一台机器上,用来分发的state文件我们命名为cp.sls:

#引入变量模板可以找个------{% import 'zabbix/configurate.jinja' as app %},里面的内容基本如下
[root@centos2 salt]# cat cp.sls 
{% set destination = '/usr/local/services' %}
send zabbix.tar.gz:
  file.managed:
    - name: {{ destination }}/zabbix-3.0.0.tar.gz
    - source: salt://zabbix-3.0.0.tar.gz
    - templete: jinja

send configuration file:
  file.managed:
    - name: /etc/zabbix_agentd.conf
    - source: salt://conf/zabbix_agentd.conf
    - template: jinja

这里用到了jinja语法, source: salt://conf/zabbix_agentd.conf是模板配置文件,这里要是不配置 - template: jinja,待会我们看模板配置文件的时候会无效过,获取不到pillar的值,然后我们去看看模板文件:

[root@centos2 salt]# vim conf/zabbix_agentd.conf
...

# Mandatory: no
# Default:
# Server=

Server= {{ salt['pillar.get']('zabbix_erver') }}

### Option: ListenPort
#       Agent will listen on this port for connections from the server.
#
# Mandatory: no
# Range: 1024-32767
# Default:
# ListenPort=10050
...

{{ salt'pillar.get' }}是获取我们在pillar里面的zabbix_erver的值,这个值是zabbix服务端的ip地址:

[root@centos2 salt]# salt  ubuntu  pillar.get zabbix_erver
ubuntu:
    192.168.220.130

对于端口什么的设置,模板文件中获取的写法都是这样,比如还要修改端口,可在模板配置文件中端口号改成:

{{ salt['pillar.get']('zabbix_port') }}

就可以获取到你指定的端口号了,当然这些值已经我们在开始的时候配置到了pillar中了

[root@centos2 pillar]# pwd 
/srv/pillar
[root@centos2 pillar]# cat zabbix.sls 
{% set zabbix_version = '3.0.0' %}
{% set zabbix_prefix  = '/usr/local/services/zabbix-' + zabbix_version %}
{% set zabbix_agent_port = '10050' %}
{% set zabbix_server_ip = '192.168.220.130' %}
{% set zabbix_server_port = '10051' %}
{% set zabbix_packae_url = '/usr/local/services' %}
{% set zabbix_server_host = '103.38.29.254' %}
zabbix_erver: {{ zabbix_server_ip }}
agent_port: {{ zabbix_agent_port }}
server_port: {{ zabbix_server_port }}
package_url: {{ zabbix_packae_url }} 

都配置完成了执行下面命令,执行分发动作( test=true是测试有没有问题,没有报错就可以将其去掉):

[root@centos2 conf]# salt  '*'  state.sls  cp  saltenv=base  test=true

这样所有机器都有pillar定义的值
如果要还要追加权限配置的话,可以看上一篇

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容