LNMP環境搭建zabbix監控平臺
安裝之前,先建幾個目錄:
mkdir tools
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
mkdri /usr/local/zabbix
mkdir /usr/local/zabbix
mkdir /usr/local/php
第一:安裝Nginx'
1、安裝依賴包:
yum -y install gcc automake autoconf libtool make
yum -y install gcc gcc-c++
yum install -y zlib-devel
yum -y install pcre-devel
yum -y install openssl openssl-deve
tools目錄有PCRE庫:
tar -zxvf pcre-8.37.tar.gz
cd /root/tools/pcre-8.34
./configure
make && make install
安裝zlib庫:
tools目錄有zlib庫:
tar -zxvf zlib-1.2.11.tar.gz
cd /root/tools/zlib-1.2.11
./configure
make && make install
安裝ssl
tools目錄有ssl庫:
tar -zxvf openssl-1.0.1t.tar.gz ##先僅僅解壓就可以了,不用./configure,下一步會有
安裝Nginx原始碼包:
tools目錄有nginx包:
tar -zxvf nginx.1.11.2.tar.gz
cd /root/tools/nginx.1.11.2
./configure--sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/root/tools/pcre-8.40 --with-zlib=/root/tools/zlib-1.2.11 --with-openssl=/root/tools/openssl-1.1.0e --with-http_stub_status_module
make && make install
cd /usr/local/nginx/
cd conf
vim nginx.conf
加入:server {
listen 11099;
server_name localhost;
access_log /usr/local/zabbix/log/php.access.log;
index index.html index.php index.html;
root /usr/local/zabbix/php;
location /
{
try_files $uri $uri/ /index.php?$args;
}
location ~ ^(.+.php)(.*)$ {
fastcgi_split_path_info ^(.+.php)(.*)$;
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;(這一行改為:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;詳情參見 http://www.jb51.net/article/47916.htm)
}
儲存退出。
防火牆設定:
vi /etc/sysconfig/iptables
在埠22哪一行下面加入如下行:下面幾行包括nginx 堅挺埠11099 ,mysql 3306,zabbix_server 10051 zabbix_agent 10050
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 11099 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
然後儲存退出,重啟防火牆:/etc/init.d/iptables restart 或service iptables restart
建立zabbix log目錄:mkdir /usr/local/zabbix/log
啟動Nginx:
/usr/local/nginx/sbin/nginx
ps -aux |grep nginx
/usr/local/nginx/sbin/nginx
ps -aux |grep nginx
測試nginx成功沒:瀏覽器輸入:http://192.168.1.242 (http://nginx所在Ip)
到這裡,nginx成功安裝!!!!
###########################################################################################
第二:安裝mysql
1、/root/tools/目錄下上傳mysql-5.7.17.tar.gz 和boost_1_59_0.tar.gz
解壓:tar -zxvf mysql-5.7.17.tar.gz
cd mysql-5.7.17
安裝其他依賴包: yum install gcc gcc-c++ -y ncurses-devel cmake libaio bison
cd tools
mkdir /usr/local/boost
把boost_1_59_0.tar.gz 解壓到目錄/usr/local/boost : tar zxf boost_1_59_0.tar.gz -C /usr/local/boo
cd tools
groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql
cd mysql-5.7.17
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=ON -DMYSQL_TCP_PORT=3316 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
make && make install
期間要等待很長一段時間,慢慢等麼麼麼噠!!!1%#################################100%
完成後:
chown -R mysql:mysql .
chown -R root:root .
chown -R mysql:mysql mysql
進到Mysql目錄:cd /usr/local/mysql/bin/mysql
建立軟連線: ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
執行以下命令生成隨機密碼:並記下他,待會登陸資料庫是要用
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
在執行一下這句話,我也不明白其意思: ./bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data/
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf 然後按y覆蓋
編輯my.cnf,設定port=3306
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 然後按y覆蓋
啟動mysql:/etc/init.d/mysqld start 或 service mysqld start
啟動後登陸Mysql: mysql -u root -p 回車,在輸入剛才記錄的隨機密碼進入資料庫
然後執行:SET PASSWORD = PASSWORD('123456'),在執行:grant all privileges on *.* to 'root'@'%'identified by '123456' with grant option :%的意思是可以任何地方遠端連線
flush privileges;
到此mysql安裝完成。
#########################################################################################################
安裝PHP:確保tools目錄有:php-5.5.3.tar.gz bzip2-1.0.6.tar.gz curl-7.54.1.tar.gz
解壓三個包:tar -zxvf (三個包)
第一步:yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y
yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y
yum -y install libxml2*
cd 到bzip解壓目錄並編譯安裝:cd bzip2-1.0.6 make && make install
cd 到curl解壓目錄並編譯安裝: cd curl-7.54.1 ./configure make && make install
cd 到php解壓目錄便宜並安裝: cd php-5.5.38
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
上一行的local下的php目錄是之前建好的。
make && make install
等很久一會。安裝完成。
在Php解壓目錄就是php-5.5.38下面有一個php.ini-development ,把他cp到:php.ini-development /etc/php.ini
vi php.ini,修改一下內容,但是一下修改的並非是死得,根據實際情況可以做相應的調整
你需要在你的php.ini檔案中新增zend_extension=opcache.so 。還要將opcache.enable=0這行,改為opcache.enable=1
date.timezone = Asia/Shanghai
max_execution_time = 300
post_max_size = 32M
max_input_time = 300
memory_limit = 300M
mbstring.func_overload = 1
在安裝目錄有個:/usr/local/php/etc/php-fpm.conf.default, 把他在當前目錄下重新命名為php-fpm.conf,
即:cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 否則無法啟動php
在php解壓目錄有個: /root/tools/php-5.5.38/sapi/fpm/init.d.php-fpm,把他cp到:cp /root/tools/php-5.5.38/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
vim /usr/local/php5.5.38/etc/php-fpm.conf,找到 ;pid = run/php-fpm.pid,把前面的分號註釋去掉。
上一行具體參見:http://www.cnblogs.com/GaZeon/p/5421906.html
chmod +x /etc/init.d/php-fpm
###這種啟動方式不推薦啟動php:service php-fpm start
PHP 啟動:/usr/local/php/sbin/php-fpm -c /etc/php.ini -y /usr/local/php/etc/php-fpm.conf 注意這裡面的php5.5.38是自己之前mkdir自定義的,所以跟你的又肯能不一樣,通常是php
php停止:Killall php-fpm 詳細停止啟動PHP請參考:http://www.cnblogs.com/GaZeon/p/5421906.html
lsof -i :9000
###################################################################################################################################
安裝zabbix:
之前已經建好zabbix目錄:mkdir /usr/local/zabbix
解壓zabbix包:tar -zxvf zabbix-3.2.6.tar.gz
cd zabbix-3.2.6
yum install -y net-snmp-devel
groupadd zabbix useradd -g zabbix -s /sbin/nologin zabbix
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy \--with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl
make && make install
cd usr/local/zabbix
chown -R zabbix:zabbix .
cd 到zabbix解壓目錄,具體指:/root/tools/zabbix-3.2.6/database/mysql下,裡面有三個sql檔案schema.sql images.sql data.sql需要匯入到mysql資料庫名為zabbix裡面:具體操作如下:
cd /root/tools/zabbix-3.2.6/database/mysql
ll
再開啟另一個終端:(把zabbix資料庫檔案匯入到mysql具體操作也可以參考網站:http://www.linuxidc.com/Linux/2016-06/132243.htm)
確保MYSQL執行正常,
mysql -u root -p
輸入密碼
登入,建立資料庫和使用者授權:
create database zabbix character set utf8
grant all privileges on zabbix.* to [email protected]'%' identified by'123456'
flush privileges
exit
用新建的zabbix使用者登陸MYSQL:
mysql -u zabbix -p
輸入密碼:123456
use zabbix;
匯入:schema.sql images.sql data.sql,這三個檔案具體在解壓過後的zabbix目錄:/root/tools/zabbix-3.2.6/database/mysql 請根據自己的實際情況做稍微的調整
source /root/tools/zabbix-3.2.6/database/mysql/schema.sql;
source /root/tools/zabbix-3.2.6/database/mysql/images.sql;
source /root/tools/zabbix-3.2.6/database/mysql/data.sql;
show tables; 一共127個表
exit
很重要的一部:把zabbix解壓目錄中的frontends裡的PHP目錄複製到你zabbix安裝目錄下:
***********cd /root/zabbix-3.2.6/frontends/裡面有個php目錄,把他複製到usr/local/zabbix/下面:cp -r /root/tools/zabbix-3.2.6/frontends/php /usr/local/zabbix/}
chown -R zabbix:zabbix . 這句不能成功執行了
cd到zabbix安裝目錄:cd /usr/local/zabbix/etc/
ls -l, 會發現一下檔案:
-rw-r--r--. 1 root root 10242 Jul 6 03:43 zabbix_agentd.conf
drwxr-xr-x. 2 root root 4096 Jul 6 02:53 zabbix_agentd.conf.d
-rw-r--r--. 1 root root 15760 Jul 6 02:53 zabbix_proxy.conf
drwxr-xr-x. 2 root root 4096 Jul 6 02:53 zabbix_proxy.conf.d
-rw-r--r--. 1 root root 14665 Jul 6 03:11 zabbix_server.conf
drwxr-xr-x. 2 root root 4096 Jul 6 02:53 zabbix_server.conf.d
vim裡面的zabbix_server.conf,
需要配置:
DBName=zabbix
DBUser=zabbix
DBPassword=123456
DBPort=3306 ##這個埠可以不寫,因為zabbix預設是mysql的3306
ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64
啟動zabbix_server: /usr/local/zabbix/sbin/zabbix_server
因為我們想通過zabbix監控自己本身,所以在這裡進行配置:
在zabbix安裝目錄:cd /usr/local/zabbix/etc/下有:zabbix_agentd.conf
編輯它:
Server=192.168.1.242 ← ZABBIX伺服器的IP地址
ServerActive=192.168.1.242
hostname=Zabbix server ← ZABBIX agentd的host名字,因為我們zabbix_server伺服器同時要監控自己,所以這裡要寫成當前伺服器主機的hostname
儲存退出
啟動zabbix_agentd:/usr/local/zabbix/sbin/zabbix_agentd
lsof -i :10050 lsof -i :10051
zabbix安裝完成
#################################################
在瀏覽器輸入:http://192.168.1.242:11099 11099是在nginx.conf裡配置的serverlisten 埠。。
即可看到zabix配置頁面。。。
########################################################################################################
zabbix登陸介面預設賬號:Admin 密碼:zabbix
#####################################################################################################
解決zabbix中文亂碼問題:http://zutianbiao.blog.51cto.com/1361296/1364535/ 按照文件的操作步驟,zabbix的字型檔案在/usr/local/zabbix/php/fonts目錄,其中的php目錄是本文件中安裝zabbix步驟中前面加了*號的那一步。