Debian9.3上安裝和配置Observium監控平臺

行者武松發表於2018-03-13

Observium是一個免費的開源網路管理和監控工具,可用於監控所有的網路裝置。 它是用PHP編寫的,使用SNMP從連線的裝置收集資料並使用Web介面監視它們。 Observium支援大量的網路硬體和作業系統,包括Linux,Windows,FreeBSD,思科,戴爾,NetApp等等。 Observium提供了一個功能強大,簡單易用的介面來監視網路的健康和狀態。

在本教程中,我們將解釋如何在Debian 9伺服器上安裝和配置Observium。配置需求:

  • 一個新的Debian 9伺服器安裝在您的系統上。
  • 在您的伺服器上設定一個根密碼。

入門

首先執行以下命令,將系統更新到最新的穩定版本:

apt-get update -y
apt-get upgrade -y

系統更新後,重新啟動系統以應用所有更新:

reboot

重新啟動後,使用root使用者登入並通過執行以下命令將一些必需的軟體包安裝到您的系統中:

apt-get install snmp fping python-mysqldb rrdtool subversion whois mtr-tiny ipmitool graphviz imagemagick -y

一旦安裝了所有必需的軟體包,就可以繼續下一步。

安裝LAMP伺服器

Observium執行在Apache上,用PHP語言編寫,並使用MySQL作為資料庫。 所以你需要在你的系統上安裝LAMP伺服器。

首先,執行以下命令來安裝Apache Web伺服器:

apt-get install apache2 libapache2-mod-php7.0 -y

安裝Apache之後,啟動Apache服務並使用以下命令在啟動時啟動它:

systemctl start apache2
systemctl enable apache2

接下來,通過執行以下命令來安裝PHP7和其他所需的庫:

apt-get install php7.0 php7.0-cli php7.0-mysql php7.0-mysqli php7.0-gd php7.0-mcrypt php7.0-json php-pear -y

一旦安裝了PHP7和所有必需的庫,執行以下命令來安裝MariaDB伺服器:

apt-get install mariadb-server -y

接下來,啟動MariaDB服務並使用以下命令在啟動時啟動它:

systemctl start mysql
systemctl enable mysql

配置MariaDB

預設情況下,MariaDB不安全。 您可以使用以下命令來保護它:

mysql_secure_installation

回答所有問題如下:

 
   set root password? [Y/n] n
    Remove anonymous users? [Y/n] y
    Disallow root login remotely? [Y/n] y
    Remove test database and access to it? [Y/n] y
    Reload privilege tables now? [Y/n] y

一旦MariaDB得到保護,您將需要為Observium建立一個資料庫和使用者。

首先,使用以下命令登入到MySQL shell:

mysql -u root -p

輸入您的root密碼,然後使用以下命令為Observium建立一個資料庫:

MariaDB [(none)]>CREATE DATABASE observiumdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

接下來,為Observium建立一個使用者,並使用以下命令將所有許可權授予Observium資料庫:

MariaDB [(none)]>GRANT ALL PRIVILEGES ON observiumdb.* TO `observium`@`localhost` IDENTIFIED BY `password`;

接下來,使用以下命令重新整理許可權:

MariaDB [(none)]>FLUSH PRIVILEGES;

最後,使用以下命令退出MySQL shell:

MariaDB [(none)]>q

下載並安裝Observium

Observium有兩個版本:開源版本和訂閱版本,開放原始碼版本可以免費下載,功能較少,安全修復程度較低,而訂閱版本則附帶額外的功能和硬體支援。 您可以使用以下命令從官方網站下載Observium的開源版本:

wget http://www.observium.org/observium-community-latest.tar.gz

下載後,使用以下命令提取下載的存檔:

tar -xvzf observium-community-latest.tar.gz

接下來,將提取的目錄複製到Apache Web根目錄:

cp -ar observium /var/www/html/

接下來,重新命名示例配置檔案並進行一些更改:

cd /var/www/html/observium
cp config.php.default config.php
nano config.php

如下所示更改檔案:

    // Database config ---  This MUST be configured
    $config[`db_extension`] = `mysqli`;
    $config[`db_host`]      = `localhost`;
    $config[`db_user`]      = `observium`;
    $config[`db_pass`]      = `password`;
    $config[`db_name`]      = `observiumdb`;

儲存檔案,然後使用以下命令設定MySQL資料庫的預設模式:

./discovery.php -u

如果一切正常,你應該看到下面的輸出:

  ___   _                              _
 / _  | |__   ___   ___  _ __ __   __(_) _   _  _ __ ___
| | | || `_  / __| / _ | `__|  / /| || | | || `_ ` _ 
| |_| || |_) |\__ |  __/| |     V / | || |_| || | | | | |
 \___/ |_.__/ |___/ \___||_|     \_/  |_| \__,_||_| |_| |_|
                         Observium Community Edition 17.9.0
                                   http://www.observium.org

