• 【SaltStack】在Master上给Minion端安装zabbix


    一、IP信息说明

    【Master】

    IP: 192.168.236.100

    【Minion】

    IP: 192.168.236.101

    二、配置SaltStack

    关于SaltStack Master和Minion的安装这里不再赘述!

    【配置Master】

    1.新建目录

    mkdir  -p  /srv/salt/iso

    mkdir -p   /srv/salt/install_zabbix

    2.新建配置文件

    (1)  /srv/top.sls

    1 base:
    2    '*':
    3     - cpitables.*
    4     - install_zabbix.*

    (2)  /srv/salt/install_zabbix/install_zabbix_new.sls

    说明:本sls文件主要用来从Master端的/srv/salt/iso目录下复制文件到Minion端的/soft目录下,然后安装zabbix并启动zabbix

     1 /soft/zabbix-2.4.5.tar.gz:
     2   file.managed:
     3    - unless: test -e /soft/zabbix-2.4.5.tar.gz
     4    - source: salt://iso/zabbix-2.4.5.tar.gz
     5    - user: root
     6    - group: root
     7    - mode: 644
     8   cmd.run:
     9    - cwd: /soft
    10    - name: tar zxf zabbix-2.4.5.tar.gz && cd /soft/zabbix-2.4.5 && ./configure --prefix=/usr/local/zabbix-2.4.5 --enable-agent && make && make install
    11    - unless: test -d /usr/local/zabbix-2.4.5
    12    - require:
    13      - file: /soft/zabbix-2.4.5.tar.gz
    14 
    15 /soft/install_zabbix.py:
    16   file.managed:
    17    - unless: test -e /soft/install_zabbix.py
    18    - source: salt://install_zabbix/install_zabbix.py
    19    - user: root
    20    - group: root
    21    - mode: 775
    22   cmd.run:
    23    - name: /usr/bin/python /soft/install_zabbix.py
    24    - require: 
    25      - file: /soft/install_zabbix.py

    (3)  /srv/salt/install_zabbix/install_zabbix.py

    说明:该脚本主要用来修改zabbix客户端的配置文件信息,并设置防火墙

     1 #!/usr/bin/env python
     2 # coding:utf-8
     3 
     4 import socket
     5 import os
     6 
     7 def init_zabbix():
     8     hostname = socket.gethostname()
     9     os.system('useradd zabbix -s /sbin/nologin')
    10     os.system('sed -i "s/Server=127.0.0.1/Server=192.168.236.100/g;s/ServerActive=127.0.0.1/ServerActive=192.168.236.100/g" /usr/local/zabbix-2.4.5/etc/zabbix-agentd.c
    11 onf')
    12     os.system('sed -i "s/Hostname=Zabbix server/Hostname=' + hostname+ '/g" /usr/local/zabbix-2.4.5/etc/zabbix-agentd.conf')
    13     os.system('echo "/usr/local/zabbix-2.4.5/sbin/zabbix_agentd" >> /etc/rc.local')
    14     os.system("/usr/local/zabbix-2.4.5/sbin/zabbix_agentd")
    15 
    16     if os.system('service iptables status|grep 10050') > 0:
    17         os.system('iptables -A INPUT -s 192.168.236.0/24 -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT ')
    18         os.system('service iptables save')
    19 
    20 init_zabbix()

    (4) 将zabbix客户端安装包zabbix-2.4.5.tar.gz复制到目录/srv/salt/iso

    【Minion】

    在客户端新建目录soft

    mkdir /soft

    三、操作说明

    在Master执行如下命令进行操作:

    salt '*'  state.sls install_zabbix.install_zabbix_new

    '*' : 表示所有可侦测到的Minion端

    state.sls :为固定用法

    install_zabbix :表示install_zabbix_new.sls文件所在的上次目录,该目录以/etc/salt/master文件中定义的目录为家目录

    install_zabbix_new : 为操作用到的sls文件

    其他可能用到的命令:

    检测Master与Minion的是否连接:

    salt '*'  test.ping

    在安装zabbix前进行验证测试:

    salt '*'  state.sls install_zabbix.install_zabbix_new test=True
  • 相关阅读:
    Linux下使用select延时
    update不能直接使用select的返回结果
    C++类模板声明与定义为何不能分开
    MySQL开启日志记录执行过的SQL语句
    如何使用FastCGI处理自定义HTTP头
    MongoDB添加认证
    Ubuntu16.04安装MongoDB
    nginx: [emerg] getpwnam(“www”) failed
    C++ 智能指针(一)
    协同过滤
  • 原文地址:https://www.cnblogs.com/xialiaoliao0911/p/7592832.html
Copyright © 2020-2023  润新知