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
2.python 安装脚本;
#!/bin/evn python
-- coding:UTF-8 --
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)
conn.commit()
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)
原文地址:http://blog.51cto.com/breaklinux/2064979