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


 

猜你喜欢

转载自blog.csdn.net/weixin_39855998/article/details/105234456