天天看點

Zabbix伺服器端安裝過程(含centos 7.1安裝 zabbix3.0.8的故障排除)

Task 7

 目标:監控線上服務的正常運作

 意義:了解運維的另一份重要職責,系統監控

 步驟:1.安裝zabbix                  2.配置監控任務7的Web項目

 要求:1.停止服務之後,發出報警郵件 

                  2.啟動服務之後,發出故障恢複郵件                  

                  3.檢視系統的其他負載。了解CPU,IO,記憶體的使用率。超過設定門檻值之後報警。

 掌握技能:     

   1.zabbix的配置 2.郵件發送的配置 3.了解伺服器的基本狀況

這篇文章寫的已經很到位了,一步一步按着來肯定能安裝完畢,不過要注意他的Nginx安裝包不是官方下載下傳的,而是lnmp的包,如果是官方下載下傳的話,需要在.conf那裡多改一點東西。

這裡面有幾個細節問題,原作者沒有說,都是發生在網頁調試階段

将lnmp的nginx.conf中的local位置改成setup.php的目錄,即由原來的/home/wwwroot/default改成/usr/local/nginx/html/。這樣配置檔案會預設打開新的路徑并且找到index.html,同時在這個路徑下輸入/zabbix/setup.pjp也是可讀的。

2)下一步,即Check of pre-requisites這步會有紅字錯誤,文中作者說是要改/etc/php.ini,其實不對,#find / -name php.ini一下就會發現,其實有兩個php.ini,需要改的其實是/usr/local/php/etc/php.ini,如圖:

<a href="http://s2.51cto.com/wyfs02/M02/79/DC/wKiom1ac6ZOQNes6AABs4_Sn-zI879.png" target="_blank"></a>

<a href="http://s5.51cto.com/wyfs02/M00/79/DB/wKioL1ac6c3TW-_uAAA1eJAlyfo145.png" target="_blank"></a>

改完之後,需要#service php-fpm reload一下,然後重新整理一下網頁就能看到,配置檔案裡改成了303,而網頁顯示的也是303,這證明了這個php.ini才是真的需要更改的配置檔案,其實改成300就可以了。

如果Zabbix server is not running怎麼辦?

先#netstat -anp|grep zabbix,看看是否有zabbix server的項目,若是沒有的話,#service zabbix_server start,這句指令有的機器是#service zabbix-server start。

同時要關閉selinux,這玩意我也不知道美國國家安全局發明它有啥用,貌似我接觸的運維軟體都是要關閉這個的。#vim /etc/selinux/conf,然後将SELINUX = disabled。

還有一種超級情況,就是這樣:

明明啟動了zabbix_server,但是檢查端口的使用,卻沒有server這個服務,可見server根本沒有啟動,如果你使用#service zabbix_server restart,會發現shutdown那一步是“失敗”的。

出現這種情況第一件事先檢查mysql的伺服器是否打開,#service mysql start,如果依舊,那就調用啟動日志。預設的啟動日志是/tmp/zabbix_server.log,vim了它,發現出現這樣的字樣:

我這個情況很奇怪,我使用賬号zabbix和對應的密碼是可以登入mysql的,但是SHOW DATABASES一下卻看不到這個zabbix的資料庫,而使用root賬号登陸卻是有的,我想是使用者權限出了問題。于是我把zabbix_server.conf的DBuser改成root,密碼也對應更改,就提示OK了。

情況二:檢查日志,zabbix的日志寫的比較好,比較通俗,發現日志的内容是這樣的:

connection to database 'ZABBIX' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

 26986:20160707:092553.068 Database is down. Reconnecting in 10 seconds.

由于我這次設定的資料庫叫ZABBIX,區分大小寫。是以第一時間要登陸mysql,然後使用SHOW DATABASESE;這個指令檢查一下這個賬戶和密碼是否能看到ZABBIX這個資料庫,如果沒有,就CREATE DATABASE ZABBIX;建立ZABBIX資料庫。

建立完畢,還是提示連接配接不上,那麼就去zabbix_server.log裡檢查一下DBName和DBPasswd是否正确,順便再去zabbix.conf.php檢查一下,如果不正确,請按設定更改,然後#service zabbix_server restart。

如果還不正确,那就是socket的問題,#ps auxwww|grep mysql,檢查一下看一下mysql的socket,比如這台機器檢查到mysql的情況如下:

<a href="http://s2.51cto.com/wyfs02/M01/83/D1/wKioL1d9suOCCwZTAAAcQJ2k03s766.png" target="_blank"></a>

然後重新開機zabbix_server服務即可。

==========================================分割線======================================

這裡說一點其他地方的坑:

1)Requires: libnetsnmp.so.20()(64bit)的錯誤:

找我要libnetsnmp.so.20()(64bit),但是7.1已經沒有20()了,那麼就去/etc/yum.repos.d/zabbix.repo這個檔案裡,把下面兩行更改一下:

1

2

<code>baseurl=http:</code><code>//repo</code><code>.zabbix.com</code><code>/zabbix/2</code><code>.4</code><code>/rhel/6/</code><code>$basearch/</code>

<code>baseurl=http:</code><code>//repo</code><code>.zabbix.com</code><code>/non-supported/rhel/6/</code><code>$basearch/</code>

更改成

<code>baseurl=http:</code><code>//repo</code><code>.zabbix.com</code><code>/zabbix/2</code><code>.4</code><code>/rhel/7/</code><code>$basearch/ </code>

<code>baseurl=http:</code><code>//repo</code><code>.zabbix.com</code><code>/non-supported/rhel/7/</code><code>$basearch/</code>

2)啟動zabbix的時候會啟動失敗,這個時候需要先把seforce停止,然後安裝下面兩個東西:

3)進入web界面卻是下面這樣的樣子,那是因為這台機器是原機zabbix2.2更新到3.0.8,需要在浏覽器把cookie重新清理一下即可:

<a href="https://s3.51cto.com/wyfs02/M01/8F/4B/wKiom1jaFxqyVZjHAAEu6u4mgz8102.png-wh_500x0-wm_3-wmp_4-s_872966403.png" target="_blank"></a>

 本文轉自 蘇幕遮618 51CTO部落格,原文連結:http://blog.51cto.com/chenx1242/1736330