【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
页:
[1]