一、环境说明

机器                IP                  主机名
Master 192.168.0.23 minion.saltstack.com
Minion 192.168.0.35 minion-node2.saltstack.com

二、查看安装zabbix_agentd所需目录

[root@minion salt]# tree
├── master
├── pillar #pillar工作目录
│   ├── init
│   │   └── zabbix_agent.sls #pillar定义的值
│ |
|   └── top.sls #pillar入口文件
└── states #state工作目录
├── init
│   ├── files
│   │   └── zabbix_agentd.conf #作为标准配置文件,所有minion都已这个为准,内容得跟这个一样
│   |
│   └── zabbix_agent.sls #定义各种关系
└── top.sls #state入口文件

三、配置Pillar

定义Pillar工作路径

vim /etc/salt/master
pillar_roots:
base:
- /etc/salt/pillar

配置pillar入口文件

vim /etc/salt/pillar/top.sls
base: #ID声明,自定义的
'minion-node2.saltstack.com': #远程主机ID
- init.zabbix_agent #配置文件在pillar工作目录(/etc/salt/pillar)下的/init/zabbix_agent.sls

定义pillar值

#此配置文件对应的是states目录(/etc/salt/states/init/)中zabbix_agent.sls中的pillar段
vim /etc/salt/pillar/init/zabbix_agent.sls
zabbix-agent:
Zabbix_Server: 192.168.0.24 #映射Pyhton字典为:
{'zabbix-agent':
{
'Zabbix_Server':192.168.0.24
}
}

四、配置states

定义states工作路径

file_roots:
base:
- /etc/salt/states
prod:
- /etc/salt/states/prod

定义states入口文件

vim /etc/salt/states/top.sls
base: #ID声明,自定义的
'*': #远程主机ID
- init.zabbix_agent #配置文件是states工作目录(/etc/salt/states)下的/init/zabbix_agent.sls

定义states配置文件

vim /etc/salt/states/init/zabbix_agent.sls
zabbix_agent: #ID生命,自定义
pkg.installed:   #安装软件
- name: zabbix22-agent file.managed: #管理文件模块
- name: /etc/zabbix_agentd.conf #把标准配置文件放在客户端的这个位置
- source: salt://init/files/zabbix_agentd.conf #把标准文件放在Master端这个位置(salt://代表states工作目录(/etc/salt/states))
- user: root #属主
- group: root #属组
- mode: 644 #权限
- template: jinja #表示zabbix_agentd.conf使用jinja模板
- defaults:
Zabbix_Server: {{ pillar['zabbix-agent']['Zabbix_Server'] }} #这个配置文件中Server段用了jinja模板语言,所以用pillar获取/etc/salt/pillar/init/zabbix_agent.sls的值 service.running:   #服务管理
- name: zabbix-agentd #包名
- enable: True #开机启动
- reload: True #重载
- watch:
- file: zabbix_agent #监控zabbix_agent这个ID下zabbix_agent.conf配置文件,是否发生改变

配置Master端zabbix_agentd.sls

vim /etc/salt/states/init/files/zabbix_agentd.conf
Server={{ Zabbix_Server }} #把这段设置为jinja模板变量,表示这个值是变化的,pillar中定义为多少,minion端就应该是多少

 五、测试

Master端

salt '*' state.highstate 

NOTE:

  • 查看Minion端的zabbix_agentd.conf文件中的ServerIP是不是在Master端/etc/salt/pillar/init/zabbix_agent.sls中配置的值

