ls zabbix_linux_install/
agent_install.sls init.sls zabbix_agentd.conf zabbix.repo
cat init.sls
include:
- zabbix_linux_install.agent_install
cat zabbix.repo
[zabbix]
baseurl=http://mirrors.aliyun.com/zabbix/zabbix/2.4/rhel/6/x86_64/
gpgcheck=0
cat agent_install.sls
agent_install.sls
/etc/yum.repos.d/zabbix.repo:
file.managed:
- source: salt://zabbix_linux_install/zabbix.repo
zabbix-agent:
cmd.run:
- name: yum install zabbix-agent-2.4.5 -y
- require:
- file: /etc/yum.repos.d/zabbix.repo
service.running:
- require:
- cmd: zabbix-agent
- watch:
- file: /etc/zabbix/zabbix_agentd.conf
/etc/zabbix/zabbix_agentd.conf:
file.managed:
- source: salt://zabbix_linux_install/zabbix_agentd.conf ( 主要内容:Hostname={{ grains['ip_interfaces']
['eth1'][0] }})
- template: jinja
- require:
- cmd: zabbix-agent
老师的
{% set NODENAME = grains['nodename'] %}
{% set BINDIR = '/usr/local/zabbix/sbin' %}
{% set LOGDIR = '/var/log/zabbix' %}
{% set Serverip = '192.168.40.11' %}
# source pacekages
zabbix_source:
file.managed:
- name: /tmp/zabbix-2.4.1.tar.gz
- unless: test -e /tmp/zabbix-2.4.1.tar.gz
- source: salt://files/common/zabbix/zabbix-2.4.1.tar.gz
#trace zabbix
extract_zabbix:
cmd.run:
- cwd: /tmp
- names:
- tar -zxf zabbix-2.4.1.tar.gz >/dev/null 2>&1
- unless: test -d /tmp/zabbix-2.4.1/
- require:
- file: zabbix_source
#Add user
zabbix_user:
user.present:
- name: zabbix
- uid: 1000
- createhome: False
- gid_from_name: True
- shell: /sbin/nologin
/var/log/zabbix:
file.directory:
- user: zabbix
- group: zabbix
- dir_mode: 755
- file_mode: 655
- recurse:
- user
- group
"init.sls" 87L, 2508C
agent_start_init:
file.managed:
- name: /etc/init.d/zabbix_agentd
- user: root
- mode: 0755
- source: salt://files/common/zabbix/zabbix_agentd
- source_hash: salt://files/common/zabbix_agent/zabbix_agentd
- template: jinja
- defaults:
ZABBIX_BIN: {{ BINDIR }}
- unless: if [[ ${cat /etc/init.d/zabbix_agentd | grep "{{ BINDIR }}" | awk -F'=' 'NR==1{print $2}'} =
'"{{ BINDIR }}"' ]];then exit 0;fi
cmd.run:
- names:
- /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
zabbix_config_set:
file.managed:
- name: /usr/local/zabbix/etc/zabbix_agentd.conf
- user: root
- mode: 744
- source: salt://files/common/zabbix/zabbix_agentd.conf
- template: jinja
- defaults:
ServerADD: {{ Serverip }}
AgentNAME: {{ NODENAME }}
- unless: if grep '{{ NODENAME }}' /usr/local/zabbix/etc/zabbix_agentd.conf >/dev/null 2>&1;then exit 0;fi
/usr/bin/zabbix_get:
file.symlink:
- target: /usr/local/zabbix/bin/zabbix_get
- unless: test -L /usr/bin/zabbix_get
/usr/bin/zabbix_sender:
file.symlink:
- target: /usr/local/zabbix/bin/zabbix_sender
- unless: test -L /usr/bin/zabbix_sender