延續前篇的 安裝 ICINGA2 CORE 這篇要寫的是裝 icinga2 的 Web 介面,和 Nagios 一樣,也有 Web 介面可以 review 你目前所有的監控狀態,但我覺得 Icingaweb2 的介面雖然有優化,但還是未達標準 (覺得醜),勉強接受而已 …
Icinga2 安裝 Web 介面
Step 1. 由於前篇已經有安裝 ppa:formorer/icinga,所以這篇就可以用 apt 直接安裝。
$ sudo apt-get install -y icingaweb2 apache2 libapache2-mod-php7.0 php7.0 php-gettext php7.0-curl php7.0-intl php7.0-mbstring
Step 2. 由於監控系統的時間很重要,所以要條一下 php 的 date.time
$ sudo vim /etc/php/7.0/apache2/php.ini date.timezone = Asia/Taipei
Step 3. 可以用 icingacli 來產生 apache 的設定檔
$ sudo icingacli setup config webserver apache --document-root /usr/share/icingaweb2/public
但是預設產生出來的設定檔是 http://localhost/icingaweb2/,我想要在根目錄就能用,所以修改成以下:
<VirtualHost *:80> DocumentRoot /usr/share/icingaweb2/public DirectoryIndex index.php <Directory "/usr/share/icingaweb2/public"> Options SymLinksIfOwnerMatch AllowOverride None <IfModule mod_authz_core.c> # Apache 2.4 <RequireAll> Require all granted </RequireAll> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order allow,deny Allow from all </IfModule> SetEnv ICINGAWEB_CONFIGDIR "/etc/icingaweb2" EnableSendfile Off <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] </IfModule> <IfModule !mod_rewrite.c> DirectoryIndex error_norewrite.html ErrorDocument 404 /error_norewrite.html </IfModule> </Directory> </VirtualHost>
restart apache
$ sudo service apache2 restart
Step 4. 處理權限,讓 apache 有權限存取 icingaweb2。
$ sudo usermod -a -G icingaweb2 www-data $ sudo service apache2 restart
Step 5. 用 icingacli 產生 /etc/icingaweb2 的設定檔
$ sudo icingacli setup config directory
Step 6. 用 icingacli 產生 token 用於安裝 Web 時登入驗證使用
$ sudo icingacli setup token create The newly generated setup token is: xxxxxxx
萬一不小心被洗掉了,可以用 show 來查看
$ sudo icingacli setup token show
Step 7. 打開你的瀏覽器訪問 icinga2 的 web 會進到 Icinga Web 2 Setup Wizard。
按照步驟輸入環境的設定,裡面會有需要你輸入 token 用來 Login。
選擇要安裝的模組,全勾也無所謂,但至少要 Monitoring、Translation。
確認你的環境可以運行 icingaweb2。
你要用來驗證的方式,Database 就是 DB 驗證(帳號密碼存在資料庫)
然後就是一連串的照欄位填上 icingweb2 的資料庫訊息。
然後建立在 icingweb2 上的 console login user (administrator)
Review icingaweb2 的安裝訊息。
還要替 icingaweb2 設定 icinga2 的 ido 資料庫連接。
Review 最後設定
最後呈現這樣的介面
雖然個人覺得還是沒有很優,但他也有其他的 dashboard,如果你也有 grafana 也可以在 Icinga/grafana-dashboards 進行 import
最重要的一點是,icinga2 的更新速度還蠻快的,而且功能完整,算是現代化監控不錯的選擇。