SaltStack学习笔记之安装zabbix_agentd(jinja和pillar)
一、环境说明
机器 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)的更多相关文章
- saltstack学习笔记1 --安装
salt官网:http://docs.saltstack.cn/zh_CN/latest/ 安装教程: - http://docs.saltstack.cn/zh_CN/latest/topics/i ...
- CentOS学习笔记--Tomcat安装
Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...
- OracleDesigner学习笔记1――安装篇
OracleDesigner学习笔记1――安装篇 QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一. 前言 Oracle是当 ...
- CUBRID学习笔记 2 安装教程
下载地址 http://www.cubrid.org/?mid=downloads&item=any&os=detect&cubrid=9.3.0 选择适合你的服务器版本 l ...
- nodejs学习笔记<一>安装及环境搭建
零零散散学了几天nodejs,进度一直停滞不前,今天沉下心来好好看了下nodejs的介绍和代码.自己也试着玩了下,算是有点入门了. 这里来做个学习笔记. ——————————————————————— ...
- docker学习笔记1 -- 安装和配置
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...
- Nginx 学习笔记之安装篇
在windows下安装Nginx其实非常简单,只需如下几个步骤: 1. 在Nginx官网下载相应版本的安装程序,上面有最新版.稳定版等各种版本,正式运营的项目建议下载最新的稳定版 2.将下载后的压缩包 ...
- 学习笔记:安装swig+用SWIG封装C++为Python模块+SWIG使用说明
这段时间一直在摸索swing,用它来封装C++代码来生成python脚步语言.并总结了swing从安装到配置再到代码封装编译生成动态库的整个过程,下面这篇文章都是我在实际的运用中的一些经验总结,分享给 ...
- Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7)
前一节演示如何使用Nginx反向代理 .net Core项目容器,地址:Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(二) ...
随机推荐
- 观锁和乐观锁——《POJOs in Action》
1 事务隔离 事务隔离是数据库提供的功能. SQL Server通过SET TRANSACTION ISOLATION LEVEL语句设置事务隔离级别: SET TRANSACTION ...
- DEBUG无法进入断点解决方法
18/08/17 任务栏:Tools->Options->Debugging->General->Require source files to exactly match t ...
- JavaScript中的跨域问题
跨域问题其实很普遍的存在的,如何解决跨域问题呢,跨域问题到底是怎么产生的,解决方法的由来又是什么?我觉得看了视频讲解,值得写下来,记录下来. 一.跨域问题是怎么产生? 概念:只要协议.域名.端口有任何 ...
- vue 改变插值方法
Vue默认的插值是双大括号{{}}.但有时我们会有需求更改这个插值的形式. delimiters:['${','}'] //必须要用一个数组来接收,用逗号隔开.
- libuv httpparser写的简单http server
libuv文档地址:http://docs.libuv.org/en/v1.x/代码地址:https://github.com/libuv/libuvhttp-parser https://githu ...
- mxnet.base.MXNetError: src/imperative/./imperative_utils.h:70: Check failed: inputs[i]->ctx().dev_mask() == ctx.dev_mask() (1 vs. 2)
mxnet 训练错误: mxnet.base.MXNetError: [14:42:22] src/imperative/./imperative_utils.h:70: Check failed: ...
- 2 SQL 查询基础
2 查询基础 2-1 SELECT语句基础 通过SELECT语句查询并选取必要数据的过程称为匹配查询或查询(query). 子句是SQL语句的组成要素,是以SELECT或者FROM等作为起始的短语. ...
- 怎样提高DB2存储过程性能
高性能的SQL过程是数据库开发人员所追求的,我将不断把学到的,或在实际开发中用到的一些提高SQL过程性能的技巧整理出来,温故而知新. 1,在只使用一条语句即可做到时避免使用多条语句 让我们从一个简单的 ...
- 83-MACD 移动平均汇总/分离指标.(2015.7.3)
MACD 移动平均汇总/分离指标 ~计算: · EMA(12,t)=EMA(12,t-1) * 11/13 + Close * 2/13 · EMA(26,t)=EMA(26,t-1) * 25/27 ...
- 杭电 4883 TIANKENG’s restaurant (求饭店最少需要座椅)
Description TIANKENG manages a restaurant after graduating from ZCMU, and tens of thousands of custo ...