Zabbix的企業級監控架構搭建—zabbix_server的安裝

zabbix運行的系統環境是LNMP平臺,這裏主要總結了一些本身在生產環境中安裝zabbix_server的過程和方法,由於某些緣由,這套過程在CentOS,Suse,Eulor系統均反覆嘗試過,均可以成功安裝zabbix_server。我喜歡用源碼包安裝,這樣能夠掌握各類依賴軟件包的安裝路徑,缺啥裝啥,尤爲是避免php安裝過程當中沒法找到依賴包的麻煩。

一.Mysql的源碼安裝

1.相關安裝包的下載

(1)mysql的下載
登錄https://downloads.mysql.com/archives/community/選擇最新的穩定版本,進行下載。
(2)cmake的下載
登錄https://cmake.org/download/下載最新的版本。
(3)Boost的下載
登錄https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz下載。php

2.Mysql的安裝

(1)Yum安裝依賴包
這裏使用yum安裝gcc,c++的編譯環境。
#yum -y install gcc gcc-c++ ncurses ncurses-devel *curl* *libxml2*
(2)安裝cmakehtml

#tar -xvf cmake-3.10.1.tar.gz
#cd cmake-3.10.1/
#./bootstrap --prefix=/home/cmake
#make && make install

(3)準備boost
# tar -xvf boost_1_59_0.tar.gz -C /usr/local/
(4)建立用戶和日誌文件目錄node

# groupadd mysql
# useradd -s /sbin/nologin -g mysql mysql
# mkdir /var/log/mysql
# chown -R mysql.mysql /var/log/mysql/

(5)安裝mysqlmysql

# tar -xvf mysql-5.7.18.tar.gz
# cd mysql-5.7.18/
#/home/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/node/mysql  -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DEXTRA_CHARSETS=all -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost_1_59_0
#make && make install

3.配置mysql

(1)拷貝啓動腳本nginx

# cp /node/installfile/mysql/mysql-5.7.18/support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld

(2)將mysql數據庫的動態連接庫共享至系統連接庫,以便被其餘服務調用
# ln -sv /node/mysql/lib/libmysqlclient.so.20 /usr/lib/
(3)設置庫文件及環境變量c++

# echo "/node/mysql/lib" >> /etc/ld.so.conf
# ldconfig
# echo "export PATH=$PATH:$HOME/bin:/node/mysql/bin/" >>  /etc/profile
# source /etc/profile

(4)設置開機自啓web

# chkconfig --add mysqld
# chkconfig mysqld on
# chkconfig --list mysqld

(5)配置文件
mysql的配置文件是/etc/my.cf,mysql對於zabbix的使用性能來講,是重要的影響因素,須要作一些優化,這部份內容在後面作一些總結。sql

4.初始化數據庫

# mysqld --initialize-insecure --user=mysql --basedir=/node/mysql --datadir=/node/mysql/data數據庫

5.啓動數據庫

# chown -R mysql.mysql /node/mysql/
# /etc/init.d/mysqld restart
# netstat -anptu |grep "mysql"
tcp6       0      0 :::3306            :::*           LISTEN      3922/mysqld

二.Nginx的源碼安裝

1,準備依賴庫

(1)Pcre
下載地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
# tar -xvf pcre-8.41.tar.gz
(2)Openssl
下載地址:https://www.openssl.org/source/
# tar -xvf openssl-1.1.0g.tar.gz
(3)Zlib
下載地址:http://www.zlib.net/
# tar -xvf zlib-1.2.11.tar.gzbootstrap

2.添加用戶

# groupadd nginx
# useradd -s /sbin/nologin -g nginx nginx

3.Nginx安裝

# tar -xvf nginx-1.12.2.tar.gz
# cd nginx-1.12.2/
# ./configure --prefix=/node/nginx-1.12.2 --user=nginx --with-pcre=../pcre-8.41/ --with-zlib=../zlib-1.2.11/ --with-openssl=../openssl-1.1.0g/ --with-http_stub_status_module --with-http_ssl_module
#make && make install

4.Nginx配置

# echo 'export PATH=$PATH:/node/nginx-1.12.2/sbin/' >> /etc/profile
# source /etc/profile

5.啓動nginx

# nginx`
#nginx -s stop #關閉nginx

6.nginx的啓動腳本

