saltstack 安装 zabbix-agent
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
salt 修改 README Aug 8, 2018
LICENSE Initial commit Aug 8, 2018
README.md 添加修改 agent 配置文件方法 Aug 8, 2018
master 上传 salt 文件 Aug 8, 2018

README.md

SaltStack 自动化部署 zabbix-agent

SaltStack 自动化部署 zabbix-agent

版本说明:

  • 操作系统:CentOS 7.5.1804
  • Zabbix:zabbix-3.2.6.tar.gz

技术交流 QQ 群(加群请备注来源于 GitHub):

  • Linux 运维交流群:653266421

一、系统初始化

  1. 设置主机名
  2. 关闭 SELInux
  3. 关闭 iptables

二、克隆本项目

在 salt-master 克隆本项目之前请自行安装配置好 SaltStack

$ git clone https://github.com/wangenzhi/salt-zabbix-agent.git
$ cd salt-zabbix-agent/
$ mv * /srv/
$ cp /srv/master /etc/salt/master
$ systemctl restart salt-master

三、下载 zabbix 安装包

$ cd /srv/salt/zabbix/templates/
$ wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz

四、修改对应的配置参数,本项目使用 Jinja 模板提供配置文件

$ vim /srv/salt/zabbix/modules/zabbix-agent.sls
# 找到 agent-config 这个 ID 修改两个变量的值
agent-config:
  file.managed:
    - name: /etc/zabbix/zabbix_agentd.conf
    - source: salt://zabbix/templates/zabbix_agentd.conf
    - user: root
    - group: root
    - mode: 644
    - template: jinja
    - defaults:
      # Zabbix Server 监听的IP地址(必须修改)
      SERVER_IP: 10.100.4.214
      # Zabbix Server 监听的端口
      SERVER_PORT: 10051

五、执行 SaltStack 状态

# 测试连通性
$ salt '*' test.ping

# 部署 Zabbix Agent
$ salt '*' state.highstate

执行状态根据需要部署的节点多少而定,大概 1 台节点的部署时间在 1 分钟左右,第一次执行可能会出现服务启动失败的情况,不影响安装,手动启动一次以后再通过 salt 状态管理就不会出现这个问题。

六、修改 zabbix_agentd.conf 配置文件

本项目使用的配置文件及其简单,可以修改本项目的配置文件添加其它参数,需要注意的是以下三个参数绝对不能修改:

$ vim /srv/salt/zabbix/templates/zabbix_agentd.conf 
   
LogFile=/var/log/zabbix/zabbix_agentd.log
EnableRemoteCommands=0
# Zabbix Server 地址引用的 zabbix_agent.sls 中定义的变量
Server={{ SERVER_IP }} 
StartAgents=8
# 主动模式提交的地址 地址引用的 zabbix_agent.sls 中定义的变量
ServerActive={{ SERVER_IP }}:{{ SERVER_PORT }}
# Hostname 的值会自动获取 agent 端的主机名
Hostname={{ grains['nodename'] }}
Timeout=30
Include=/etc/zabbix/zabbix_agentd.conf.d/
UnsafeUserParameters=1
HostMetadataItem=system.uname