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