【SaltStack】在Master上给Minion端安装zabbix

一、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

1 base:
2    '*':
3     - cpitables.*
4     - install_zabbix.*

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

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

 1 /soft/zabbix-2.4.5.tar.gz:
 2   file.managed:
 3    - unless: test -e /soft/zabbix-2.4.5.tar.gz
 4    - source: salt://iso/zabbix-2.4.5.tar.gz
 5    - user: root
 6    - group: root
 7    - mode: 644
 8   cmd.run:
 9    - cwd: /soft
10    - name: tar zxf zabbix-2.4.5.tar.gz && cd /soft/zabbix-2.4.5 && ./configure --prefix=/usr/local/zabbix-2.4.5 --enable-agent && make && make install
11    - unless: test -d /usr/local/zabbix-2.4.5
12    - require:
13      - file: /soft/zabbix-2.4.5.tar.gz
14 
15 /soft/install_zabbix.py:
16   file.managed:
17    - unless: test -e /soft/install_zabbix.py
18    - source: salt://install_zabbix/install_zabbix.py
19    - user: root
20    - group: root
21    - mode: 775
22   cmd.run:
23    - name: /usr/bin/python /soft/install_zabbix.py
24    - require: 
25      - file: /soft/install_zabbix.py

 

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

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

 1 #!/usr/bin/env python
 2 # coding:utf-8
 3 
 4 import socket
 5 import os
 6 
 7 def init_zabbix():
 8     hostname = socket.gethostname()
 9     os.system('useradd zabbix -s /sbin/nologin')
10     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
11 onf')
12     os.system('sed -i "s/Hostname=Zabbix server/Hostname=' + hostname+ '/g" /usr/local/zabbix-2.4.5/etc/zabbix-agentd.conf')
13     os.system('echo "/usr/local/zabbix-2.4.5/sbin/zabbix_agentd" >> /etc/rc.local')
14     os.system("/usr/local/zabbix-2.4.5/sbin/zabbix_agentd")
15 
16     if os.system('service iptables status|grep 10050') > 0:
17         os.system('iptables -A INPUT -s 192.168.236.0/24 -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT ')
18         os.system('service iptables save')
19 
20 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

 

posted @ 2017-09-25 17:29  foreverfriends  阅读(242)  评论(0编辑  收藏  举报