|
本人没什么linux基础,所以加了很多注释,注释都是以个人理解的,有错误希望大家可以指导。适合给没什么linux基础的人群参考
操作系统:Centos6.5
salt-master:192.168.203.30
salt-minion:192.168.203.31
1、salt-master目录结构:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| [iyunv@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(入口文件,必须有)
1
2
3
4
| [iyunv@zabbix ~]# cat /srv/salt/top.sls
base:
'*':
- zabbix_client.init # 指定入口,zabbix_client文件夹下的init.sls文件
|
3、init.sls
1
2
3
4
| [iyunv@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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| [iyunv@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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| [iyunv@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
1
2
| [iyunv@zabbix ~]# cat /srv/salt/zabbix_client/file/zabbix_agentd.conf
Hostname={{ grains['ip_interfaces']['eth0'][0] }}
|
7、服务器主动推命令:
1
| [iyunv@zabbix ~]# salt \* state.highstate
|
8、查看zabbix日志:
服务端:
1
| [iyunv@zabbix ~]# cat /tmp/zabbix_server.log
|
客户端:
1
| [iyunv@zabbix ~]# cat /tmp/zabbix_agentd.log
|
|
|
|
|
|
|
|