• 自动安装zabbix_agent脚本 -- python2


    #!/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               *
    ***********************************************************"""
    

      



  • 相关阅读:
    Awesome Ubuntu中文
    OpenCV 2.4.0 + IPP + TBB, checked
    (MSys+MinGW )FFmpeg工程编译 FFplay Gary's Blog A C++ programmer 博客频道 CSDN.NET
    OpenCV installation for Ubuntu 12.04 | Raben Systems, Inc.
    安装Ubuntu 12.04后没有休眠(hibernate)选项
    Entity Framework 4.1
    三行代码实现阿拉伯数字转中文大小写<转>
    DataGridViewCell赋值
    数据库事务嵌套用法
    WCF传递DataTable时需要填写表名
  • 原文地址:https://www.cnblogs.com/wumingxiaoyao/p/7428947.html
Copyright © 2020-2023  润新知