Install initial database schema ... done.
-- Updating database/file schema
310 -> 311 # (db) . Done (0s).
311 -> 312 # (db) .... Done (0s).
312 -> 313 # (db)  Done (0s).
313 -> 314 # (db)  Done (0s).
314 -> 315 # (php) . Done (0s).
315 -> 316 # (db) . Done (0s).
316 -> 317 # (db) .. Done (0s).
317 -> 318 # (db) . Done (0s).
318 -> 319 # (db) ....... Done (2s).
319 -> 320 # (db) . Done (0s).
320 -> 321 # (db) . Done (0s).
321 -> 322 # (db) . Done (0s).
322 -> 323 # (db) ... Done (1s).
323 -> 324 # (db) ... Done (0s).
324 -> 325 # (db) .... Done (1s).
325 -> 326 # (db) . Done (0s).
326 -> 327 # (db) . Done (0s).
327 -> 328 # (db) . Done (0s).
328 -> 329 # (db) . Done (0s).
329 -> 330 # (db) . Done (0s).
330 -> 331 # (db) . Done (0s).
331 -> 332 # (db) ... Done (1s).
332 -> 333 # (php)  Done (0s).
333 -> 334 # (db) . Done (0s).
334 -> 335 # (php)  Done (0s).
335 -> 336 # (db) . Done (0s).
336 -> 337 # (db) . Done (1s).
337 -> 338 # (db) . Done (0s).
338 -> 339 # (db) ... Done (0s).
339 -> 340 # (db) ... Done (0s).
340 -> 341 # (db) ........ Done (1s).
341 -> 342 # (db) ............... Done (0s).
342 -> 343 # (db) ... Done (0s).
343 -> 344 # (db) .... Done (1s).
344 -> 345 # (db) .. Done (0s).
345 -> 346 # (db) . Done (0s).
346 -> 347 # (db) . Done (0s).
347 -> 348 # (db) F Done (0s, 1 errors).
348 -> 349 # (db) .. Done (0s).
349 -> 350 # (php)  Done (0s).
350 -> 351 # (db) ..... Done (1s).
351 -> 352 # (db) .. Done (0s).
-- Done.

接下來,您將需要建立一個目錄來儲存RRD和日誌:

mkdir rrd logs

使用以下命令更改observium目錄的所有權:

chown -R www-data:www-data /var/www/html/observium

接下來,您將需要為Observium建立一個Apache虛擬主機檔案。 為此,建立一個新的配置檔案observium.conf:

nano /etc/apache2/sites-available/observium.conf

新增以下行:

    
     ServerAdmin admin@example.com
     ServerName example.com
    DocumentRoot /var/www/html/observium/html
    
     Options FollowSymLinks
     AllowOverride None
    
    
     Options Indexes FollowSymLinks MultiViews
     AllowOverride All
     Require all granted
    
     ErrorLog  /var/log/apache2/error.log
     LogLevel warn
     CustomLog  /var/log/apache2/access.log combined
     ServerSignature On
    

儲存該檔案,然後啟用observium虛擬主機檔案並使用以下命令禁用預設虛擬主機檔案:

a2ensite observium
a2dissite 000-default

接下來,您還需要啟用Apache重寫模組和PHP mcrypt模組。 您可以通過執行以下命令來執行此操作:

a2enmod rewrite
phpenmod mcrypt

最後,使用以下命令重新啟動Apache Web伺服器:

systemctl restart apache2

接下來,使用以下命令建立您的第一個管理員使用者:

/var/www/html/observium/adduser.php admin yourpassword 10

如果一切正常,您應該看到以下輸出:

    Observium CE 0.17.7.8697
    Add User

    User admin added successfully. 

訪問Observium Web介面

在訪問Observium之前,您需要通過UFW防火牆允許埠80。 預設情況下,UFW沒有安裝在Debian 9上,所以你需要先安裝它。

apt-get install ufw -y

一旦安裝了UFW,使用以下命令啟用UFW:

ufw enable

接下來,使用以下命令通過UFW防火牆允許埠80:

ufw allow 80

一旦配置了防火牆,開啟您的網路瀏覽器並鍵入你的訪問地址,您應該看到以下頁面:

在這裡,輸入您的管理員使用者名稱和密碼,然後點選登入按鈕,您應該看到Observium預設儀表板。接下來,您將需要建立一個cron作業來輪詢和發現來自網路的裝置。 你可以通過在/etc/cron.d目錄下建立一個cron檔案來完成這個工作:

nano /etc/cron.d/observium

新增以下行:

# Run a complete discovery of all devices once every 2 hours
25  */2   * * *   root    /var/www/html/observium/discovery.php -h all >> /dev/null 2>&1

# Run automated discovery of newly added devices every 10 minutes
*/10 *     * * *   root    /var/www/html/observium/discovery.php -h new >> /dev/null 2>&1

# Run multithreaded poller wrapper every 10 minutes
*/10 *     * * *   root    /var/www/html/observium/poller-wrapper.py 4 >> /dev/null 2>&1

# Run housekeeping script daily for syslog, eventlog and alert log
10 2 * * * root /var/www/html/observium/housekeeping.php -ysel >> /dev/null 2>&1

# Run housekeeping script daily for rrds, ports, orphaned entries in the database and performance data
10 1 * * * root /var/www/html/observium/housekeeping.php -yrptb >> /dev/null 2>&1A# Run a complete discovery of all devices once every 2 hours

完成後儲存並關閉檔案,然後重新啟動cron服務以應用此更改:

systemctl restart cron

結論

恭喜! 您已經在Debian 9伺服器上成功安裝了Observium。 您現在可以輕鬆獲得網路的狀態和健康狀況。 您可以檢查Observium官方文件頁面以獲取有關配置裝置,警報和身份驗證模組的更多資訊。【本文轉載自 Howtoing.com,略有增刪】

原文釋出時間:2017-12-30

本文來自雲棲社群合作伙伴“Debian社群”,瞭解相關資訊可以關注“Debian社群”。


相關文章