SaltStack部署實踐(7) - zabbix-agent部署

目錄

一、目錄規劃

二、zabbix-agent部署

#2.1、下載epel源並配置

#2.2、測試環境,避免包名等原因,確保腳本正確性

#2.3、agent配置文件jinja變量供sls調用

#2.4、目標狀態sls文件編寫

# 2.5、執行sls部署


一、目錄規劃

所有機器公用 -- base
系統初始化 -- init
zabbix安裝 -- zabbix
logstash安裝 -- lostash

[root@linux-node1 base]# mkdir /srv/salt/init /srv/salt/zabbix /srv/salt/logstash

二、zabbix-agent部署

#2.1、下載epel源並配置

[root@linux-node1 files]# wget http://mirrors.aliyun.com/repo/epel-7.repo
[root@linux-node1 init]# cat yum-repo.sls 
/etc/yum.repos.d/epel-7.repo:
  file.managed:
    - source: salt://init/files/epel-7.repo
    - user: root
    - group: root
    - mode: 644

#2.2、測試環境,避免包名等原因,確保腳本正確性

[root@linux-node2 zabbix]# yum list | grep zabbix
[root@linux-node2 zabbix]# yum install -y zabbix22-agent.x86_64
[root@linux-node2 zabbix]# scp zabbix_agentd.conf [email protected]:/srv/salt/base/zabbix/files

#2.3、agent配置文件jinja變量供sls調用

[root@linux-node1 files]# vi /srv/salt/base/zabbix/files/zabbix_agentd.conf 
Server={{ ZABBIX-SERVER }}
Hostname= {{ AGENT-HOSTNAME }}
Include=/etc/zabbix_agentd.conf.d/

#2.4、目標狀態sls文件編寫

[root@linux-node1 zabbix]# vi /srv/salt/base/zabbix/zabbix-agent.sls 
# 包含epel-7.repo源配置
include:
  - init.yum-repo

# yum包安裝
zabbix-agent:
  pkg.installed:
    - name: zabbix22-agent.x86_64
    - require: 
      - file: /etc/yum.repos.d/epel-7.repo  # 檢測依賴yum源,如果有誤則不執行
# agent配置文件
  file.managed:
    - name: /etc/zabbix_agentd.conf
    - source: salt://zabbix/files/zabbix_agentd.conf
    - user: root
    - group: root
    - mode: 655
    - template: jinja
    - ZABBIX_SERVER: 192.168.56.11
    - AGENT_HOSTNAME: {{ grains['fqdn'] }}  # 通過grains獲取agent主機名
    - require:
      - pkg: zabbix-agent
# 服務狀態檢測
  service.running:
    - name: zabbix-agent
    - enable: True
    - watch:  # 監聽,如果包或者配置文件有變化,重啓服務
      - pkg: zabbix-agent
      - file: zabbix-agent

# 監聽自定義的監控配置文件目錄
zabbix_agentd.conf.d: 
  file.directory:
    - name: /etc/zabbix_agentd.conf.d
    - watch_in:
      - service: zabbix-agent  # 如果目錄有變更,重啓服務
    - require:
      - pkg: zabbix-agent
      - file: zabbix-agent

# 2.5、執行sls部署

[root@linux-node1 zabbix]# salt "linux-node2*" state.sls zabbix.zabbix-agent test=True


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章