#vim /etc/init.d/nginxd
#!/bin/bash
#chkconfig: - 80 90
pid=/node/nginx-1.12.2/logs/nginx.pid
mstart(){
        if [ -e $pid ];then
           echo -e "\033[32mnginx已啓動\033[0m"
        else 
           nginx  &>/etc/null
           [ $? -eq 0 ]&&echo -e "\033[32mnginx啓動成功\033[0m"||echo -e "\033[31mnginx啓動失敗\033[0m"
        fi            
}
mstop(){
      if [ -e $pid ];then
         nginx -s stop  &>/etc/null
         [ $? -eq 0 ]&&echo -e "\033[32mnginx關閉成功\033[0m"||echo -e "\033[31mnginx關閉失敗\033[0m"
      else 
        echo -e "\033[32mnginx已關閉\033[0m"
      fi  
}
mstatus(){
      if [ -e $pid ];then
         echo -e "\033[32mnginx已啓動\033[0m"
      else 
         echo -e "\033[32mnginx已關閉\033[0m"           
      fi 
}
mrestart(){
        if [ -f $pid ];then
        kill `cat $pid`
        [ $? -eq 0 ]&&echo -e "\033[32mnginx已關閉\033[0m"||echo "nginx失敗"
     else
        echo -e "\033[32mnginx已關閉\033[0m"
     fi
     echo -e "nginx重啓中"
     sleep 2
     if [ -f $pid ];then
        echo -e "\033[32mnginx已啓動\033[0m"
     else
     nginx  &> /dev/null
     [ $? -eq 0 ]&&echo -e "\033[32mnginx已啓動\033[0m"||echo "nginx啓動失
敗" 
     fi

}

case $1 in 
start)
    mstart
    ;;
stop)
    mstop
    ;;
status)
    mstatus
    ;;
restart)
    mrestart
    ;;
reload)
    nginx -s reload
    ;;
*)
    echo "Usage: $0 [start|stop|restart|status|reload]"
esac

三.安裝PHP

1.安裝依賴庫

# yum install libXpm-devel
(1)安裝mhash

# tar -xvf mhash-0.9.9.9.tar.gz
# cd mhash-0.9.9.9/
# ./configure 
#make && make install

(2)安裝libiconv

# tar -xvf libiconv-1.15.tar.gz
# cd libiconv-1.15/
# ./configure
#make && make install

(3)安裝libmcrypt

# tar -xvf libmcrypt-2.5.8.tar.gz
# cd libmcrypt-2.5.8/
# ./configure
#make && make install

(4)安裝libxml2

#tar -xvf libxml2-2.7.8.tar.gx
#cd libxml2-2.7.8/
#./configure
#make && make install

(5)創建軟鏈接

# ln -sv /usr/local/lib/libmcrypt* /usr/lib/
# ln -sv /usr/local/lib/libmhash* /usr/lib/
# ln -sv /usr/local/lib/libiconv* /usr/lib/

2.安裝GD

(1)安裝zlib

# tar -xvf zlib-1.2.11.tar.gz
# cd zlib-1.2.11/
# ./configure --prefix=/usr/local/zlib --shared --enable-shared
#make && make install

(2)安裝libpng

# tar -xvf libpng-1.6.34.tar.gz
# cd libpng-1.6.34/
# ./configure --prefix=/usr/local/libpng
#make && make install

(3)安裝freetype

# tar -xvf freetype-2.3.11.tar.gz
# cd freetype-2.3.11/
# ./configure --prefix=/usr/local/freetype
#make && make install

(4)安裝jpeg

# tar -xvf jpegsrc.v9b.tar.gz
# cd jpeg-9b/
# ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
#make && make install

(5)安裝libwebp

# tar -xvf libwebp-0.6.1.tar.gz
# cd libwebp-0.6.1/
# ./configure --prefix=/usr/local/libwebp --enable-libwebpmux --enable-libwebpdemux --enable-libwebpdecoder --enable-libwebpextras --enable-swap-16bit-csp --disable-static
#make && make install

(6)安裝gd

# tar -xvf libgd-2.2.5.tar.gz
# cd libgd-2.2.5/
# ./configure --prefix=/usr/local/libgd --with-zlib=/usr/local/zlib/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ --with-jpeg=/usr/local/jpeg/
#make && make install

3.安裝php

#tar -xvf php-7.2.0.tar.gz
#cd php-7.2.0/
#./configure --prefix=/node/php7 --with-mysql=/node/mysql --enable-fpm --enable-mbstring --with-mcrypt --with-mhash --with-curl --with-config-file-path=/node/php7/etc --with-mysqli=/node/mysql/bin/mysql_config --enable-gd-native-ttf --enable-sockets --enable-bcmath --with-zlib-dir=/usr/local/zlib/ --with-jpeg-dir=/usr/local/jpeg/ --with-freetype-dir=/usr/local/freetype/ --with-png-dir=/usr/local/libpng/ --with-webp-dir=/usr/local/libwebp/ --with-xpm-dir=/usr/ --with-iconv=/usr/ --with-gd
#make
#make install

四.構建LNMP平臺

1.構建php-fpm

(1)拷貝並修改php-fpm配置文件

# cd /node/php7/etc/
# cp php-fpm.conf.default php-fpm.conf
#vim php-fpm.conf
[global]
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = error
daemonize = yes
# cd php-fpm.d/
# cp www.conf.default www.conf
#vim www.conf
user = www
group = www
pm = dynamic
pm.max_children = 32
pm.start_servers = 15
pm.min_spare_servers = 5
pm.max_spare_servers = 32

