站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

PHPLogCon-網頁顯示及分析 syslog

前言

[phpLogCon] 為一透過網頁介面查詢 Syslog 及其它系統事件內容,可運作於 Windows 及 Unix / Linux 作業系統下,目前支援分析的類型有 Syslog、Windows Event Log、SNMP Trap...等,您可透過讀取系統檔案的方式來進行即時查詢 (Real-Time) 也可寫入資料庫 (MySQL) 中,本次實作為透過 [phpLogCon] 讀取系統檔案 (/var/log/messages) 的方式來進行即時查詢。

實作環境

安裝及設定

步驟1.安裝 phplogcon 套件

切換至 Ports Tree 下開始安裝 PHPLogCon 套件

 #cd /usr/ports/sysutils/phplogcon                  //切換至安裝路徑
 #make install clean                                //安裝並清除安裝過程中不必要的檔案

步驟2.設定 phplogcon 前置作業

在準備開始初始化 PHPLogCon 設定以前請先進行下列步驟以便後續 PHPLogCon 初始化順利進行,若不想建立空白設定檔 (config.php) 也可複製 phplogcon/include/config.sample.php 至 phplogcon 目錄下也可。

 #cp -rp /usr/local/www/phplogcon /home/web/        //複製 PHPLogCon 目錄至您網站根目錄下
 #cd /home/web/phplogcon                            //切換至 PHPLogCon 目錄
 #touch config.php                                  //建立空設定檔 (初始化設定屆時將寫入此檔案)
 #chown www config.php                              //確定 Web Service 可寫入設定至此檔案

步驟3.初始化 phplogcon 設定 (install.php)

開啟瀏覽器輸入類似如下網址,開始進行初始化 PHPLogCon 設定

ex. http://www.weithenn.org/phplogconf/install.php

  1. 系統設定偵測 (是否可進行 PHPLogCon 設定),請按下【Next】後繼續設定
  2. 檢查設定檔 (config.php) 權限,請按下【Next】後繼續設定
  3. 基本設定 (如每頁顯示幾筆訊息) 此設定日後也可進行更改,請按下【Next】後繼續設定
    1. Number of syslog messages pre page: 設定每頁顯示幾筆訊息
    2. Message character limit for the main view: 設定主頁面訊息顯示字數
    3. Character display limit for all string type fields: 設定每種領域類型顯示字數
    4. Show message details popup: 查詢訊息時是否自動跳出視窗
    5. Automatically resolved IP Address (inline): 是否自動將 FQDN 反解為 IP 位址
    6. Enable User Database: 是否啟用使用者資料庫
  4. 建立第一筆來源記錄,請按下【Next】後繼續設定
    1. Name of the Source: 填入屆時顯示於 Select Source 項目的文字
    2. Source Type: 設定讀取檔案的來源 (Diskfile 來源為系統檔案)
    3. Select View: 設定顯示此檔案的欄位
    4. Logline type: 設定讀取檔案的類型
    5. Syslog file: 設定讀取檔案的路徑
  5. 初始化 phplogcon 設定完成,請按下【Finish】連結至 PHPLogCon 主頁面 (ex. http://www.weithenn.org/phplogconf/index.php)
  6. Enjoy PHPLogCon *:)*

步驟1.系統設定偵測 步驟2.檢查設定檔 (config.php) 權限 步驟3.基本設定 步驟4.建立第一筆來源記錄 步驟5.初始化 phplogcon 設定完成 步驟6.Enjoy PHPLogCon

步驟4.設定 phplogcon 完成後續作業

步驟4-1.建議您刪除初始化設定檔 (install.php)

初始化 PHPLogCon 設定完畢後建議您刪除初始化設定檔 install.php 或設定該檔案權限為唯讀 (請依個人喜好擇一即可)

 #rm /home/web/phplogcon/install.php             //刪除初始化設定檔 (方式一)
 #chmod 400 /home/web/phplogcon/install.php      //設定初始化設定檔為唯讀 (方式二)

步驟4-2.修改 phplogcon 設定檔 (config.php)

 #vi /home/web/phplogcon/config.php
 $CFG['ViewEnableDetailPopups'] = 1;             //1 為啟用 (Enable),預設值
 $CFG['ViewEnableDetailPopups'] = 0;             //0 為禁用 (Disable),修改後

步驟4-3.中文化 phplogcon 操作介面 (lang)

若您想自行翻譯 PHPLogCon 操作頁面語系可依如下方式進行修改即可

 * 將設定檔 config.php 中指定成您自訂的語系 (ex. $CFG['ViewDefaultLanguage'] = "tw")
 * 將英文語系檔案進行複製後進行修改即可 (ex cp -rp /home/web/phplogcon/lang/en /home/web/phplogcon/lang/tw)

步驟4-4.phplogcon 預設 MySQL 資料庫模板 (db_template.txt)

若要設定 PHPLogCon 支援 MySQL 則有預設資料庫模板可供使用 /home/web/phplogcon/include/db_template.txt

步驟4-5.自訂顯示的欄位 (Legacy columns configuration)

