此次的教程多半是搬運過來的,但都通過小軒親自測試與修改了。文章最後將公佈原資源地址。此篇算是整合,但又不全是整合。php
依舊需求開篇:上頭讓小軒監控一下服務器的狀況,在前幾篇也有所提到。因而小軒就處處去找工具呀~。可是工具真是太多了。什麼html
以上工具來自http://www.linuxidc.com/Linux/2015-06/119336.htm 。尊重做者版權嘛~mysql
這一看還真是很多。小軒問了幾個朋友,又到羣裏逛了幾圈,又比較了zabbix和nagios等幾款工具,最後選擇了使用zabbix.linux
先說一下小軒這裏的服務器系統採用的是
CentOS release 6.9 (Final)ios
首先先在機器中安裝一個LNMP(用作監控的服務器,就沒有本身挨個安裝,直接使用了LNMP1.4)地址在:https://lnmp.org/download.htmlnginx
cd /usr/local/src wget http://soft.vpser.net/lnmp/lnmp1.4-full.tar.gz mkdir lnmp1.4 tar -zxvf lnmp1.4-full.tar.gz -C lnmp1.4 cd lnmp1.4/lnmp1.4-full ./install.sh
這樣就開始了安裝程序。安裝過程很簡單,會讓你先選擇mysql版本,以後是php版本什麼的一大堆,小軒感受仍是很簡單的,因此就很少說什麼了。由於,我只是用來一鍵安裝一下所須要的nginx,mysql,php相關東西。web
附上一份lnmp安裝教程。╮(╯▽╰)╭,小軒也是寫文的時候纔看到,要是以前看到就不用試驗那麼屢次了。sql
https://lnmp.org/install.html小軒這裏大概用了19分鐘就安裝好了,機器慢點的安裝時間可能會幾十分鐘到幾個小時不等,主要是機器的配置網速等緣由會形成影響。數據庫
注:讓寫域名的時候能夠先隨便寫個,好比小軒先寫的是zzbix.xxxx.com回車後寫的xxxx.comvim
下面的纔是重點。安裝好lnmp以後會自動向防火牆中添加80端口的訪問權限,這一點不用太擔憂。可是能夠臨時先關閉一會防火牆,由於zabbix端口不會本身加入防火牆規則的。
鏈接mysql數據庫:
mysql -u root -p
鍵入密碼後進行數據庫管理界面
建立一個名爲zabbix的數據庫,數據庫編碼集爲UTF-8
create database zabbix character set utf8 collate utf8_bin;
給zabbix數據庫設置一個同名用戶並設置擁有全部權限
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix-pasword';
這些都是mysql中的一些基本命令,建表,受權等。這裏小軒沒有用localhost用的是外網ip
建立一個zabbix系統用戶:
groupadd zabbix -g 185
useradd -M -r -g zabbix -u 185 -s /bin/false zabbix
cd /usr/local/src wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.7/zabbix-3.2.7.tar.gz tar zxf zabbix-3.2.7.tar.gz # 導入zabbix數據到mysql數據庫 cd /usr/local/src/zabbix-3.2.7/database/mysql/ mysql -uzabbix -pzabbix-pasword zabbix < schema.sql mysql -uzabbix -pzabbix-pasword zabbix < images.sql mysql -uzabbix -pzabbix-pasword zabbix < data.sql
yum -y install net-snmp-devel libssh2 libssh2-devel curl-devel
cd /usr/local/src/zabbix-3.2.7 ./configure --prefix=/usr/local --sysconfdir=/etc/zabbix --enable-server --enable-agent --with-ssh2 --with-openssl --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2 make install
這裏小軒沒有配置ipv6的訪問
mkdir /var/log/zabbix chown -R zabbix.zabbix /var/log/zabbix/ vim /etc/zabbix/zabbix_server.conf DBName=zabbix DBUser=zabbix DBPassword=zabbix-pasword # 因爲這裏mysql.sock在/tmp下面致使出錯了。因此小軒在這裏配置了一下。錯誤信息是什麼如今還真記不起來了。能配置一下就配置一下吧。也沒什麼問題~~ DBSocket=/tmp/mysql.sock LogFile=/var/log/zabbix/zabbix_server.log :wq! # 保存 # 編輯本機agent配置文件 vim /etc/zabbix/zabbix_agentd.conf LogFile=/var/log/zabbix/zabbix_agentd.log Server=127.0.0.1
--
cp /usr/local/src/zabbix-3.2.7/misc/init.d/fedora/core5/* /etc/init.d/ chkconfig --add /etc/init.d/zabbix_server chkconfig --add /etc/init.d/zabbix_agentd chkconfig zabbix_server on chkconfig zabbix_agentd on
/etc/init.d/zabbix_server start /etc/init.d/zabbix_agentd start
mkdir -p /data/zabbix cp -a /usr/local/src/zabbix-3.2.7/frontends/php/* /data/zabbix/ # 此命令會添加一個nginx配置文件,主要是用來代理php服務器來完成php訪問。這個一下子再詳細說 lnmp vhost add
停!以上步驟大部分來源於https://yq.aliyun.com/articles/221953(尊重原做者)
好了,下面該小軒上場了。
這裏小軒沒有截圖,就用一下網絡中的圖片吧
在瀏覽器輸入服務器地址就能夠看到這樣的頁面
直接Next step
這裏要填一下數據庫鏈接地址。
填好以後下一步
最終Finish以後會出現這樣的頁面
默認登錄用戶名是:Admin 密碼是:zabbix
這裏呢,小軒沒有登錄成功,就直接去數據庫改密碼去了。哈哈
# 使用md5對"zabbix-password"加密 echo -n zabbix-password | openssl md5 而後進入mysql use zabbix update users set passwd='剛剛生成的字符串' where userid = '1';
這樣小軒就能夠登錄啦。
可是登錄後出現了兩個地方的問題。
這裏說服務器還沒有啓動,這個先放後一下。還有一個問題就是說php max_input_time=60的問題
這個問題在上面的文章中也有提到,因此小軒就改了一下 。在這裏在特殊說明一下。
vim /usr/local/php/etc/php.ini 將max_input_time = 60改爲max_input_time = 300 :wq! #保存 退出 # 重啓 /etc/init.d/php-fpm restart
刷新頁面這個問題就解決了。以後就解決上面azbbix-server沒有啓動的問題吧。
小軒登錄服務器以後先去看了zabbix-server的狀態
/etc/init.d/zabbix_server status
發現的問題說什麼"zabbix_server已死但subsys被鎖。"什麼東西這是???
怎麼搞?參照這個博客給看了一下http://www.javashuo.com/article/p-sxjtcwsi-hq.html
但問題沒有解決。看來不看日誌是不行的。因此小軒就找了一個zabbix_server的日誌。嘖嘖,日誌裏面說的是鏈接數據庫鏈接不上。(就是上面mysql.sock那個問題。小軒想起來了)
[root@localhost zabbix]# tailf /tmp/zabbix_server.log 24661:20170523:203250.916 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 24661:20170523:203250.916 database is down: reconnecting in 10 seconds 24661:20170523:203300.916 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 24661:20170523:203300.916 database is down: reconnecting in 10 seconds 24661:20170523:203310.917 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 24661:20170523:203310.917 database is down: reconnecting in 10 seconds 24661:20170523:203320.918 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 24661:20170523:203320.918 database is down: reconnecting in 10 seconds 24661:20170523:203330.920 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 24661:20170523:203330.920 database is down: reconnecting in 10 seconds
就是這麼個問題。而後小軒就find / -name mysql.sock
發現mysql.sock這個文件在/tmp/目錄下。
因此
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock # 小軒用的mysql5.5.....因此命令是mysql..不是mysqld service mysql restart
以後在zabbix_server.conf文件中添加了DBSocket=/tmp/mysql.sock。
重啓zabbix,嗯。WTF???還有問題。什麼問題~~~!!!要瘋了。
"libmysqlclient.so.16()找不到!!"
哎,要是當初看到lnmp裏面有安裝教程也不至於這樣啊。來吧。解決吧。怎麼解決的呢,無語了。
1. 下載MySQL-5.5.58-1.el6.x86_64.rpm-bundle.tar 誰讓咱是mysql 5.5呢 - -!!!!! 2. tar -vxf MySQL-5.5.58-1.el6.x86_64.rpm-bundle.tar 3. rpm -ivh MySQL-shared-compat-5.5.58-1.el6.x86_64.rpm 4. 重啓zabbix!
nice!搞定了。沒有錯誤了。可是怎麼是英文的-。-初次見面,不要這樣好不噠,因而呢。改語言吧。
在/data/zabbix/include/locales.inc.php這個文件裏面(就是zabbix網站根目錄下)
vim /data/zabbix/include/locales.inc.php /zh_CN 找到以後把false改爲true。保存退出
反正小軒是重啓了一遍。。嗯。能夠了。
WTF !!! 居然有地方·!亂碼!
其實這是由於linux中沒有字體致使的。在windows中找一個字體上傳到linux中zabbix網站目錄中fonts目錄下(小軒用的simkai.ttf)
/data/zabbix/fonts
而後使用sed命令
sed -i 's/DejaVuSans/simkai/g' ./include/defines.inc.php
這樣就能夠啦
若是mysql密碼忘了怎麼辦 - -!!!!!
vim /etc/my.cnf [mysqld]的段中加上一句:skip-grant-tables
搞定~~
在另外的機器中安裝zabbix-agentd 參見http://blog.csdn.net/a294039255/article/details/50748858尊重做者版權~~~