zabbix + lnmp: 終結版

zabbix + lnmp: 終結版

############################


############################

第一種安裝,我採用的【成功】:

############################

1、需要的組件:

zabbix-3.0.3.tar.gz   http://www.zabbix.com/download.php  官網下載頁面

http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz/download  下載鏈接


nginx-1.10.1.tar.gz  http://nginx.org/en/download.html 官網下載頁面

http://nginx.org/download/nginx-1.10.1.tar.gz  下載鏈接


php-5.6.22.tar.gz  http://php.net/downloads.php 官網下載頁面

http://php.net/get/php-5.6.22.tar.gz/from/a/mirror  下載鏈接列表

http://cn2.php.net/get/php-5.6.22.tar.gz/from/this/mirror  選擇中國站點下載


2、配置yum倉庫

[root@zabbix-server-1 yum.repos.d]# cat zabbix.repo

[base]

name=CentOS-$releasever - Base

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra

baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

enabled=1



yum clean all  # 清除yum緩存

yum makecache  # 生成yum緩存


3、安裝nginx

#安裝依賴包

yum install pcre pcre-devel openssl openssl-devel gcc-c++  -y

useradd -s /sbin/nologin -M nginx

tar xf nginx-1.10.1.tar.gz

./configure --user=nginx --group=nginx --prefix=/application/nginx-1.10.1 --with-http_stub_status_module --with-http_ssl_module

make

make install

ln -s /application/nginx-1.10.1/ /application/nginx

/application/nginx/sbin/nginx #start nginx service


ps -ef|grep nginx

ss -lntup|grep nginx

[root@zabbix-server-1 conf]# pwd

/application/nginx/conf


egrep -v "#|^$" nginx.conf.default > nginx.conf

#修改部分配置

[root@zabbix-server-1 conf]# cat nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.php index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~\.(php|php5)?$ {
            root /application/nginx/html;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /application/nginx/html$fastcgi_script_name;
            include    fastcgi_params;
        }
    }
}

#殺死進程,重啓服務

ps -ef|grep nginx
/application/nginx/sbin/nginx -t
/application/nginx/sbin/nginx


3、安裝php

yum install zlib-devel libxml2-devel libjpeg-devel libiconv-devel freetype-devel libpng-devel gd-devel curl-devel libxslt-devel mysql-devel    -y 
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
echo $?

#添加epel源

#https://fedoraproject.org/wiki/EPEL

#上面這個位置找到對應的系統版本進入

#centos 6 x86_64 https://dl.fedoraproject.org/pub/epel/6/x86_64/

#https://dl.fedoraproject.org/pub/epel/   通過這個頁面下載對應的epel yum源安裝包

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

yum install libmcrypt-devel mhash mcrypt


開始安裝:

tar xf php-5.6.22.tar.gz
cd php-5.6.22
./configure \
--prefix=/application/php-5.6.22 \
--with-mysql \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--with-gettext \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp \
--enable-opcache=no
make && make install
ln -s /application/php-5.6.22/ /application/php
[root@zabbix-server-1 php-5.6.22]# pwd
/root/php-5.6.22

[root@zabbix-server-1 php-5.6.22]# cp php.ini-production /application/php/lib/php.ini
[root@zabbix-server-1 php-5.6.22]# cd /application/php/etc/
[root@zabbix-server-1 etc]# ls
pear.conf  php-fpm.conf.default
[root@zabbix-server-1 etc]# pwd
/application/php/etc
[root@zabbix-server-1 etc]# cp php-fpm.conf.default php-fpm.conf
[root@zabbix-server-1 etc]# /application/php/sbin/php-fpm
[root@zabbix-server-1 etc]# netstat -lntup|grep php-fpm
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      3689/php-fpm

3、開始安裝zabbix

tar zxvf zabbix-3.0.3.tar.gz
cd zabbix-3.0.3
groupadd zabbix
useradd -g zabbix zabbix

#安裝依賴包,如果一次安裝錯誤,就多試幾次

