一键自动化安装zabbix服务(英文版)

声明

作者:昨夜星辰

博客:http://yestreenstars.blog.51cto.com/

本文由本人创作,如需转载,请注明出处,谢谢合作!

目的

一键自动化安装zabbix服务。

环境

OS:CentOS 6.2

zabbix版本:2.2.4

配置

#!/bin/bash
# Scrpit Name: One-key Automatic Install Zabbix Server
# Author: yestreenstars
# Create Time: 2014-08-12

mysql_user_root_password="redhat"
mysql_user_zabbix_password="zabbix"

echo -n "--Closing SELinux and Modifying /etc/selinux/config..."
setenforce 0 > /dev/null 2>&1
sed -i '/^SELINUX=/s/=.*/=disabled/' /etc/selinux/config
echo "Completed!"

echo -n "--Configuring iptables firewall..."
iptables -F
iptables -X
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
service iptables save > /dev/null 2>&1
echo "Completed!"

echo -n "--Adding zabbix user..."
useradd -M -s /sbin/nologin zabbix && echo "Completed!"

echo -n "--Installing related software..."
yum -y install make gcc httpd mysql-server mysql-devel net-snmp-devel libcurl-devel php php-mysql php-bcmath php-mbstring php-gd php-xml wget > /dev/null 2>&1 && echo "Completed!"

echo -n "--Starting mysql service..."
service mysqld start > /dev/null 2>&1 && echo "Completed!"

echo -n "--Setting password for mysql root user..."
mysqladmin -uroot password $mysql_user_root_password && echo "Completed!"

echo -n "--Executing SQL statements..."
mysql -uroot -p$mysql_user_root_password -e "create database zabbix character set utf8;grant all privileges on zabbix.* to zabbix@localhost identified by '$mysql_user_zabbix_password'" && echo "Completed!"

echo -n "--Downloading zabbix..."
wget -P /tmp/ http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.4/zabbix-2.2.4.tar.gz > /dev/null 2>&1 && echo "Completed!" || (echo "Failure! && exit")

echo -n "--Installing zabbix..."
tar xzf /tmp/zabbix-2.2.4.tar.gz -C /usr/src/
cd /usr/src/zabbix-2.2.4/
(
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
make install
) > /dev/null 2>&1 && echo "Completed!"

echo -n "--Configuring zabbix..."
sed -i '/^DBUser=/s/=.*/=zabbix/;/DBPassword=/s/$/\n\nDBPassword=zabbix/' /usr/local/zabbix/etc/zabbix_server.conf
cp $PWD/misc/init.d/fedora/core/zabbix_* /etc/init.d/
sed -i '/BASEDIR=/s/$/\/zabbix/' /etc/init.d/zabbix_*
cp -R $PWD/frontends/php/ /var/www/html/zabbix/
mysql -uzabbix -p$mysql_user_zabbix_password zabbix < $PWD/database/mysql/schema.sql
mysql -uzabbix -p$mysql_user_zabbix_password zabbix < $PWD/database/mysql/images.sql
mysql -uzabbix -p$mysql_user_zabbix_password zabbix < $PWD/database/mysql/data.sql
cp /var/www/html/zabbix/conf/zabbix.conf.php.example /var/www/html/zabbix/conf/zabbix.conf.php
sed -i 's/zabbix_password/'$mysql_user_zabbix_password'/' /var/www/html/zabbix/conf/zabbix.conf.php
echo "Completed!"

echo -n "--Modifying /etc/php.ini..."
sed -i '/^post_max_size/s/= .*/= 16M/;/^max_execution_time/s/= .*/= 300/;/^max_input_time/s/= .*/= 300/;/^;date.timezone/{s/;//;s/$/ Asia\/Shanghai/}' /etc/php.ini && echo "Completed!"

echo -n "--Adding mysqld, httpd, zabbix_server and zabbix_angent service to run on starup..."
chkconfig mysqld on
chkconfig httpd on
chkconfig --add zabbix_server
chkconfig zabbix_server on
chkconfig --add zabbix_agentd
chkconfig zabbix_agentd on
echo "Completed!"

echo -n "--Starting httpd, zabbix_server and zabbix_angent service..."
(
service httpd start
service zabbix_server start
service zabbix_agentd start
) > /dev/null 2>&1 && echo "Completed!"


你可能感兴趣的:(安装,自动化,zabbix)