#!/usr/bin/env python# -*- coding: utf-8 -*-import osZABBIX_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+myipf = open('/usr/local/zabbix-agent/etc/zabbix_agentd.conf', 'w')f.write("""LogFile=/var/log/zabbix/zabbix_agentd.logServer=%sHostname=%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 osos.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 osZABBIX_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+myipf = open('/usr/local/zabbix-agent/etc/zabbix_agentd.conf', 'w')f.write("""LogFile=/var/log/zabbix/zabbix_agentd.logServer=%sServerActive=%sHostname=%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 ************************************************************"""