yum install -y net-snmp net-snmp-devel libssh2-devel OpenIPMI-devel
 ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-ssh2

 監控jvm:

 #./configure --prefix=/usr/local/zabbix-3.0.0/  --enable-agent --enable-java

 ###############

 編譯錯誤處理:

以下操作可能需要第三方源,參考此進行安裝第三方Yum源

rpm-ivhhttp://ftp.sjtu.edu.cn/fedora/ep ... ease-6-8.noarch.rpm


configure: error: Jabber library not found

#yum installiksemel-devel 即可,

configure: error: LIBXML2 library not found

#yuminstall libxml2-devel

configure: error: unixODBC library not found

#yuminstall unixODBC-devel

configure: error: Invalid OPENIPMI directory - unable to findipmiif.h

#yum install OpenIPMI-devel

configure:error: Unable to find "javac" executable in path

#yum install java*具體什麼包沒找,直接通配,生產環境可去掉--enable-java選項

configure: error: Curl library not found

# yum install curl-devel

Make && make install

iv.安裝後配置

1.修改zabbix_proxy.conf配置文件

vi/usr/local/etc/zabbix_proxy.conf

修改如下行:

Server=192.168.13.222\\ Server端的地址

Hostname=Zabbix_proxy\\ 主機名稱,在Server設置代理時候必須一致

DBName=zabbix_proxy\\數據庫名稱

DBUser=zabbix_proxy\\數據庫用戶

DBPassword=zabbix_proxy123\\數據庫密碼

ProxyLocalBuffer=0\\最好設置爲0,除非有插件要求。

ProxyOfflineBuffer=1\\離線緩存記錄,設置爲1小時

ConfigFrequency=600\\server和proxy配置修改同步時間間隔,單位秒

DataSenderFrequency=10\\數據發送時間間隔,單位秒

StartPollers=10\\開啓多線程

StartPollersUnreachable=1\\該線程用來單獨監控無法連接的主機,1個即可

StartTrappers=10\\trapper線程數

StartPingers=1\\fping線程數

CacheSize=64M\\用來保存監控數據的緩存數,根據監控主機數量適當調整

Timeout=10\\超時時間,單位秒

TrapperTimeout=30\\Trappe超時時間,單位秒

LogFile=/var/log/zabbix_proxy.log\\日誌位置

##################

    

make && make install

egrep -v "#|^$" /usr/local/etc/zabbix_server.conf

LogFile=/tmp/zabbix_server.log

DBHost=192.168.11.5

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

ListenIP=0.0.0.0

Timeout=4

AlertScriptsPath=${datadir}/zabbix/alertscripts

LogSlowQueries=3000


#拷貝啓動腳本

cp misc/init.d/fedora/core/zabbix_* /etc/rc.d/init.d/


zabbix_server

#修改配置文件

vim /application/php/lib/php.ini

max_execution_time = 300

max_input_time = 300

post_max_size = 16M

always_populate_raw_post_data = -1

date.timezone = Asia/Shanghai


#重啓php

[root@zabbix-server-1 zabbix-3.0.3]# pkill -9 php-fpm

[root@zabbix-server-1 zabbix-3.0.3]# /application/php/sbin/php-fpm


#從zabbix源碼包拷貝網站到nginx

[root@zabbix-server-1 zabbix-3.0.3]# pwd

/root/zabbix-3.0.3

[root@zabbix-server-1 zabbix-3.0.3]# cp -rf frontends/php /application/nginx/html/zabbix/


#如果有防火牆,要麼開放80端口,要麼臨時停止

service iptables stop


4.mysql 5.6.32的安裝。

[root@zabbix-6 ~]# rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

Retrieving http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

Preparing...                ########################################### [100%]

   1:mysql-community-release########################################### [100%]

[root@zabbix-6 ~]# yum install mysql-server -y

......

Installed:

  mysql-community-libs.x86_64 0:5.6.29-2.el6    mysql-community-libs-compat.x86_64 0:5.6.29-2.el6    mysql-community-server.x86_64 0:5.6.29-2.el6   

