[iyunv@salt states]# pwd /salt/states # 因为我的file_root是配置在这里
[iyunv@salt states]# cat install_zabbix_agent.sls
/root/zabbix_agent2017-03-08.tar.gz:
file.managed:
- source: salt://zabbix_agent2017-03-08.tar.gz
zabbix-agent: # 指定zabbix-agent用户名
user.present: # 创建zabbix-agent用户
- shell: /sbin/nologin # 设置shell为不登陆
/var/log/zabbix/: # 指定文件路径
file.directory: # 创建目录
- user: zabbix-agent # 目录属主
- group: zabbix-agent
- mode: 755 # 目录权限
- makedirs: True # 是否创建目录
- watch: # 在创建用户之后执行
- user: zabbix-agent
unpack_zabbix_agent:
cmd.run:
- name: "tar zxf /root/zabbix_agent2017-03-08.tar.gz -C /usr/local/" # 解包
- watch:
- file: /root/zabbix_agent2017-03-08.tar.gz # 在复制完包后解压
set_config:
cmd.run:
- name: sed -i s/172.16.160.39/`ifconfig |grep -o "\<addr:.*ast\>" |awk -F":" '{print $2}' |awk '{print $1}'`/ /usr/local/zabbix_agent/etc/zabbix_agentd.conf && /usr/local/zabbix_agent/sbin/zabbix_agentd # 修改配置文件后启动agent
- watch:
- cmd: unpack_zabbix_agent # 在解压之后执行
zabbix_onboot:
cmd.run:
- name: echo "/usr/local/zabbix_agent/sbin/zabbix_agentd " >>/etc/rc.local
- watch:
- cmd: set_config |