saltstack一键部署zabbix_agent&&管理文件
本次试验设想安装N台新机器机器都安装salt-minion后有两个可管理特性:首先是全部机器都需要共同基础操作的“配置文件”“软件”“服务”,
然后是特殊集群需要安装的服务划出来。
这里首先在top.sls里面创建两个项目“base”是那些基础操作,"prod"里面是特殊集群的服务。
现在开始介绍环境:
Centos 6.4 x86_64
salt-minion-0.17.2-2.el6.noarch
salt-0.17.2-2.el6.noarch
salt-master-0.17.2-2.el6.noarch
本次实验是管理固定配置文件和服务,安装必备软件。
本次管理文件:
/etc/resolv.conf
/etc/sysctl.conf
/etc/security/limits.conf
管理的软件:
zabbix-agent lrzsz tree
管理的服务:
zabbix-agent
salt的配置文件
top.sls
base:
'*':
- initfile
- initpkgs
- agent
prod:
'node*':
- service
需要初始化的一些配置文件:
initfile.sls
/etc/resolv.conf:
file.managed:
- source: salt://file/resolv.conf
- user: root
- group: root
- mode: 644
/etc/sysctl.conf:
file.managed:
- source: salt://file/sysctl.conf
- user: root
- group: root
- mode: 644
/etc/security/limits.conf:
file.managed:
- source: salt://file/limits.conf
- user: root
- group: root
- mode: 644
需要安装的一些软件包:
initpkgs.sls
initpkgs:
pkg.installed:
- pkgs:
- lrzsz
- tree
- zabbix-agent
安装管理zabbix-agent服务:
agent.sls
zabbix-agent:
pkg.installed:
- name: zabbix-agent
service.running:
- watch:
- pkg: zabbix-agent
- file: /etc/zabbix/zabbix_agentd.conf
file.managed:
- name: /etc/zabbix/zabbix_agentd.conf
- source:salt://file/zabbix_agentd.conf
- user: root
- group: root
- mode: 644
- template: jinja
- defaults:
Server: {{ pillar['zabbix-agent']['Zabbix_Server'] }}
HOSTFQDN: {{ grains['fqdn'] }}
- require:
- pkg: zabbix-agent
安装管理httpd服务:
service.sls
httpd:
pkg:
- installed
service.running:
- watch:
- pkg: httpd
- file: /etc/httpd/conf/httpd.conf
/etc/httpd/conf/httpd.conf:
file.managed:
- source:salt://file/httpd.conf
- user: root
- group: root
- mode: 644
首先salt-master测试一下无误以后
salt \* state.highstate -v test=Ture
再推送一次
salt \* state.highstate
页:
[1]