Dependency Installed:

  mysql-community-client.x86_64 0:5.6.29-2.el6          mysql-community-common.x86_64 0:5.6.29-2.el6          perl-DBI.x86_64 0:1.609-4.el6         


Dependency Updated:

  postfix.x86_64 2:2.6.6-6.el6_7.1                                                                                                                  

Replaced:

  mysql-libs.x86_64 0:5.1.71-1.el6                                                                                                                  

Complete!


修改mysql配置文件. /etc/my.cnf,在[mysqld]中添加innodb_file_per_table=1,並登錄數據庫,創建zabbix 數據庫以及授權zabbix用戶。

[root@zabbix-6 ~]# grep -v "^#"  /etc/my.cnf | grep -v "^$"

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

innodb_file_per_table=1

symbolic-links=0

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid


[root@zabbix-6 ~]# service mysqld start

lsof -i:3306


#導入數據庫   

mysql -e "create database zabbix character set utf8;"

mysql  -e "grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';"

mysql  -e "flush privileges;"  


#注意路徑

mysql -uzabbix -pzabbix zabbix </home/tools/zabbix/zabbix-2.4.7/database/mysql/schema.sql

mysql -uzabbix -pzabbix zabbix </home/tools/zabbix/zabbix-2.4.7/database/mysql/images.sql

mysql -uzabbix -pzabbix zabbix </home/tools/zabbix/zabbix-2.4.7/database/mysql/data.sql

---------------------------

[root@zabbix-6 ~]# mysql -uroot -p

Enter password: 

#mysql> create database zabbix character set utf8 collate utf8_bin;

#mysql> grant all privileges on zabbix.* To zabbix@localhost identified by 'testzabbix';    (testzabbix 密碼根據自己要求設置,後期安裝zabbix-server需要)

---------------------------


#給目錄設置權限

chown -R nginx.nginx /application/nginx/html/

打開瀏覽器,輸入以下鏈接

http://192.168.11.11/zabbix/setup.php



############################

安裝proxy







############################

第二種安裝,未成功:

############################

一、安裝步驟:

1.安裝epel源:

