自动安装zabbix

#!/usr/bin/env python
#coding=utf-8
#2015-5-13
#安装zabbix Server
import sys
import commands
import MySQLdb as mdb
zabbix_config="/etc/zabbix/zabbix_server.conf"
zabbix_php = "/etc/httpd/conf.d/zabbix.conf"
def get_local_ip(ifname):
    import socket, fcntl, struct
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    inet = fcntl.ioctl(s.fileno(), 0x8915, struct.pack(‘256s‘, ifname[:15]))
    ret = socket.inet_ntoa(inet[20:24])
    return ret
ip=get_local_ip("eth0")

def Judge(status,info,arg):
    if status == 0:
        print "%s %s is ok" %(info,arg)
    else:
        print "%s %s  is fail" %(info,arg)
        sys.exit()

def mysql_connect():
    try:
        con=mdb.connect(‘localhost‘,‘root‘,‘123456‘,)
        cur=con.cursor()
        cur.execute(‘create database zabbix character set utf8‘)
        cur.execute("grant all privileges on zabbix.* to [email protected] identified by ‘zabbix‘")
        cur.close()
        con.close()
    except mdb.Error,e:
        print "Mysql Error %d: %s" % (e.args[0], e.args[1]) 

print "Installation environment required depend on the package"
cmd="yum -y install  gcc-c++ autoconf httpd php mysql mysql-server php-mysql  httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel"
status,result=commands.getstatusoutput("%s"%cmd)
Judge(status,‘Install is‘,‘pacakge‘)

status,result=commands.getstatusoutput("service httpd start && service mysqld start && chkconfig httpd on && chkconfig mysqld on")
Judge(status,‘httpd,mysql‘,‘Install‘)
print "Install zabbix yum"
print
cmd = "rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm"
status,result = commands.getstatusoutput("%s"%cmd)
print result
Judge(status,‘Install‘,‘Zabbix Yum‘)

print "Install Zabbix Server"
status,result = commands.getstatusoutput("yum -y install zabbix-server-mysql zabbix-web-mysql")
print result
Judge(status,‘Install‘,‘Zbbix Server‘)
status,result = commands.getstatusoutput("mysqladmin -u root password 123456")
print
print "Create zabbix database"
mysql_connect()
print "Import the zabbix database"
status,result =commands.getstatusoutput("cd /usr/share/doc/zabbix-server-mysql-2.4.5/create && mysql -uzabbix -pzabbix zabbix < schema.sql &&  mysql -uzabbix -pzabbix zabbix <images.sql && mysql -uzabbix -pzabbix zabbix <data.sql")
print result
Judge(status,‘Import‘,‘zabbix databse‘)
print "zabbix file config"
sed="sed -i -e ‘s/DBUser\=root/DBUser\=zabbix/g‘ -i  -e ‘/# DBPassword=/aDBPassword=zabbix\n‘ %s" %zabbix_config
status,result = commands.getstatusoutput("%s" %sed)
print "start Zabbix Server"
status,result = commands.getstatusoutput("service zabbix-server start && chkconfig zabbix-server on")
Judge(status,‘Start‘,‘Zabbix Server‘)
status,result=commands.getstatusoutput("sed -i ‘17a php_value date.timezone Asia\/Shanghai‘ %s"%zabbix_php)
print "restart httpd"
status,result=commands.getstatusoutput(‘service httpd restart‘)
Judge(status,‘Running‘,‘httpd‘ )
print  "请使用http://%s/zabbix 进行安装" %ip
时间: 2024-10-20 20:13:22

自动安装zabbix的相关文章

自动安装zabbix客户端shell脚本

一般工作中要部署新服务器,部署完成还要添加zabbix监控,所以安装zabbix客户端是很频繁的,我这里写了一个简单的自动安装脚本,不是很完善,但也可以平时拿来用. 脚本运行的时候可能会出来一些错误,可以看终止时的错误信息,很可能是缺少相关的包,根据信息安装包再重新运行即可. 注意修改配置的内容,要根据实际情况做相应的修改,比如server和hostname,server是服务端的ip,根据实际情况配置,hostname我这里设置的是客户端自己的ip,也可以根据自身情况修改.在获取本地ip时,这

