zabbix 自動部署

1、部署場景
單臺zabbix部署場景
2、部署環境
系統平臺:CentOS7
zabbix版本:zabbix-3.2.1
mysql:mariadb
web服務:apache
3、服務端自動部署腳本如下
#!/bin/bash
setenforce 0
#step1:install packages
yum -y install httpd mariadb mariadb-server php wget mariadb mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml libssh2-devel libxml2-devel OpenIPMI-devel
systemctl restart httpd
systemctl restart mariadb
#Whern some error occur to zabbix about packages,then try to excute follow
#yum -y install zlib zlib-devel openssl openssl-devel pcre* make gd-devel libjpeg-devel libpng-devel bzip2-devel libcurl-devel
#zabbix download
mkdir -p /opt
wget
 http://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.1/zabbix-3.2.1.tar.gz -O /opt/zabbix-3.2.1.tar.gz
tar -zxvf zabbix-3.2.1.tar.gz
cd /opt/zabbix-3.2.1
groupadd zabbix
useradd zabbix -g zabbix
#database create
mysql -e "create database zabbix;"
mysql -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';flush privileges;"
mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
#zabbix install
./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --with-libxml2 --with-ssh2 --with-openipmi
make&&make install
#config init script
cp /opt/zabbix-3.2.1/misc/init.d/fedora/core/zabbix_*  /etc/init.d/
sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_server
sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_agentd
#config agent and server
sed -i 's/^DBUser=.*$/DBUser=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/^.*DBPassword=.*$/DBPassword=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
#edit the  /etc/services
cat >>/etc/services <<EOF1
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper
EOF1
#edit the php.ini
cat >>/etc/php.ini <<EOF2
date.timezone = Asia/Shanghai
max_execution_time = 300
max_input_time = 300
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 0
EOF2
#edite apache web site
cp -rp /opt/zabbix-3.2.1/frontends/php /var/www/html/zabbix
sed -i '/#.*ServerName.*:80/c ServerName 127.0.0.1' /etc/httpd/conf/httpd.conf
cat >>/etc/httpd/conf/httpd.conf <<EOF3
<VirtualHost *:80>
DocumentRoot "/var/www/html/zabbix"
ServerName zabbix_server
 
</VirtualHost>
EOF3
#config zabbix.conf.php
cat >/var/www/html/zabbix/conf/zabbix.conf.php <<EOF4
<?php
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '127.0.0.1';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbix';
$ZBX_SERVER = '127.0.0.1';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>
EOF4
chown zabbix:zabbix /var/www/html/zabbix/conf/zabbix.conf.php
#restart the agent/server
/etc/init.d/zabbix_agentd restart
/etc/init.d/zabbix_server restart
#restart the Apache/MySQL
systemctl restart httpd
systemctl restart mariadb
4、出現問題
1)如果以上代碼執行至最後一步時出現訪問異常,手動再次編輯>/var/www/html/zabbix/conf/zabbix.conf.php
內容如下:
<?php
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '127.0.0.1';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbix';
$ZBX_SERVER = '本機zabbix服務IP地址';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>

發佈了31 篇原創文章 · 獲贊 41 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章