zabbix 一键安装,前提是mysql已安装好,且已设好密码,已在centos 6.5上做过测试
[*]#!/bin/bash
[*]#zabbix 一键安装
[*]#数据库用户名
[*]DBUSER='root'
[*]#数据库用户密码
[*]DBPASS='123456'
[*]#本地地址
[*]DBHOST='localhost'
[*]#zabbix 下载的版本
[*]ZBX_VER='2.4.3'
[*]
[*]
[*]###检查返回值
[*]function checkReturn {
[*]if [ $1 -ne 0 ]; then
[*] echo "fail: $2"
[*] echo "$3"
[*] exit
[*]else
[*] echo "pass: $2"
[*]fi
[*]sleep 3
[*]}
[*]
[*]###安装的前提条件
[*]###只个版本只可在centos或redhat 6.0上安装
[*]###前提需要先安装mysql
[*]cat << "eof"
[*]
[*]=== RUN AT YOUR OWN RISK ===
[*]
[*]DO NOT RUN ON EXISTING INSTALLATIONS, YOU *WILL* LOSE DATA
[*]
[*]This script:
[*] * Installs Zabbix 2.2.x on CentOS / Red Hat 6
[*] * Drops an existing database
[*] * Does not install MySQL; to install type "yum install mysql-server"
[*] * Assums a vanilla OS install, though it tries to work around it
[*] * Does not install zabbix packages, it uses source from zabbix.com
[*] * Disables firewall
[*] * Disables SELinux
[*]
[*]eof
[*]
[*]#####前提条 件
[*]read -p 'Type "go" to continue: ' RESP
[*]if [ "$RESP" != "go" ]; then
[*]echo "Sorry to hear it"
[*]exit
[*]else
[*]echo "Lets do this..."
[*]fi
[*]
[*]# check selinux
[*]###检查防火墙是否关闭
[*]if [ "`sestatus |grep status|awk '{ print $3 }'`" == "enabled" ]; then
[*] #checkReturn 1 "Disable SELinux and then retry"
[*] setenforce 0
[*] sed "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config > /tmp/mytmp093; mv /tmp/mytmp093 /etc/selinux/config
[*]fi
[*]
[*]#disable firewall
[*]##关闭防火墙
[*]chkconfig iptables off
[*]/etc/init.d/iptables stop
[*]
[*]###检查mysql 是否关闭
[*]if [ "`rpm -qa |grep mysql-server`" ]; then
[*]chkconfig mysqld on
[*]service mysqld restart
[*]fi
[*]
[*]# check mysql
[*]mysql -h${DBHOST} -u${DBUSER} --password=${DBPASS} > /dev/null << eof
[*]status
[*]eof
[*]RETVAL=$?
[*]checkReturn $RETVAL "basic mysql access" "Install mysql server packages or fix mysql permissions"
[*]
[*]
[*]if [ ! "`rpm -qa|grep fping`" ]; then
[*]if [ "`uname -m`" == "x86_64" ]; then
[*] rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
[*]elif [ "`uname -m`" == "i686" ]; then
[*] rpm -Uhv http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
[*]fi
[*]fi
[*]
[*]
[*]yum -y install gcc mysql-devel curl-devel httpd php php-mysql php-bcmath php-gd php-xml php-mbstring net-snmp-devel fping e2fsprogs-devel zlib-devel libgssapi-devel krb5-devel openssl-devel wget libssh2-devel openldap-devel libxml2-devel make patch
[*]RETVAL=$?
[*]checkReturn $RETVAL "Package install"
[*]
[*]chmod 4755 /usr/sbin/fping
[*]
[*]cd /tmp
[*]
[*]
[*]
[*]
[*]rm -rf /etc/zabbix
[*]rm -rf zabbix-$ZBX_VER
[*]rm zabbix-$ZBX_VER.tar.gz
[*]wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/$ZBX_VER/zabbix-$ZBX_VER.tar.gz
[*]RETVAL=$?
[*]checkReturn $RETVAL "downloading source" "check ZBX_VER variable or mirror might be down"
[*]tar xzf zabbix-$ZBX_VER.tar.gz
[*]cd zabbix-$ZBX_VER
[*]
[*]./configure --enable-agent--enable-ipv6--enable-proxy--enable-server --with-mysql --with-libcurl --with-net-snmp --with-ssh2 --with-ldap --with-libxml2 --sysconfdir=/etc/zabbix
[*]RETVAL=$?
[*]checkReturn $RETVAL "Configure"
[*]
[*]make
[*]RETVAL=$?
[*]checkReturn $RETVAL "Compile"
[*]
[*]make install
[*]RETVAL=$?
[*]checkReturn $RETVAL "make install"
[*]
[*]echo "DROP DATABASE IF EXISTS zabbix;" | mysql -h${DBHOST} -u${DBUSER} --password=${DBPASS}
[*]
[*](
[*]echo "CREATE DATABASE zabbix;"
[*]echo "USE zabbix;"
[*]cat /tmp/zabbix-$ZBX_VER/database/mysql/schema.sql
[*]cat /tmp/zabbix-$ZBX_VER/database/mysql/images.sql
[*]cat /tmp/zabbix-$ZBX_VER/database/mysql/data.sql
[*]) | mysql -h${DBHOST} -u${DBUSER} --password=${DBPASS}
[*]
[*]adduser -r -d /var/run/zabbix-server -s /sbin/nologin zabbix
[*]
[*]mkdir -p /var/log/zabbix-server
[*]mkdir -p /var/log/zabbix-agent
[*]mkdir -p /var/run/zabbix-server
[*]mkdir -p /var/run/zabbix-agent
[*]chown zabbix.zabbix /var/run/zabbix*
[*]chown zabbix.zabbix /var/log/zabbix*
[*]
[*]cp /tmp/zabbix-$ZBX_VER/misc/init.d/fedora/core5/zabbix_server /etc/init.d
[*]cp /tmp/zabbix-$ZBX_VER/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d
[*]
[*]
[*]cd /etc/zabbix
[*]patch -p0 -l << "eof"
[*]--- orig/zabbix_server.conf 2012-07-01 18:30:00.585612301 -0700
[*]+++ zabbix_server.conf2012-07-01 18:58:15.181605999 -0700
[*]@@ -36,7 +36,7 @@
[*] # Default:
[*] # LogFile=
[*]
[*]-LogFile=/tmp/zabbix_server.log
[*]+LogFile=/var/log/zabbix-server/zabbix_server.log
[*]
[*] ### Option: LogFileSize
[*] # Maximum size of log file in MB.
[*]@@ -65,7 +65,7 @@
[*] #
[*] # Mandatory: no
[*] # Default:
[*]-# PidFile=/tmp/zabbix_server.pid
[*]+PidFile=/var/run/zabbix-server/zabbix_server.pid
[*]
[*] ### Option: DBHost
[*] # Database host name.
[*]@@ -100,7 +100,7 @@
[*] # Default:
[*] # DBUser=
[*]
[*]-DBUser=root
[*]+DBUser=_dbuser_
[*]
[*] ### Option: DBPassword
[*] # Database password. Ignored for SQLite.
[*]@@ -109,6 +109,7 @@
[*] # Mandatory: no
[*] # Default:
[*] # DBPassword=
[*]+DBPassword=_dbpass_
[*]
[*] ### Option: DBSocket
[*] # Path to MySQL socket.
[*]eof
[*]
[*]
[*]sed "s/_dbuser_/${DBUSER}/g" /etc/zabbix/zabbix_server.conf > /tmp/mytmp393; mv /tmp/mytmp393 /etc/zabbix/zabbix_server.conf
[*]sed "s/_dbpass_/${DBPASS}/g" /etc/zabbix/zabbix_server.conf > /tmp/mytmp393; mv /tmp/mytmp393 /etc/zabbix/zabbix_server.conf
[*]
[*]
[*]patch -p0 -l << "eof"
[*]--- orig/zabbix_agentd.conf 2012-07-01 18:30:00.585612301 -0700
[*]+++ zabbix_agentd.conf2012-07-01 18:55:40.566660188 -0700
[*]@@ -9,6 +9,7 @@
[*] # Mandatory: no
[*] # Default:
[*] # PidFile=/tmp/zabbix_agentd.pid
[*]+PidFile=/var/run/zabbix-agent/zabbix_agentd.pid
[*]
[*] ### Option: LogFile
[*] # Name of log file.
[*]@@ -18,7 +19,7 @@
[*] # Default:
[*] # LogFile=
[*]
[*]-LogFile=/tmp/zabbix_agentd.log
[*]+LogFile=/var/log/zabbix-agent/zabbix_agentd.log
[*]
[*] ### Option: LogFileSize
[*] # Maximum size of log file in MB.
[*]@@ -57,6 +58,7 @@
[*] # Mandatory: no
[*] # Default:
[*] # EnableRemoteCommands=0
[*]+EnableRemoteCommands=1
[*]
[*] ### Option: LogRemoteCommands
[*] # Enable logging of executed shell commands as warnings.
[*]eof
[*]
[*]
[*]
[*]chkconfig zabbix_server on
[*]chkconfig zabbix_agentd on
[*]chmod +x /etc/init.d/zabbix_server
[*]chmod +x /etc/init.d/zabbix_agentd
[*]service zabbix_server restart
[*]service zabbix_agentd restart
[*]
[*]#### END ZABBIX SERVER & AGENT PROCESS INSTALL & START
[*]
[*]#### BEGIN WEB
[*]
[*]rm -rf /usr/local/share/zabbix
[*]mkdir -p /usr/local/share/zabbix
[*]cp -r /tmp/zabbix-$ZBX_VER/frontends/php/* /usr/local/share/zabbix
[*]
[*]echo "Alias /zabbix /usr/local/share/zabbix" > /etc/httpd/conf.d/zabbix.conf
[*]
[*]echo "post_max_size = 16M" > /etc/php.d/local_zabbix.ini
[*]echo "max_execution_time = 300" >> /etc/php.d/local_zabbix.ini
[*]echo "max_input_time = 300" >> /etc/php.d/local_zabbix.ini
[*]. /etc/sysconfig/clock
[*]echo "date.timezone = $ZONE" >>/etc/php.d/local_zabbix.ini
[*]
[*]chkconfig httpd on
[*]service httpd restart
[*]
[*]#sed "s/max_execution_time = 30/max_execution_time = 300/g" /etc/php.ini > /tmp/mytmp393; mv /tmp/mytmp393 /etc/php.ini
[*]
[*]#touch /usr/local/share/zabbix/conf/zabbix.conf.php
[*]#chmod 666 /usr/local/share/zabbix/conf/zabbix.conf.php
[*]
[*]
[*]cat > /usr/local/share/zabbix/conf/zabbix.conf.php << "eof"
[*]<?php
[*]// Zabbix GUI configuration file
[*]global $DB;
[*]
[*]$DB['TYPE'] = "MYSQL";
[*]$DB['SERVER'] = "_dbhost_";
[*]$DB['PORT'] = "0";
[*]$DB['DATABASE'] = "zabbix";
[*]$DB['USER'] = "_dbuser_";
[*]$DB['PASSWORD'] = "_dbpass_";
[*]
[*]// SCHEMA is relevant only for IBM_DB2 database
[*]$DB['SCHEMA'] = '';
[*]
[*]$ZBX_SERVER = "127.0.0.1";
[*]$ZBX_SERVER_PORT = "10051";
[*]$ZBX_SERVER_NAME = '';
[*]
[*]
[*]$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
[*]?>
[*]eof
[*]
[*]sed "s/_dbhost_/${DBHOST}/g" /usr/local/share/zabbix/conf/zabbix.conf.php > /tmp/mytmp393; mv /tmp/mytmp393 /usr/local/share/zabbix/conf/zabbix.conf.php
[*]sed "s/_dbuser_/${DBUSER}/g" /usr/local/share/zabbix/conf/zabbix.conf.php > /tmp/mytmp393; mv /tmp/mytmp393 /usr/local/share/zabbix/conf/zabbix.conf.php
[*]sed "s/_dbpass_/${DBPASS}/g" /usr/local/share/zabbix/conf/zabbix.conf.php > /tmp/mytmp393; mv /tmp/mytmp393 /usr/local/share/zabbix/conf/zabbix.conf.php
[*]
[*]
[*]cd
[*]echo "Load http://localhost/zabbix/"
[*]echo "username: admin"
[*]echo "password: zabbix"
多谢多谢
试试看怎么样 多谢分享~~ 多谢分享++++ 多谢分享~~!! 谢谢分享! 非常好,有意思!支持 多谢分享 多谢 执行不下去,唉 不錯,謝謝分享
不错,学习了!!!!!
非常好,有意思!支持
非常好,有意思!支持
非常好,有意思!支持
非常好,有意思!支持
非常好,有意思!支持
多谢分享++++
非常好,有意思!支持