(2)拷貝php-fpm啓動文件

# cp /node/installfile/php/php-7.2.0/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x /etc/init.d/php-fpm
# groupadd www
# useradd -s /sbin/nologin -g www www

(3)設置開機啓動

# chkconfig --add php-fpm
# chkconfig php-fpm on

(4)啓動php-fpm

# /etc/init.d/php-fpm start
Starting php-fpm  done
# ps aux |grep  php

2.修改nginx配置文件支持php

# vim /node/nginx-1.12.2/conf/nginx.conf
   location / {
            root   html;
            index  index.php index.html index.htm;
        }
    location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

# nginx -s reload //從新加載nginx

3. 修改php配置文件,支持zabbix

# cp /node/installfile/php/php-7.2.0/php.ini-development /node/php7/etc/php.ini

# vim /node/php7/etc/php.ini 
date.timezone = Asia/Shanghai
max_execution_time = 300
max_input_time = 300
post_max_size = 64M
memory_limit = 128M
mbstring.func_overload = 0

五.安裝zabbix_server

1.安裝依賴

# yum -y install OpenIPMI OpenIPMI-devel ipmitool freeipmi net-snmp* libcurl* libevent*

2.安裝zabbix

# tar -xvf zabbix-3.4.3.tar.gz
# cd zabbix-3.4.3/
# ./configure --prefix=/node/zabbix-3.4.3 --enable-server --enable-agent --with-mysql=/node/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-openipmi
#make && make install

3.建立數據庫並導入數據

# mysql -uroot -p
mysql> set password for 'root'@'localhost'=password('123456');
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';

4.導入數據

# cd /node/installfile/zabbix/zabbix-3.4.3/database/mysql/
# mysql -uzabbix -pzabbix zabbix < schema.sql 
# mysql -uzabbix -pzabbix zabbix < images.sql 
# mysql -uzabbix -pzabbix zabbix < data.sql

5.建立啓動環境

(1)建立用戶

# groupadd zabbix
# useradd -s /sbin/nologin -g zabbix zabbix

(2)建立日誌文件目錄

# mkdir /var/log/zabbix
# chown -R zabbix.zabbix /var/log/zabbix/

(3)建立軟連接

# ln -sv /node/zabbix-3.4.3/etc /etc/zabbix
# ln -sv /node/zabbix-3.4.3/bin/* /usr/bin/
# ln -sv /node/zabbix-3.4.3/sbin/* /usr/sbin/

(4)拷貝啓動腳本
# cp /node/installfile/zabbix/zabbix-3.4.3/misc/init.d/fedora/core/zabbix_* /etc/init.d/
修改啓動腳本中的安裝路徑

# vim /etc/zabbix/zabbix_server.conf
BASEDIR=/node/zabbix-3.4.3

(5)添加端口信息

# vim /etc/services
zabbix-agent    10050/tcp               #zabbix agent
zabbix-agent    10050/udp               #zabbix agent
zabbix-server   10051/tcp               #zabbix server
zabbix-server   10051/udp               #zabbix server

(6)修改zabbix-server配置文件

# vim /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

(7)拷貝web頁面

# cp -r /node/installfile/zabbix/zabbix-3.4.3/frontends/php  /node/nginx-1.12.2/html/zabbix
# chown -R nginx.nginx /node/nginx-1.12.2/

6.啓動zabbix-server

# chkconfig --add zabbix_server
# chkconfig zabbix_server on
# /etc/init.d/zabbix_server start

7.Web頁面安裝zabbix

http://ip/zabbix
可能會顯示php少模塊,再編譯安裝進去便可
#yum -y install autoconf m4
(1)安裝ldap
# yum -y install openldap
#yum install openldap-devel

# cp /usr/lib64/libldap* /usr/lib/
# cd /node/installfile/php/php-7.2.0/ext/ldap/
# /node/php7/bin/phpize 
# ./configure --with-ldap --with-php-config=/node/php7/bin/php-config
#make && make install

(2)安裝gettext

#cd /node/installfile/php/php-7.2.0/ext/gettext
# /node/php7/bin/phpize 
# ./configure  --with-php-config=/node/php7/bin/php-config
#make && make install

(3)在php.ini配置文件中增長模塊

# vim /node/php7/etc/php.ini
extension=gettext.so
extension=ldap.so

(4)重啓php-fpm
# /etc/init.d/php-fpm restart

六.Zabbix安裝完成

經過web頁面進行配置後,進入登錄頁面:
http://ip/zabbix/index.php
用戶名:admin
密碼:zabbix
Zabbix的企業級監控架構搭建—zabbix_server的安裝

相關文章
相關標籤/搜索