zabbix—agent的批量安装和更新

zabbix—agent的批量安装和更新

linux下批量安装和更新

这里关于agent的安装有两个工具思路:

  1. 配置中心管理思路,工具可以使用puppet或自主开发(由于公司业务繁多,但每个规模不大,这里未采用配置中心的方式)

  2. 批量处理管理思路,工具使用ansible+shell,采用的此方法,下面做介绍(ansible的使用此处不做介绍,官方文档非常详细):
    分为两部分:一个是批量安装(install_zabbix_agent.yaml),一个是配置同步(config_zabbix_agent.yaml)

    (1)批量安装的配置文件和脚本如下,大家注意目录层次和ip即可(这里并未把安装脚本加多一个task到playbook的配置文件中,调试起来还是直接脚本快一点)
    cat install_zabbix_agent.yaml

---
   - hosts: all
     remote_user: root
     gather_facts: no
     tasks:
        - name: install zabbix_agent packages
          yum: name={{ item }} state=latest
          with_items:
          - curl-devel
          - gcc
          - glibc
          - gcc-c++
          - pcre-devel
          - openssl-devel
          - curl
          - wget

        - name: copy tar to host
          copy: src=/apps/src/install_zabbix_server/zabbix_agent/zabbix-3.4.6.tar.gz dest=/usr/local/src/zabbix-3.4.6.tar.gz owner=root group=root mode=544

        - name: copy conf to host
          copy: src=/apps/src/install_zabbix_server/zabbix_agent/zabbix_agent.sh dest=/usr/local/src/zabbix_agent.sh owner=root group=root mode=755
          notify: install zabbix

     handlers:
        - name: install zabbix
          shell: /bin/bash /usr/local/src/zabbix_agent.sh

cat zabbix_agent.sh

#!/bin/bash
##install zabbix_agent

#新增用户和用户组
groupadd zabbix
useradd zabbix -g zabbix -s /sbin/nologin
##安装
cd /usr/local/src  && tar zxvf zabbix-3.4.6.tar.gz
cd zabbix-3.4.6
./configure --with-net-snmp --with-libcurl --enable-agent --prefix=/usr/local/zabbix
make && make install
##开机启动
cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
chmod 700 /etc/init.d/zabbix_agentd
sed -i  's\ZABBIX_BIN="/usr/local/sbin/zabbix_agentd\ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd\g' /etc/init.d/zabbix_agentd

###配置
client_hostname=`hostname`
Server='10.xx.xx.xx'

if [ ! -d /usr/local/zabbix/logs/ ]
    then
        mkdir -p /usr/local/zabbix/logs/
fi

if [ ! -f /usr/local/zabbix/etc/zabbix_command.conf ]
    then
        touch /usr/local/zabbix/etc/zabbix_command.conf
fi

cat > /usr/local/zabbix/etc/zabbix_agentd.conf  <${Server}
#ServerActive=${Server}
#RefreshActiveChecks=30
Hostname=${client_hostname}
HostMetadataItem=system.uname

BufferSize=1024
DebugLevel=2
StartAgents=3
LogFileSize=1024
EnableRemoteCommands=1
PidFile=/tmp/zabbix_agentd.pid
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Include=/usr/local/zabbix/etc/zabbix_command.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
EOF

chown -R zabbix:zabbix /usr/local/zabbix/

####添加zabbix的sudo的权限
chattr -ia /etc/sudoers && chmod +w /etc/sudoers
sed -i '/^Defaults\s\+requiretty/s/^/#/' /etc/sudoers
grep -q '^zabbix ALL=(ALL)' /etc/sudoers || echo 'zabbix ALL=(ALL)  NOPASSWD:ALL,!/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd' >> /etc/sudoers
chmod 440 /etc/sudoers  &&  chattr +ia /etc/sudoers

/etc/init.d/zabbix_agentd start
chkconfig zabbix_agentd on 2345

(2)由于到时候添加或者更新zabbix的监控项的时候,如果还去一个手工同步那效率就太低,所以这边就利用ansible的copy模块完成zabbix监控脚本,配置文件如下:
cat config_zabbix_agent.yaml

---
    - hosts: all
      remote_user: root
      gather_facts: no
      tasks:
        - name: copy zabbix-agentd.d
          copy: src=/apps/src/install_zabbix_server/zabbix_agent/zabbix_agentd.conf.d/ dest=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ owner=zabbix group=zabbix mode=755

        - name: copy config to client
          copy: src=/apps/src/install_zabbix_server/zabbix_agent/monitor_scripts/ dest=/usr/local/zabbix/etc/monitor_scripts/ owner=zabbix group=zabbix mode=755
          notify: reload zabbix

      handlers:
        - name: reload zabbix
          shell: /etc/init.d/zabbix_agentd restart

windows下的自动化安装

由于windows的监控只监控非常基本的一部分内容,不会去不断更新配置,所以这里不做赘述,放在我的资源页有需要的就下载,下载后放在d盘解压双击bat文件即可,安装后的目录在c盘

至此,zabbix的agent的安装和更新框架就基本搭好了,后续继续介绍zabbix监控的监控项

你可能感兴趣的:(zabbix监控)