自动安装Zabbix Agent的linux 脚本

安装Zabbix代理的脚本: #!/bin/bash #the zabbix path you want to install PREFIX="/usr/local/zabbix"  ConfigFile="/etc/zabbix/zabbix_agentd.conf" # List of comma delimited IP addresses (or hostnames) of Zabbix servers. Server="serverName&qu

shell 搭配 python 自动安装zabbix监控端详解

脚本环境 1.linux centos 7 系统2.光盘镜像文件已挂载3.系统可连接外网4.字体链接:https://pan.baidu.com/s/1m9WJys5aGuUi-WgBG-zrxw 提取码:qq6r 实验步骤 1.上传字体文件和zabbix脚本到Linux系统/root目录下 方法一:挂载 方法二:通过Xftp软件上传 2.脚本zabbix.sh详解 #!/bin/bash#this is auto install lamp + zabbix shell!##获取ip地址ip=`

自动安装zabbix agent的shell脚本

#!/bin/bash #install the zabbix agent #Create by ShiYong id zabbix &> /dev/null || useradd -s /sbin/nologin zabbix mkdir /etc/zabbix /var/log/zabbix chown zabbix.zabbix /var/log/zabbix/ tar zxf zabbix-2.0.12.tar.gz -C /usr/src/ cd /usr/src/zabbix-2

Windows系统一键安装zabbix agent

下载附件里的zabbix_agents_auto_installer.win.rar,解压后修改AutoInstall.bat里的zabbix_server的IP,以管理员身份运行AutoInstall.bat,zabbix agent会注册为服务并启动.32位系统会安装在c:\zabbix_x86,64位会安装在c:\zabbix_x64. 下面献上AutoInstall.bat代码,供参考: :: 一键安装zabbix agent 2.2.9,理论支持所有windows系统 :: 有BUG请

ansible实战--批量自动安装与删除zabbix agentd

想必做网站运维的,对目前主流的开源监控组件zabbix应该不陌生.它功能是很强悍,但是被监控的客户端安装agentd是一件很吃力且费时的工作.如果你管理的server数量不多还好,大不了手工1台1台的安装.相反你管理的server数量很多,不采取自动化,真的会让人做梦都会想到安装zabbix agentd. 本次实战ansible批量自动安装与卸载zabbix agentd,版本zabbix-2.0.14+centos6.4+ansible1.8.1 下面就开始吧 1.安装配置ansible工具

Centos 7.0 下安装 Zabbix server 服务器的安装及 监控主机的加入(1)

一.本系列分为6部分 1.Centos 7.0 下安装 Zabbix server 服务器的安装及 监控主机的加入 2.Centos 6.5 下安装 Zabbix server 服务器的安装及 监控主机的加入 3.zabbix server的Discover功能,实现zabbix agent 大批量的自动添加,并链接到指定的模版 4.zabbix 报警方式之 邮件报警 5.zabbix 报警方式之 微信公众号报警 6.zabbix server 端的优化工作(解决mysql 性能下降,以及zab

windows上一键自动安装zabbix-agent

一.简介 zabbix是开源界流行的监控程序,C/S架构,运行多种系统平台安装,个人认为windows平台的 zabbix-agent安装最为烦琐,unix及linux平台通过自动化运维工具可一键远程安装,而windows目前没有好的方法,所以就参考网上写了一个脚本(包含zabbix-agent 2.4.5客户端),一键安装并配置好防火墙. 二.安装脚本(配置文件) 请先修改脚本中zabbbix_server 为自己的zabbix服务器ip @Echo off setlocal enablede

源码安装zabbix(lnmp+zabbix)

源码安装zabbix 实验环境: [[email protected] ~]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m 环境要求: 需要准备好实验环境,配置好主机名称 , 网络源(这里我使用的是163网络源),查看并调整好自己的时区以及时间,关闭防火墙iptables   selinux. 安装nginx 需要软件有: nginx-1.8.0.tar.gz  pcre-8.34.tar.gz 安装步骤: 首选安装: