523rew 发表于 2016-2-3 08:19:17

salt 安装zabbix agent

一、目录树
zabbix_client/
├── conf.sls
├── files
│   ├── zabbix-2.4.7.tar.gz
│   ├── zabbix_agentd
│   └── zabbix_agentd.conf
├── init.sls
└── install.sls

1 directory, 6 files

二、文件详解

(1)vim init.sls(与top.sls链接文件)
include:
- zabbix_client.install
- zabbix_client.conf            

(2)vim install.sls
#安装文件

zabbix_client_source:
file.managed:
    - name: /tmp/zabbix-2.4.7.tar.gz
    - unless: test -e /tmp/zabbix-2.4.7.tar.gz
    - user: root
    - group: root
    - makedirs: True
    - source: salt://zabbix_client/files/zabbix-2.4.7.tar.gz
zabbix_client_extract:
cmd.run:
    - cwd: /tmp
    - names:
      - tar -zxvf zabbix-2.4.7.tar.gz
    - unless: test -d /tmp/zabbix-2.4.7
    - require:
      - file: zabbix_client_source
zabbix_user:
user.present:
    - name: zabbix
    - createhome: False
    - gid_from_name: False
    - shell: /sbin/nologin
pkgs_install:
pkg.installed:
    - pkgs:
      - gcc
zabbix_client_compile:
cmd.run:
    - cwd: /tmp/zabbix-2.4.7
    - names:
      - ./configure --prefix=/zabbix_client --enable-agent
    - require:
      - cmd: zabbix_client_extract
      - pkg: pkgs_install
zabbix_client_make:
cmd.run:
    - cwd: /tmp/zabbix-2.4.7
    - names:
      - make
      - make install
    - reqiure:
      - cmd: zabbix_client_compile

(3)vimconf.sls
include:
- zabbix_client.install
zabbix_client_conf:
file.managed:
    - name: /zabbix_client/etc/zabbix_agentd.conf
    - source: salt://zabbix_client/files/zabbix_agentd.conf
    - template: jinja
    - defaults:
zabbix_client_service:
file.managed:
    - name: /etc/init.d/zabbix_agentd
    - user: root
    - mode: 755
    - source: salt://zabbix_client/files/zabbix_agentd
cmd.run:
    - names:
      - /bin/chmod +x /etc/init.d/zabbix_agentd
      - /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
    - watch:
      - file: /zabbix_client/etc/zabbix_agentd.conf
值得一提的是:在zabbix_agent.conf中Hostname={{grains['ip_interfaces']['eth0']}}


filesl里的东西都是可以下载的。在执行这个过程中。遇到的问题:
(1)在执行:salt 'minion' state.highstate test=True
出现:ID service.running in SLSis not a dictionary
出现这个错误就是说明在运行service.running 那个文件里存在个错误。不能容忍的,连他妈最开始的编译都过不去。以致于都不认为是个.sls文件了。可能是语法啦。格式啦。卧槽。我的就是service.running 那段整体都没缩进。

(2)再一个错误就是:
Received minion error from : The minion function caused an exception
会出现一堆你不懂的python代码报错。一看是minion给出的。就去猜是minion的错误,客户端的事呢,还是系统的问题呢。别瞎想了。又是你的.sls文件的问题。我的是在写- require 时,竟然傻逼的跟上边 - names 下的对齐了。require该说了。老子是跟 - names 一级别的你让我跟你的下级对齐。大爷的。找管家。于是python出来了。一顿骂。。

(3)在执行过程中,遇到了因为我的系统都是最小化安装。在编译过程中报错缺少gcc ,给他装上。省得事多。于是就多了pkgs_install:等等

因为对salt的使用在上篇安装nginx我感觉很详细。这篇就是记录下zabbix_agent 的过程。。

页: [1]
查看完整版本: salt 安装zabbix agent