想着机器已经有几台了,说多不多,少也不算少,想着利用ansible安装zabbix_agent 客户端方便点了。做完了有些东西记录下,于是就有了这篇文章了。
[root@1_WEB01 ansible ]# tree .├── ansible.cfg├── hosts├── roles│ └── zabbix_agent_install│ ├── files│ │ ├── gcc_zabbix.sh│ │ └── zabbix-2.4.5.tar.gz│ ├── tasks│ │ └── main.yml│ ├── templates│ │ ├── zabbix_agentd│ │ └── zabbix_agentd.conf│ └── vars│ └── main.yml└── zabbix_agent_install.yml6 directories, 9 files
[root@1_WEB01 ansible ]# cat host [66server]192.168.50.1:9831192.168.50.2:9831192.168.50.3:9831192.168.50.4:9831192.168.50.5:9831192.168.50.6:9831
[root@1_WEB01 zabbix_agent_install]# cat files/gcc_zabbix.sh #!/bin/bash #tar xf zabbix-2.4.5.tar.gz cd /tmp/zabbix-2.4.5 ./configure --prefix=/usr/local/zabbix-2.4.5/ --enable-agent sleep 1 make make install mkdir -p /var/log/zabbix/ touch /var/log/zabbix/zabbix_agentd.log chown zabbix:zabbix -R /var/log/zabbix/
[root@1_WEB01 zabbix_agent_install]# cat tasks/main.yml - name: Create zabbix user user: name={{ zabbix_user }} state=present createhome=no shell=/sbin/nologin - name: replicate Zabbix Client copy: src=zabbix-2.4.5.tar.gz dest=/usr/local/src/zabbix-2.4.5.tar.gz owner=root group=root - name: Uncompression Zabbix Client File shell: tar zxf /usr/local/src/zabbix-2.4.5.tar.gz -C /tmp/ - name: Install zabbix script: gcc_zabbix.sh #这里是因为shell没办法编译,所以就用来script模块 - name: Copy zabbix start script template: src=zabbix_agentd dest=/etc/init.d/zabbix_agentd owner=root group=root mode=0755 - name: Copy Zabbix Config File template: src=zabbix_agentd.conf dest={{ zabbix_dir }}/zabbix-2.4.5/etc/zabbix_agentd.conf owner={{ zabbix_user }} group={{ zabbix_user }} mode=0664 - name: Modify Zabbix Dir Permisson file: path= {{ zabbix_dir }}/zabbix owner= {{ zabbix_user }} group= {{ zabbix_user }} mode=0755 recurse=yes - name: Start Zabbix Service shell: /etc/init.d/zabbix_agentd start - name: Add Boot start shell: chkconfig --level 345 zabbix_agentd on
[root@1_WEB01 zabbix_agent_install]# cat templates/zabbix_agentd #!/bin/sh #chkconfig: 2345 10 90 #description: Activates/Deactivates zabbix_agentd Server # Zabbix # Copyright (C) 2001-2015 Zabbix SIA # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Start/Stop the Zabbix agent daemon. # Place a startup script in /sbin/init.d, and link to it from /sbin/rc[023].d SERVICE="Zabbix agent" DAEMON=/usr/local/zabbix-2.4.5/sbin/zabbix_agentd PIDFILE=/tmp/zabbix_agentd.pid case $1 in ‘start‘) if [ -x ${DAEMON} ] then $DAEMON # Error checking here would be good... echo "${SERVICE} started." else echo "Can‘t find file ${DAEMON}." echo "${SERVICE} NOT started." fi ;; ‘stop‘) if [ -s ${PIDFILE} ] then if kill `cat ${PIDFILE}` >/dev/null 2>&1 then echo "${SERVICE} terminated." rm -f ${PIDFILE} fi fi ;; ‘restart‘) $0 stop sleep 10 $0 start ;; *) echo "Usage: $0 start|stop|restart" ;; esac
[root@_WEB01 zabbix_agent_install]# grep -v ‘^#‘ templates/zabbix_agentd.conf |grep -v ‘^$‘ LogFile=/var/log/zabbix/zabbix_agentd.log Server=192.168.50.30 StartAgents=5 ServerActive=192.168.50.30:10051 Hostname={{ ansible_all_ipv4_addresses[1] }} Timeout=30 Include=/usr/local/zabbix-2.4.5/etc/zabbix_agentd.conf.d/*.conf UnsafeUserParameters=1
[root@1_WEB01 zabbix_agent_install]# cat vars/main.yml zabbix_dir: /usr/local/ zabbix_user: zabbix zabbix_port: 10050 zabbix_server_ip: 192.168.50.30
本文出自 “孜孜不倦的学习着...” 博客,请务必保留此出处http://jonyisme.blog.51cto.com/3690784/1844866
原文地址:http://jonyisme.blog.51cto.com/3690784/1844866