本文参考(小强的博客)http://www.wpython.com/556.html以及http://www.it165.net/os/html/201406/8507.html进行部署,根据本身情况做了一些修改。
本人没什么linux基础,所以加了很多注释,注释都是以个人理解的,有错误希望大家可以指导。适合给没什么linux基础的人群参考
操作系统:Centos6.5
salt-master:192.168.203.30
salt-minion:192.168.203.31
1、salt-master目录结构:
[root@zabbix ~]# tree /srv/salt/
/srv/salt/
├── iptables # 准备做防火墙规则配置文件,暂时没用
│ └── iptables
├── top.sls # 入口文件
└── zabbix_client
├── conf.sls # 配置文件
├── file
│ ├── zabbix-2.4.4.tar.gz # zabbix压缩包
│ ├── zabbix_agentd # zabbix客户端文件
│ └── zabbix_agentd.conf # zabbix客户端配置文件
├── init.sls # 初始指定配置文件
└── install.sls # 安装配置文件
3 directories, 8 files
2、top.sls(入口文件,必须有)
[root@zabbix ~]# cat /srv/salt/top.sls
base:
'*':
- zabbix_client.init # 指定入口,zabbix_client文件夹下的init.sls文件
3、init.sls
[root@zabbix ~]# cat /srv/salt/zabbix_client/init.sls
include:
- zabbix_client.install # 指向文件,zabbix_client文件夹下的install.sls文件
- zabbix_client.conf # 指向文件,zabbix_client文件夹下的conf.sls文件
4、install.sls
[root@zabbix ~]# cat /srv/salt/zabbix_client/install.sls
zabbix_client_source:
file.managed: # 文件管理
- name: /tmp/zabbix-2.4.4.tar.gz # 文件
- unless: test -e /tmp/zabbix-2.4.4.tar.gz # 如果文件不存在
- user: root
- goup: root
- makedirs: True
- source: salt://zabbix_client/file/zabbix-2.4.4.tar.gz # 复制此文件到上面路径
zabbix_client_extract:
cmd.run:
- cwd: /tmp # 进入此目录
- names:
- tar xvf zabbix-2.4.4.tar.gz # 加压压缩文件
- unless: test -d /tmp/zabbix-2.4.4 # 如果此文件不存在
- require:
- file: zabbix_client_source # 需要执行完zabbix_client_source
zabbix_user:
user.present:
- name: zabbix
- createhome: False
- gid_from_name: True
- shell: /sbin/nologin
zabbix_client_compile:
cmd.run:
- cwd: /tmp/zabbix-2.4.4 # 进入此目录
- names:
- ./configure --enable-agent # 检查agent是否可以编译
- unless: test -d /tmp/zabbix-2.4.4
- require:
- cmd: zabbix_client_extract # 需要执行完zabbix_client_extract
zabbix_client_make:
cmd.run:
- cwd: /tmp/zabbix-2.4.4 # 进入此目录
- names:
- make install # 执行命令make install,进行zabbix编译
- unless: test -d /tmp/zabbix-2.4.4 # 如果此文件不存在
- require:
- cmd: zabbix_client_compile # 需要执行完zabbix_client_compile
5、conf.sls
[root@zabbix ~]# cat /srv/salt/zabbix_client/conf.sls
include:
- zabbix_client.install
zabbix_client_conf:
file.managed:
- name: /usr/local/etc/zabbix_agentd.conf
- source: salt://zabbix_client/file/zabbix_agentd.conf
- template: jinja
- defaults:
Hostname: {{ grains ['ip_interfaces']['eth1'][0] }}
zabbix_client_service:
file.managed:
- name: /etc/init.d/zabbix_agentd
- user: root
- mode: 755
- source: salt://zabbix_client/file/zabbix_agentd
cmd.run:
- names:
- /bin/chmod +x /etc/init.d/zabbix_agentd
- /sbin/chkconfig --add zabbix_agentd
- /sbin/chkconfig zabbix_agentd on
- unless: /sbin/chkconfig --list zabbix_agentd
service.running:
- name: zabbix_agentd
- enable: True
- restart: True
- watch:
- file: /usr/local/etc/zabbix_agentd.conf
6、zabbix_agentd.conf
[root@zabbix ~]# cat /srv/salt/zabbix_client/file/zabbix_agentd.conf
Hostname={{ grains['ip_interfaces']['eth0'][0] }}
7、服务器主动推命令:
[root@zabbix ~]# salt \* state.highstate
8、查看zabbix日志:
服务端:
[root@zabbix ~]# cat /tmp/zabbix_server.log
客户端:
[root@zabbix ~]# cat /tmp/zabbix_agentd.log
转载于:https://blog.51cto.com/vino3k/1640217