[root@zabbix-6 ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

Retrieving https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

warning: /var/tmp/rpm-tmp.M3toD5: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY

Preparing...                ########################################### [100%]

   1:epel-release           ########################################### [100%]

  

2.安裝php

[root@zabbix-6 ~]# yum install php -y


3.安裝php5.6 源

[root@zabbix-6 ~]# rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

Retrieving https://mirror.webtatic.com/yum/el6/latest.rpm

warning: /var/tmp/rpm-tmp.9Dr1A3: Header V4 DSA/SHA1 Signature, key ID cf4c4ff9: NOKEY

Preparing...                ########################################### [100%]

   1:webtatic-release       ########################################### [100%]

 

4.安裝yum replace 插件


[root@zabbix-6 ~]# yum install yum-plugin-replace –y


5.更新php 爲php-5.6版本

[root@zabbix-6 ~]# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

[root@zabbix-6 ~]# yum --enablerepo=remi install php php-fpm -y

[root@zabbix-6 ~]# yum replace php-common --replace-with=php56w-common -y

......

......

Removed:

  php.x86_64 0:5.4.45-7.el6.remi   php-cli.x86_64 0:5.4.45-7.el6.remi   php-common.x86_64 0:5.4.45-7.el6.remi   php-fpm.x86_64 0:5.4.45-7.el6.remi  


Installed:

  php56w.x86_64 0:5.6.19-1.w6      php56w-cli.x86_64 0:5.6.19-1.w6      php56w-common.x86_64 0:5.6.19-1.w6      php56w-fpm.x86_64 0:5.6.19-1.w6     


Complete!


檢查下php的版本

[root@zabbix-6 ~]# php -v

PHP 5.6.19 (cli) (built: Mar  5 2016 00:06:38) 

Copyright (c) 1997-2016 The PHP Group

Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

[root@zabbix-6 ~]# php-fpm -v

PHP 5.6.19 (fpm-fcgi) (built: Mar  5 2016 00:09:12)

Copyright (c) 1997-2016 The PHP Group

Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies


修改php.ini

[root@zabbix-6 ~]# sed  -i 's/;always_populate_raw_post_data = -1/always_populate_raw_post_data = -1/g' /etc/php.ini


安裝libcurl,這裏需要注意下,設置dns 爲8.8.8.8,修改/etc/resolv.conf. 不然安裝會找不到服務器。

[root@zabbix-6 ~]# rpm -ivh http://mirror.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm

Retrieving http://mirror.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel6.noarch.rpm

warning: /var/tmp/rpm-tmp.sbmz6D: Header V3 DSA/SHA1 Signature, key ID b56a8bac: NOKEY

Preparing...                ########################################### [100%]

   1:city-fan.org-release   ########################################### [100%]

[root@zabbix-6 ~]# yum install libcurl -y

......

Updated:

  libcurl.x86_64 0:7.48.0-1.0.cf.rhel6                                                                                                              


Dependency Updated:

  curl.x86_64 0:7.48.0-1.0.cf.rhel6                                       libssh2.x86_64 0:1.7.0-5.0.cf.rhel6                                      


Complete!


[root@zabbix-6 ~]# rpm -e city-fan.org-release


6.下面是mysql的安裝。

[root@zabbix-6 ~]# rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

Retrieving http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

Preparing...                ########################################### [100%]

   1:mysql-community-release########################################### [100%]

[root@zabbix-6 ~]# yum install mysql-server -y

......

Installed:

  mysql-community-libs.x86_64 0:5.6.29-2.el6    mysql-community-libs-compat.x86_64 0:5.6.29-2.el6    mysql-community-server.x86_64 0:5.6.29-2.el6   


Dependency Installed:

  mysql-community-client.x86_64 0:5.6.29-2.el6          mysql-community-common.x86_64 0:5.6.29-2.el6          perl-DBI.x86_64 0:1.609-4.el6         


Dependency Updated:

  postfix.x86_64 2:2.6.6-6.el6_7.1                                                                                                                  


Replaced:

  mysql-libs.x86_64 0:5.1.71-1.el6                                                                                                                  


Complete!



修改mysql配置文件. /etc/my.cnf,在[mysqld]中添加innodb_file_per_table=1,並登錄數據庫,創建zabbix 數據庫以及授權zabbix用戶。

[root@zabbix-6 ~]# grep -v "^#"  /etc/my.cnf | grep -v "^$"

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

innodb_file_per_table=1

symbolic-links=0

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid


[root@zabbix-6 ~]# service mysqld start

[root@zabbix-6 ~]# mysql -uroot -p

Enter password: 

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> grant all privileges on zabbix.* To zabbix@localhost identified by 'testzabbix';    (testzabbix 密碼根據自己要求設置,後期安裝zabbix-server需要)


#######################################################  

這種方法我就執行到這。

####################################################### 

7.現在開始安裝zabbix-server 軟件了。等不及了吧

[root@zabbix-6 ~]# git clone https://github.com/zabbixcn/zabbix3.0-rpm.git

[root@zabbix-6 RPMS]# pwd

/root/zabbix3.0-rpm/RPMS

[root@zabbix-6 RPMS]# ls

epel-release-6-8.noarch.rpm                 zabbix-proxy-mysql-3.0.0-1.el6.x86_64.rpm    zabbix-server-pgsql-3.0.0-1.el6.x86_64.rpm

remi-release-6.rpm                          zabbix-proxy-pgsql-3.0.0-1.el6.x86_64.rpm    zabbix-web-3.0.0-1.el6.noarch.rpm

zabbix-agent-3.0.0-1.el6.x86_64.rpm         zabbix-proxy-sqlite3-3.0.0-1.el6.x86_64.rpm  zabbix-web-japanese-3.0.0-1.el6.noarch.rpm

zabbix-get-3.0.0-1.el6.x86_64.rpm           zabbix-sender-3.0.0-1.el6.x86_64.rpm         zabbix-web-mysql-3.0.0-1.el6.noarch.rpm

zabbix-java-gateway-3.0.0-1.el6.x86_64.rpm  zabbix-server-mysql-3.0.0-1.el6.x86_64.rpm   zabbix-web-pgsql-3.0.0-1.el6.noarch.rpm


[root@zabbix-6 RPMS]# yum install zabbix-server-mysql-3.0.0-1.el6.x86_64.rpm zabbix-web-3.0.0-1.el6.noarch.rpm 

zabbix-web-mysql-3.0.0-1.el6.noarch.rpm httpd php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml -y

......

Installed:

  php56w-bcmath.x86_64 0:5.6.19-1.w6   php56w-gd.x86_64 0:5.6.19-1.w6    php56w-mbstring.x86_64 0:5.6.19-1.w6    php56w-mysql.x86_64 0:5.6.19-1.w6  

  php56w-xml.x86_64 0:5.6.19-1.w6      zabbix-web.noarch 0:3.0.0-1.el6   zabbix-web-mysql.noarch 0:3.0.0-1.el6  


Dependency Installed:

  dejavu-fonts-common.noarch 0:2.33-1.el6        dejavu-sans-fonts.noarch 0:2.33-1.el6        fontpackages-filesystem.noarch 0:1.41-1.1.el6       

  libXpm.x86_64 0:3.5.10-2.el6                   libxslt.x86_64 0:1.1.26-2.el6_3.1            php56w-ldap.x86_64 0:5.6.19-1.w6                    

  php56w-pdo.x86_64 0:5.6.19-1.w6                t1lib.x86_64 0:5.1.2-6.el6_2.1              


Complete!


zabbix-server 也要安裝zabbix-agent客戶端


[root@zabbix-6 RPMS]# yum install zabbix-agent-3.0.0-1.el6.x86_64.rpm -y 

  修改http的時區

[root@zabbix-6 ~]# sed -i "s@# php_value date.timezone Europe/Riga@php_value date.timezone Asia/Shanghai@g" /etc/httpd/conf.d/zabbix.conf


初始化zabbix 數據庫,建表。文件目錄在/usr/share/zabbix-server-mysql-3.0.0


[root@zabbix-6 zabbix-server-mysql-3.0.0]# pwd

/usr/share/zabbix-server-mysql-3.0.0

[root@zabbix-6 zabbix-server-mysql-3.0.0]# ls

create.sql.gz

[root@zabbix-6 zabbix-server-mysql-3.0.0]# zcat create.sql.gz | mysql -uzabbix -ptestzabbix zabbix

Warning: Using a password on the command line interface can be insecure.

  建完後,修改zabbix-server 端的配置,主要改動下面這4處


[root@zabbix-6 ~]# vim /etc/zabbix/zabbix_server.conf 

......

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=testzabbix

  啓動httpd、zabbix-server、zabbix-agent服務


[root@zabbix-6 ~]# /etc/init.d/httpd start

[root@zabbix-6 ~]# /etc/init.d/zabbix-server start

[root@zabbix-6 ~]# /etc/init.d/zabbix-agent start


###########################

 報錯總結:

###########################

PHP編譯安裝出錯configure: error: mcrypt.h not found. Please reinstall libmcrypt的解決辦法:

1、下載libmcrypt

wget http://jaist.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

2、解壓

tar -zxvf libmcrypt-2.5.8.tar.gz 

3、配置編譯參數

1 cd libmcrypt-2.5.8

2 ./configure

4、編譯安裝

make && make install


5、configure: error: png.h not found.

[root@nginx php-5.6.22]# yum install libpng-devel


6、configure: error: Please reinstall the libcurl distribution -

yum -y install curl-devel


7、configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

yum install libxslt-devel* -y

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章