#!/usr/bin/env python # -*- coding: utf-8 -*- import os ZABBIX_SERVER_IP='10.171.100.28' if os.path.exists('/usr/local/zabbix-agent'): print """ **************************************************************** * zabbix_agentd已安装,若要重装,请删除/usr/local/zabbix-agent/ * ****************************************************************""" os._exit(0) print '选择被监控机的类型:1-WEB,2-ORACLE,3-MYSQL,4-REDIS,Q-QUIT' choice = raw_input() result = '' if choice == '1': result = 'WEB_' elif choice == '2': result = 'ORACLE_' elif choice == '3': result = 'MYSQL_' elif choice == '4': result = 'REDIS_' else: os._exit(0) print '...创建zabbix用户' g = os.system('cat /etc/group | grep zabbix') if g != 0 : os.system('groupadd zabbix') else: print '...zabbix组已存在' u = os.system('cat /etc/passwd | grep zabbix') if u != 0 : os.system('useradd -g zabbix zabbix -s /sbin/nologin') print '...zabbix用户创建成功' else: print '...zabbix用户已存在' print '...下载zabbix安装包' os.chdir('/tmp') os.system('wget http://10.171.100.28/download/zabbix-3.2.7.tar.gz') print '...下载完毕,开始解压' os.system('tar -zxvf zabbix-3.2.7.tar.gz') print '...解压完毕,开始安装' os.chdir('/tmp/zabbix-3.2.7') os.system('./configure --prefix=/usr/local/zabbix-agent --enable-agent') os.system('make install') print '...获取本机ip' myip = os.popen("ip add show | grep inet | grep eth0 | awk '{print $2}' | awk -F/ '{ print $1}' | head -n 1") myip = myip.read().strip() print('...配置zabbix_agentd.conf') hostname=result+myip f = open('/usr/local/zabbix-agent/etc/zabbix_agentd.conf', 'w') f.write("""LogFile=/var/log/zabbix/zabbix_agentd.log Server=%s Hostname=%s """ % (ZABBIX_SERVER_IP,hostname)) f.close print('...配置zabbix_agentd.conf完毕') os.system('mkdir /var/log/zabbix') os.system('touch /var/log/zabbix/zabbix_agentd.log') os.system('chown zabbix:zabbix /var/log/zabbix/zabbix_agentd.log') os.system('rm -rf /tmp/zabbix*') print """ *********************************************************** * The zabbix_agentd is installed * * * * Now run * * /usr/local/zabbix-agent/sbin/zabbix_agentd * ***********************************************************"""
注:
使用
'wget http://10.171.100.28/download/zabbix-3.2.7.tar.gz' 下载文件的话,需要在nginx中如下配置
并且 将 zabbix-3.2.7.tar.gz 安装包拷入相应目录。
修改版:
上面版本没有将zabbix_agent添加到 /etc/init.d/ 下,并且不能自动启动 zabbix_agent (因为在脚本执行过程中向zabbix_agent配置文件中添加配置,
在此脚本执行完毕之前调用启动命令总是报 配置 错误,应该是本次脚本没执行完时,配置还没写进去,故下面分成两个脚本)
agent_setup.py:
#!/usr/bin/env python # -*- coding: utf-8 -*- import os os.chdir('/tmp/') os.system('wget http://10.171.100.28/download/install_zabbix_agent.py') os.system('python install_zabbix_agent.py') os.system('/etc/init.d/zabbix_agentd start') os.system('netstat -nltp | grep zabbix') print """ *********************************************************** * The zabbix_agentd is started * ***********************************************************"""
install_zabbix_agent.py
#!/usr/bin/env python # -*- coding: utf-8 -*- import os ZABBIX_SERVER_IP='10.171.100.28' if os.path.exists('/usr/local/zabbix-agent'): print """ **************************************************************** * zabbix_agentd已安装,若要重装,请删除/usr/local/zabbix-agent/ * ****************************************************************""" os._exit(0) print '选择被监控机的类型:1-WEB,2-ORACLE,3-MYSQL,4-REDIS,Q-QUIT' choice = raw_input() result = '' if choice == '1': result = 'WEB_' elif choice == '2': result = 'ORACLE_' elif choice == '3': result = 'MYSQL_' elif choice == '4': result = 'REDIS_' else: os._exit(0) print '...创建zabbix用户' g = os.system('cat /etc/group | grep zabbix') if g != 0 : os.system('groupadd zabbix') else: print '...zabbix组已存在' u = os.system('cat /etc/passwd | grep zabbix') if u != 0 : os.system('useradd -g zabbix zabbix -s /sbin/nologin') print '...zabbix用户创建成功' else: print '...zabbix用户已存在' print '...下载zabbix安装包' os.chdir('/tmp') os.system('wget http://10.171.100.28/download/zabbix-3.2.7.tar.gz') print '...下载完毕,开始解压' os.system('tar -zxvf zabbix-3.2.7.tar.gz') print '...解压完毕,开始安装' os.chdir('/tmp/zabbix-3.2.7') os.system('./configure --prefix=/usr/local/zabbix-agent --enable-agent') os.system('make install') print '...获取本机ip' myip = os.popen("ip add show | grep inet | grep eth0 | awk '{print $2}' | awk -F/ '{ print $1}' | head -n 1") myip = myip.read().strip() print('...配置zabbix_agentd.conf') hostname=result+myip f = open('/usr/local/zabbix-agent/etc/zabbix_agentd.conf', 'w') f.write("""LogFile=/var/log/zabbix/zabbix_agentd.log Server=%s ServerActive=%s Hostname=%s """ % (ZABBIX_SERVER_IP,ZABBIX_SERVER_IP,hostname)) f.close print('...配置zabbix_agentd.conf完毕') os.system('mkdir /var/log/zabbix') os.system('touch /var/log/zabbix/zabbix_agentd.log') os.system('chown zabbix:zabbix /var/log/zabbix/zabbix_agentd.log') os.chdir('/etc/init.d/') os.system('wget http://10.171.100.28/download/zabbix_agentd') os.system('chmod +x /etc/init.d/zabbix_agentd') os.system('chkconfig --level 345 zabbix_agentd on') os.system('rm -rf /tmp/zabbix*') print """ *********************************************************** * The zabbix_agentd is installed * ***********************************************************"""