zabbix 2.2自动安装脚本

基于rhel 6 和centos 6

   使用的rpm包+yum来安装zabbix2.2,安装以后可以直接使用uninstall来卸载

   脚本测试是跑在没有安装httpd和mysql的机器上的,监控机器不会装其他的项目

   如果mysql不在本地在远端,请自行修改config_mysql的配置

附:zabbix-agent端使用yum -y install zabbix-agent即可安装,163的yum源有这个包。不过好像都是6.X以上的。  

    uninstall 请慎用 并没有仔细去写remove,如需卸载请改成rpm -e方式。

 

#!/bin/bash
#encoding:utf8
function ins_pro() {
echo
echo "############################################################################"
echo "安装zabbix基本需求环境包----------------------------------------------------"
yum -y install gcc  net-snmp-devel net-snmp net-snmp-utils OpenIPMI-devel curl-devel
echo "安装完成.-------------------------------------------------------------------"
echo "############################################################################"
echo
}
function ins_mysql() {
echo
echo "############################################################################"
echo "开始安装mysql数据库---------------------------------------------------------"
yum -y install mysql mysql-server mysql-devel
echo "mysql数据库安装完成。-------------------------------------------------------"
echo "############################################################################"
echo
}
function ins_httpd() {
echo
echo "############################################################################"
echo "开始安装httpd.--------------------------------------------------------------"
yum -y install httpd
echo "httpd安装完成.--------------------------------------------------------------"
echo "############################################################################"
echo
}
function ins_php() {
echo
echo "############################################################################"
echo "开始安装php环境包-----------------------------------------------------------"
yum -y install  php php-mysql php-gd php-bcmath php-xml php-mbstring php-snmp
echo "php安装完成。---------------------------------------------------------------"
echo "############################################################################"
echo
}
function ins_zabbix() {
echo
echo "############################################################################"
echo "开始安装zabbix--------------------------------------------------------------"
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
yum -y install zabbix-server-mysql zabbix-web-mysql
echo "安装完成--------------------------------------------------------------------"
echo "############################################################################"
echo
}
function config_zabbix(){
echo
echo "#######################################################################"
echo "添加/etc/services记录--------------------------------------------------"
cat >> /etc/services << "EOF"
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
EOF
sed -i 's/# DBPassword=/DBPassword=zabbix/' /etc/zabbix/zabbix_server.conf
echo "添加完成---------------------------------------------------------------"
echo "#######################################################################"
echo
}
function config_mysql() {
echo
echo "#######################################################################"
echo "开始配置mysql 数据库---------------------------------------------------"
cd /usr/share/doc/zabbix-server-mysql-2.2.0/create
mysql -uroot  <<EOF
create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
use zabbix;
source schema.sql;
source images.sql;
source data.sql;
EOF
cd
echo "数据库配置完成--------------------------------------------------------"
echo "######################################################################"
}
function config_php() {
echo
echo "#######################################################################"
echo "开始配置PHP.-----------------------------------------------------------"
sed -i 's/post_max_size = 8M/post_max_size = 32M/g' /etc/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php.ini
sed -i 's/;date.timezone =/date.timezone =PRC/' /etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 600/g' /etc/php.ini
sed -i 's/max_input_time = 60/max_input_time = 600/g' /etc/php.ini
sed -i 's/memory_limit = 128M/memory_limit = 256M/g' /etc/php.ini
echo
echo "PHP配置完成.-----------------------------------------------------------"
echo "#######################################################################"
}
function config_httpd() {
echo
echo "#######################################################################"
echo "开始配置httpd----------------------------------------------------------"
\cp -r /usr/share/zabbix/* /var/www/html/
echo "" > /etc/zabbix/web/zabbix.conf.php
cat >> /etc/zabbix/web/zabbix.conf.php << "EOF"
<?php
// Zabbix GUI configuration file
global $DB;
$DB["TYPE"]    = 'MYSQL';
$DB["SERVER"]   = 'localhost';
$DB["PORT"]    = '0';
$DB["DATABASE"]   = 'zabbix';
$DB["USER"]    = 'zabbix';
$DB["PASSWORD"]   = 'zabbix';
// SCHEMA is relevant only for IBM_DB2 database
$DB["SCHEMA"]   = '';
$ZBX_SERVER    = 'localhost';
$ZBX_SERVER_PORT  = '10051';
$ZBX_SERVER_NAME  = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>
EOF
echo "#######################################################################"
echo "httpd配置完成----------------------------------------------------------"
}
function remove() {
echo
echo "########################################################################"
echo "卸载安装的包-----------------------------------------------------------"
yum -y remove  net-snmp-devel net-snmp net-snmp-utils OpenIPMI-devel curl-devel mysql mysql-server mysql-devel   php php-mysql php-gd php-bcmath php-xml php-mbstring php-snmp httpd 
echo "卸载完成---------------------------------------------------------------"
echo
echo "########################################################################"
echo "删除httpd配置文件------------------------------------------------------"
if [ -d /var/www/html ];
then
    /etc/init.d/httpd stop
    \cp -r /var/www/html /tmp/html
    rm -rf /var/www/html/*
    sed -i 's/date.timezone =PRC/;date.timezone =/' /etc/php.ini
    echo "http配置文件已删除---------------------------------------------"
fi
echo "删除完成---------------------------------------------------------------"
echo "########################################################################"
echo
echo "########################################################################"
echo "准备删除数据库文件----------------------------------------------------------"
if  [ -d /var/lib/mysql ];
then
    /etc/init.d/mysqld stop
    \cp -r /var/lib/mysql /tmp/mysql
    rm -rf /var/lib/mysql
    rm -rf /etc/my.cnf
    echo "数据库文件已删除------------------------------------------------"
fi
echo "########################################################################"
echo
echo "########################################################################"
echo "准备删除zabbix----------------------------------------------------------"
if [ -d /etc/zabbix ]
then
    /etc/init.d/zabbix stop
    rm -rf /etc/zabbix
    echo "zabbix已经删除--------------------------------------------------"
fi
}
function start_services() {
echo
echo "#######################################################################"
echo "启动httpd服务"
/etc/init.d/httpd start
echo "#######################################################################"
echo "启动MYSQL数据库"
/etc/init.d/mysqld start
echo "#######################################################################"
echo "启动zabbix服务"
/etc/init.d/zabbix-server start
echo
echo "访问方法:http://localhost 或者:http://ip ------------------------------"
}
case "$1" in
    install)
    ins_pro
    ins_mysql
    ins_httpd
    ins_php
    ins_zabbix
    start_services 
    config_zabbix
    config_mysql
    config_php
    config_httpd
    ;;
    mysql)
    config_mysql
    ;; 
    uninstall)
    remove
    ;;
    start)
    start_services
    ;;
    *)
        echo "Usage:$0 {install|mysql|uninstall|start}"                        
        ;;
esac

你可能感兴趣的:(mysql,项目,监控)