SaltStack学习笔记之安装zabbix_agentd(jinja和pillar)的更多相关文章

  1. saltstack学习笔记1 --安装

    salt官网:http://docs.saltstack.cn/zh_CN/latest/ 安装教程: - http://docs.saltstack.cn/zh_CN/latest/topics/i ...

  2. CentOS学习笔记--Tomcat安装

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  3. OracleDesigner学习笔记1――安装篇

    OracleDesigner学习笔记1――安装篇   QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一.       前言 Oracle是当 ...

  4. CUBRID学习笔记 2 安装教程

    下载地址  http://www.cubrid.org/?mid=downloads&item=any&os=detect&cubrid=9.3.0 选择适合你的服务器版本 l ...

  5. nodejs学习笔记<一>安装及环境搭建

    零零散散学了几天nodejs,进度一直停滞不前,今天沉下心来好好看了下nodejs的介绍和代码.自己也试着玩了下,算是有点入门了. 这里来做个学习笔记. ——————————————————————— ...

  6. docker学习笔记1 -- 安装和配置

    技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...

  7. Nginx 学习笔记之安装篇

    在windows下安装Nginx其实非常简单,只需如下几个步骤: 1. 在Nginx官网下载相应版本的安装程序,上面有最新版.稳定版等各种版本,正式运营的项目建议下载最新的稳定版 2.将下载后的压缩包 ...

  8. 学习笔记:安装swig+用SWIG封装C++为Python模块+SWIG使用说明

    这段时间一直在摸索swing,用它来封装C++代码来生成python脚步语言.并总结了swing从安装到配置再到代码封装编译生成动态库的整个过程,下面这篇文章都是我在实际的运用中的一些经验总结,分享给 ...

  9. Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7)

    前一节演示如何使用Nginx反向代理 .net Core项目容器,地址:Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(二) ...

随机推荐

  1. Farseer.net轻量级开源框架 中级篇:BasePage、BaseController、BaseHandler、BaseMasterPage、BaseControls基类使用

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 中级篇: UrlRewriter 地址重写 下一篇:Farseer.net轻量级开源框架 中 ...

  2. 初学者对C++的切身感受

    上周和一同学聊起了当前一些比较流行且运用广范的编程语言,苹果的IOS比起其它语言 来说更加言简意赅,简单明了,并且他现在也打算一直弄IOS.我之前一直是用C语言和 GNU ARM汇编语言,因为这两种语 ...

  3. linux查看内核版本和发行版本号

    1.查看Linux内核版本号:1.1 uname -r #查看当前linux系统的内核版本号显示举例:2.6.21-1.3194.fc71.2 uname -a #可以查看包括内核版本号.机器硬件信息 ...

  4. JS中二进制与十进制的相互转换

    今天在做题目的时候遇到了需要十进制转换为二进制,这个我知道用toString可以,但是二进制转换为十进制我一下子就想不起来,网上搜了下,才知道是parseInt可以实现,特此记录下. 十进制转换为二进 ...

  5. sklearn.metrics.roc_curve

    官方网址:http://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics 首先认识单词:metrics: ['mɛ ...

  6. sql分组和连接

    SELECT mr.member_id, mr.username, GROUP_CONCAT(DISTINCT jb.company,jb.start_time,jb.end_time)company ...

  7. 查看密码存放地-shadow

    shadow 位置:/cat/shadow 作用:存放用户的密码等信息 使用查看命令以后得到以下数据 我们会看到9个字段,分别用  :隔开,如上图所示一一解释: 第一字段:用户名称 第二字段:加密密码 ...

  8. 基于Redis的三种分布式爬虫策略

    前言: 爬虫是偏IO型的任务,分布式爬虫的实现难度比分布式计算和分布式存储简单得多. 个人以为分布式爬虫需要考虑的点主要有以下几个: 爬虫任务的统一调度 爬虫任务的统一去重 存储问题 速度问题 足够“ ...

  9. linux与linux之间共享目录

    1.安装必要的包 nfs-utils           rpcbind (nfs是基于sun公司的rpc通信实现的,所以要装rpcbind) 这2包,在服务端和客户端都需要安装,并启动服务. 启动 ...

  10. 【转】C语言中access函数

    头文件:unistd.h 功 能: 确定文件或文件夹的访问权限.即,检查某个文件的存取方式,比如说是只读方式.只写方式等.如果指定的存取方式有效,则函数返回0,否则函数返回-1. 用 法: int a ...