一、目录树
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)vim conf.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‘][0]}}
filesl里的东西都是可以下载的。在执行这个过程中。遇到的问题:
(1)在执行:salt ‘minion‘ state.highstate test=True
出现:ID service.running in SLS is not a dictionary
出现这个错误就是说明在运行service.running 那个文件里存在个错误。不能容忍的,连他妈最开始的编译都过不去。以致于都不认为是个.sls文件了。可能是语法啦。格式啦。卧槽。我的就是service.running 那段整体都没缩进。
(2)再一个错误就是:
[salt.master ][ERROR ][2374] Received minion error from [minion]: The minion function caused an exception
会出现一堆你不懂的python代码报错。一看是minion给出的。就去猜是minion的错误,客户端的事呢,还是系统的问题呢。别瞎想了。又是你的.sls文件的问题。我的是在写 - require 时,竟然傻逼的跟上边 - names 下的对齐了。require该说了。老子是跟 - names 一级别的你让我跟你的下级对齐。大爷的。找管家。于是python出来了。一顿骂。。
(3)在执行过程中,遇到了因为我的系统都是最小化安装。在编译过程中报错缺少gcc ,给他装上。省得事多。于是就多了pkgs_install:等等
因为对salt的使用在上篇安装nginx我感觉很详细。这篇就是记录下zabbix_agent 的过程。。
本文出自 “黎明前的黑暗” 博客,请务必保留此出处http://9907516.blog.51cto.com/9897516/1740765
原文地址:http://9907516.blog.51cto.com/9897516/1740765