手记

python install zabbix.4.0

1.安装 MySQLdb 模块;

#!/bin/bash
#this is rpm python Environment depends on
function depends_rpm(){
yum clean all 
yum -y install gcc* python-devel python-pip mariadb mariadb-devel mariadb-server
if [ $? -eq 0 ]
  then
       pip install MySQL-python==1.2.5     
else
       echo "Environmental initialization failure"  
fi
}
depends_rpm

#安装zabbix4.0 脚本;
import subprocess
import os
import shutil
import urllib2
import MySQLdb
def Doanload_zabbix_rpm():
    print("downloading with zabbix-3.5.1")
    url = "http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm"
    f = urllib2.urlopen(url) 
    data = f.read()  
    path = "/usr/local/src/zabbix-release-3.5-1.el7.noarch.rpm"
    with open("path", "wb") as code:
         code.write(data)   
    os.system('rpm -vih "path"')
def Zabbix_Package_install():
    subprocess.call("yum -y install zabbix-get zabbix-sender zabbix-web zabbix-agent zabbix-web-mysql zabbix-server-mysql ",shell=True)
    os.system('systemctl restart mariadb.service')
    os.system('mysqladmin -u root password mysqladmin')
try:
    subprocess.check_call("yum -y install zabbix-get zabbix-sender zabbix-web zabbix-agent zabbix-web-mysql zabbix-server-mysql ",shell=True)
except subprocess.CalledProcessError as err:
    print("install rpm Error check command or network")
def Zabbix_createDB():
    conn = MySQLdb.connect(
        host='localhost',
        port=3306,
        user='root',
        passwd='mysqladmin',) 
    cursor = conn.cursor()
    cursor.execute('CREATE DATABASE IF NOT EXISTS zabbix character set utf8 collate utf8_bin;')
    sql = """grant all on zabbix.* to 'zabbix'@'localhost' identified by '123456';flush privileges;"""
    os.system('/usr/bin/zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz |mysql -uzabbix -p123456 zabbix')       
try:
     cursor.execute(sql)
     print("zabbix database create successful") 
except:
     print("zabbix db grant successful")
def Create_config():
      flist={'LogFile': '/var/log/zabbix/zabbix_server.log','LogFileSize':0,'PidFile':'/var/run/zabbix/zabbix_server.pid',
               'DBName':'zabbix','DBUser':'zabbix','DBPassword':123456,'DBSocket':'/var/lib/mysql/mysql.sock',
               'SNMPTrapperFile':'/var/log/snmptrap/snmptrap.log','Timeout':4,'AlertScriptsPath':'/usr/lib/zabbix/alertscripts','ExternalScripts':'/usr/lib/zabbix/externalscripts','LogSlowQueries':'3000' 
               }     
      confdir = "/etc/zabbix"
      if os.path.exists(confdir) == True:       
         f = open("/etc/zabbix/zabbix_server.conf", "wb")   
         os.chdir(confdir)
         shutil.copyfile("zabbix_server.conf","zabbix_server.conf.bak")
         print("backup zabbix config file sucessful")
         for k,v in flist.items():
             flist[k]='='+str(v)              
             f.write(k+flist[k]+'\n')                                      
         print("zabbix-server config edit sucessful")
         f.close() 
         os.system("sed -i '/timezone/c php_value date.timezone Asia/Shanghai' /etc/httpd/conf.d/zabbix.conf")                              
      else:
         print("zabbix configuser not exsits") 
        
def Service_manager():
     serlist = [ "systemctl enable httpd.service","systemctl enable zabbix-server.service",
               "systemctl enable zabbix-agent.service","systemctl enable mariadb.service",
               "systemctl restart httpd.service","systemctl restart zabbix-server.service","systemctl restart zabbix-agent",
               "systemctl stop firewalld","setenforce 0" ]       
     for x in serlist:
         os.system(x)         
     print("service add and start success")                
def access_zabbix():
    address=("You can access http://$ServerIP/zabbix to configure your web ZABBIX",
            "database_user:zabbix","password:123456",
            "webui-user:Admin",
            "webui-Password:zabbix")
    for i in address:
        print(i) 
    return i          
Doanload_zabbix_rpm()
Zabbix_Package_install()
Zabbix_createDB()
Create_config()
Service_manager()
web=access_zabbix()
print(web)

0人推荐
随时随地看视频
慕课网APP