Zabbix automatically installs server (Shell)

Source: Internet
Author: User
Tags snmp
#!/bin/bashDBUSER=‘root‘DBPASS=‘‘DBHOST=‘localhost‘ZBX_VER=‘2.0.1‘function checkReturn {  if [ $1 -ne 0 ]; then     echo "fail: $2"     echo "$3"     exit  else     echo "pass: $2"  fi  sleep 3}cat << "eof"=== RUN AT YOUR OWN RISK ===DO NOT RUN ON EXISTING INSTALLATIONS, YOU *WILL* LOSE DATAThis script: * Installs Zabbix 2.0.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 firewalleofread -p ‘Type "go" to continue: ‘ RESPif [ "$RESP" != "go" ]; then  echo "Sorry to hear it"  exitelse  echo "Lets do this..."fi# check selinuxif [ "`sestatus |grep status|awk ‘{ print $3 }‘`" == "enabled" ]; then   checkReturn 1 "Disable SELinux and then retry"fi#disable firewallchkconfig iptables off/etc/init.d/iptables stop  # Start mysql if its on this boxif [ "`rpm -qa |grep mysql-server`" ]; then  chkconfig mysqld on  service mysqld restartfi# check mysqlmysql -h${DBHOST} -u${DBUSER} --password=${DBPASS} > /dev/null << eofstatuseofRETVAL=$?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  fifi# removed  libidn-devel iksemel-devel # dependenices for curl: e2fsprogs-devel zlib-devel libgssapi-devel krb5-devel openssl-develyum -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 make patchRETVAL=$?checkReturn $RETVAL "Package install"chmod 4755 /usr/sbin/fpingcd /tmp# jabber packages are incomplete at rpmforge (iksemel)# BEGIN pkgs for jabber (--with-jabber)#wget http://dl.atrpms.net/el6-x86_64/atrpms/stable/libiksemel3-1.4-2_2.el6.x86_64.rpm#rpm -i /tmp/libiksemel3-1.4-2_2.el6.x86_64.rpm#wget http://dl.atrpms.net/el6-x86_64/atrpms/stable/iksemel-1.4-2_2.el6.x86_64.rpm#rpm -i /tmp/iksemel-1.4-2_2.el6.x86_64.rpm#wget http://dl.atrpms.net/el6-x86_64/atrpms/stable/iksemel-devel-1.4-2_2.el6.x86_64.rpm#rpm -i /tmp/iksemel-devel-1.4-2_2.el6.x86_64.rpm# END pkgs for jabberrm -rf /etc/zabbixrm -rf zabbix-$ZBX_VERrm zabbix-$ZBX_VER.tar.gz#wget http://sourceforge.net/projects/zabbix/files/latest/download?source=files#wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/$ZBX_VER/zabbix-$ZBX_VER.tar.gzwget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/$ZBX_VER/zabbix-$ZBX_VER.tar.gzRETVAL=$?checkReturn $RETVAL "downloading source" "check ZBX_VER variable or mirror might be down"tar xzf zabbix-$ZBX_VER.tar.gzcd zabbix-$ZBX_VER./configure --enable-agent  --enable-ipv6  --enable-proxy  --enable-server --with-mysql --with-libcurl --with-net-snmp --with-ssh2 --with-ldap --sysconfdir=/etc/zabbixRETVAL=$?checkReturn $RETVAL "Configure"# --with-jabber# ipmi# ldapmakeRETVAL=$?checkReturn $RETVAL "Compile"make installRETVAL=$?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.sqlcat /tmp/zabbix-$ZBX_VER/database/mysql/images.sqlcat /tmp/zabbix-$ZBX_VER/database/mysql/data.sql) | mysql -h${DBHOST} -u${DBUSER} --password=${DBPASS}#### BEGIN ZABBIX SERVER & AGENT PROCESS INSTALL & STARTadduser -r -d /var/run/zabbix-server -s /sbin/nologin zabbix#mkdir -p /etc/zabbix/alert.dmkdir -p /var/log/zabbix-servermkdir -p /var/log/zabbix-agentmkdir -p /var/run/zabbix-servermkdir -p /var/run/zabbix-agentchown zabbix.zabbix /var/run/zabbix*chown zabbix.zabbix /var/log/zabbix*#cp /tmp/zabbix-$ZBX_VER/misc/conf/zabbix_server.conf /etc/zabbix#cp /tmp/zabbix-$ZBX_VER/misc/conf/zabbix_agentd.conf /etc/zabbixcp /tmp/zabbix-$ZBX_VER/misc/init.d/fedora/core5/zabbix_server /etc/init.dcp /tmp/zabbix-$ZBX_VER/misc/init.d/fedora/core5/zabbix_agentd /etc/init.dcd /etc/zabbixpatch -p0 -l << "eof"--- orig/zabbix_server.conf     2012-07-01 18:30:00.585612301 -0700+++ zabbix_server.conf  2012-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.eofsed "s/_dbuser_/${DBUSER}/g" /etc/zabbix/zabbix_server.conf > /tmp/mytmp393; mv /tmp/mytmp393 /etc/zabbix/zabbix_server.confsed "s/_dbpass_/${DBPASS}/g" /etc/zabbix/zabbix_server.conf > /tmp/mytmp393; mv /tmp/mytmp393 /etc/zabbix/zabbix_server.confpatch -p0 -l << "eof"--- orig/zabbix_agentd.conf     2012-07-01 18:30:00.585612301 -0700+++ zabbix_agentd.conf  2012-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.eofchkconfig zabbix_server onchkconfig zabbix_agentd onchmod +x /etc/init.d/zabbix_serverchmod +x /etc/init.d/zabbix_agentdservice zabbix_server restartservice zabbix_agentd restart#### END ZABBIX SERVER & AGENT PROCESS INSTALL & START#### BEGIN WEBrm -rf /usr/local/share/zabbixmkdir -p /usr/local/share/zabbixcp -r /tmp/zabbix-$ZBX_VER/frontends/php/* /usr/local/share/zabbixecho "Alias /zabbix /usr/local/share/zabbix" > /etc/httpd/conf.d/zabbix.confecho "post_max_size = 16M" > /etc/php.d/local_zabbix.iniecho "max_execution_time = 300" >> /etc/php.d/local_zabbix.iniecho "max_input_time = 300" >> /etc/php.d/local_zabbix.ini. /etc/sysconfig/clockecho "date.timezone = $ZONE" >>  /etc/php.d/local_zabbix.inichkconfig httpd onservice 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.phpcat > /usr/local/share/zabbix/conf/zabbix.conf.php << "eof"<?php// Zabbix GUI configuration fileglobal $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= ‘myzabbix‘;$IMAGE_FORMAT_DEFAULT   = IMAGE_FORMAT_PNG;?>eofsed "s/_dbhost_/${DBHOST}/g" /usr/local/share/zabbix/conf/zabbix.conf.php > /tmp/mytmp393; mv /tmp/mytmp393 /usr/local/share/zabbix/conf/zabbix.conf.phpsed "s/_dbuser_/${DBUSER}/g" /usr/local/share/zabbix/conf/zabbix.conf.php > /tmp/mytmp393; mv /tmp/mytmp393 /usr/local/share/zabbix/conf/zabbix.conf.phpsed "s/_dbpass_/${DBPASS}/g" /usr/local/share/zabbix/conf/zabbix.conf.php > /tmp/mytmp393; mv /tmp/mytmp393 /usr/local/share/zabbix/conf/zabbix.conf.phpcd echo "Load http://localhost/zabbix/"echo "username: admin"echo "password: zabbix"


This article is from the "muzinan technical blog" and is not reposted!

Zabbix automatically installs server (Shell)

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.