若您的需求為不需要顯示所有欄位,您也可以透過修改 config.php 自訂要顯示的欄位。

 #vi /home/web/phplogcon/config.php
 $CFG['ShowMessage'] = true;                                     //啟動自訂欄位
 //Eventlog based fields: $CFG['Columns'] = array ( SYSLOG_DATE, SYSLOG_HOST, SYSLOG_EVENT_LOGTYPE, SYSLOG_EVENT_SOURCE, /*SYSLOG_EVENT_CATEGORY, */SYSLOG_EVENT_ID,
 SYSLOG_MESSAGE );                                               //預設顯示的欄位
 $CFG['Columns'] = array ( SYSLOG_DATE, SYSLOG_HOST, SYSLOG_SYSLOGTAG, SYSLOG_MESSAGETYPE, SYSLOG_MESSAGE );   //自訂要顯示的欄位

而在 Select View 下拉式選單中預設顯示的文字為 Legacy columns configuration 若您要修改此顯示名稱可透過修改 functions_config.php 達成。

 #vi /home/web/phplogcon/include/functions_config.php
 // Legacy handling for tabletype!
 function AppendLegacyColumns()
          'DisplayName' =>"Legacy Columns Configuration",        //修改此處文字
 // Legacy support for old columns definition format!
          AppendLegacyColumns();

步驟4-6.關閉頁面 PHPLogCon 操作頁面顯示的 Donate 項目 (Donate)

如果您想關閉 PHPLogCon 操作頁面上顯示的 Donate 項目,您也可以透過修改 functions_common.php 自訂要顯示的欄位。

 #vi /home/web/phplogcon/include/functions_common.php
 $content['SHOW_DONATEBUTTON'] = true;                           //預設值 (顯示 Donate 項目)
 $content['SHOW_DONATEBUTTON'] = false;                          //修改後 (關閉 Donate 項目)

參考

[phpLogCon :: a syslog data viewer for the web]

[phpLogCon Demo Site :: Source 'Syslog SampleData (Disk Logstream)' :: phpLogCon :: All Syslogmessages]

[phpLogCon - Documentation]

[HOWTO install phpLogCon]

[PhpLogCon Delete Records]

[網管人 NetAdmin - 技術專欄 - 網管論壇 - 條理分明的phpLogCon紀錄檔瀏覽系統 以網頁介面顯示,不同資訊分門別類]

[phpLogCon の 導入]

[phpLogCon の 話題 と 実験]

[Unix-Tutorials.com - Enhanced Logging With rsyslog On Debian Etch And phpLogcon For Viewing]

[Linux.com :: Keep an eye on your system logs with phpLogCon]

[Syslog for Windows - Setup WinSyslog and phpLogCon using a MYSQL Database]

[Syslog - 維基百科,自由的百科全書]

Me FAQ

Q1.連結至 phplogcon 首頁出現錯誤訊息?

Error Meaage:'

連結至 PHPLogCon 首頁 (index.php) 時出現如下錯誤訊息?

截圖:

Ans:

PHPLogCon 未偵測到設定檔案 (config.php) 代表您尚未進行初始化 PHPLogCon 設定,請開啟瀏覽器輸入類似如下網址,開始進行初始化 PHPLogCon 設定

ex. http://www.weithenn.org/phplogconf/install.php

Q2.Fatal error: Call to undefined function preg_match() in class_template.php on line 152?

Error Meaage:'

開啟瀏覽器輸入網址進行初始化 PHPLogCon 設定 (ex. http://www.weithenn.org/phplogconf/install.php) 時出現如下錯誤訊息

 Fatal error: Call to undefined function preg_match() in /home/web/phplogcon/classes/class_template.php on line 152

Ans:

表示您的系統缺少 PHP Extension (php5-pcre) 安裝此 PHP Extension 完成後請重新啟動 Web Service (重新載入 PHP Extension) 即可順利開始進行初始化 PHPLogCon 設定

 #cd /usr/ports/devel/php5-pcre && make install clean       //安裝 PHP Extension (php5-pcre)
 #php -m                                                    //顯示目前系統已安裝的 PHP Extension
 [PHP Modules]
 date
 gd
 libxml
 mysql
 pcre                                                       //PHP Extension (php5-pcre) 已載入
 PDO
 pdo_mysql
 Reflection
 session
 standard
 xml
 [Zend Modules]
 #/usr/local/etc/rc.d/lighttpd reload                       //重新啟動 Web Service
 Stoping lighttpd and start gracefully.
 Starting lighttpd.

Q3../config.php File does NOT exist!?

Error Meaage:'

進行初始化 PHPLogCon 設定,進行至步驟 二 檢查設定檔 (config.php) 權限時出現如下錯誤訊息?

截圖:

Ans:

表示 PHPLogCon 無法偵測到您的設定檔 (config.php) 或無法寫入該設定檔,若不想建立空白設定檔 (config.php) 也可複製 phplogcon/include/config.sample.php 至 phplogcon 目錄下也可。

 #cd /home/web/phplogcon                            //切換至 PHPLogCon 目錄
 #touch config.php                                  //建立空設定檔 (初始化設定屆時將寫入此檔案)
 #chown www config.php                              //確定 Web Service 可寫入設定至此檔案
Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com