一、IP信息说明

【Master】

IP: 192.168.236.100

【Minion】

IP: 192.168.236.101

二、配置SaltStack

关于SaltStack Master和Minion的安装这里不再赘述!

【配置Master】

1.新建目录

mkdir  -p  /srv/salt/iso

mkdir -p   /srv/salt/install_zabbix

2.新建配置文件

(1)  /srv/top.sls

 base:
'*':
- cpitables.*
- install_zabbix.*

(2)  /srv/salt/install_zabbix/install_zabbix_new.sls

说明:本sls文件主要用来从Master端的/srv/salt/iso目录下复制文件到Minion端的/soft目录下,然后安装zabbix并启动zabbix

 /soft/zabbix-2.4..tar.gz:
file.managed:
- unless: test -e /soft/zabbix-2.4..tar.gz
- source: salt://iso/zabbix-2.4.5.tar.gz
- user: root
- group: root
- mode:
cmd.run:
- cwd: /soft
- name: tar zxf zabbix-2.4..tar.gz && cd /soft/zabbix-2.4. && ./configure --prefix=/usr/local/zabbix-2.4. --enable-agent && make && make install
- unless: test -d /usr/local/zabbix-2.4.
- require:
- file: /soft/zabbix-2.4..tar.gz /soft/install_zabbix.py:
file.managed:
- unless: test -e /soft/install_zabbix.py
- source: salt://install_zabbix/install_zabbix.py
- user: root
- group: root
- mode:
cmd.run:
- name: /usr/bin/python /soft/install_zabbix.py
- require:
- file: /soft/install_zabbix.py

(3)  /srv/salt/install_zabbix/install_zabbix.py

说明:该脚本主要用来修改zabbix客户端的配置文件信息,并设置防火墙

 #!/usr/bin/env python
# coding:utf- import socket
import os def init_zabbix():
hostname = socket.gethostname()
os.system('useradd zabbix -s /sbin/nologin')
os.system('sed -i "s/Server=127.0.0.1/Server=192.168.236.100/g;s/ServerActive=127.0.0.1/ServerActive=192.168.236.100/g" /usr/local/zabbix-2.4.5/etc/zabbix-agentd.c
onf')
os.system('sed -i "s/Hostname=Zabbix server/Hostname=' + hostname+ '/g" /usr/local/zabbix-2.4.5/etc/zabbix-agentd.conf')
os.system('echo "/usr/local/zabbix-2.4.5/sbin/zabbix_agentd" >> /etc/rc.local')
os.system("/usr/local/zabbix-2.4.5/sbin/zabbix_agentd") if os.system('service iptables status|grep 10050') > :
os.system('iptables -A INPUT -s 192.168.236.0/24 -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT ')
os.system('service iptables save') init_zabbix()

(4) 将zabbix客户端安装包zabbix-2.4.5.tar.gz复制到目录/srv/salt/iso

【Minion】

在客户端新建目录soft

mkdir /soft

三、操作说明

在Master执行如下命令进行操作:

salt '*'  state.sls install_zabbix.install_zabbix_new

'*' : 表示所有可侦测到的Minion端

state.sls :为固定用法

install_zabbix :表示install_zabbix_new.sls文件所在的上次目录,该目录以/etc/salt/master文件中定义的目录为家目录

install_zabbix_new : 为操作用到的sls文件

其他可能用到的命令:

检测Master与Minion的是否连接:

salt '*'  test.ping

在安装zabbix前进行验证测试:

salt '*'  state.sls install_zabbix.install_zabbix_new test=True
05-11 18:21