jiabanl 发表于 2019-1-25 11:08:47

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