基于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