1、前言
phpLogCon 為一透過網頁介面查詢 Syslog 及其它系統事件內容,可運作於 Windows 及 Unix / Linux 作業系統下,目前支援分析的類型有 Syslog、Windows Event Log、SNMP Trap...等,您可透過讀取系統檔案的方式來進行即時查詢 (Real-Time) 也可寫入資料庫 (MySQL) 中,本次實作為透過 phpLogCon 讀取系統檔案 (/var/log/messages) 的方式來進行即時查詢。
文章目錄
1、前言2、實作環境
3、安裝及設定
步驟1 - 安裝 phplogcon 套件
步驟2 - 設定 phplogcon 前置作業
步驟3 - 初始化 phplogcon 設定 (install.php)
步驟4 - 設定 phplogcon 完成後續作業
4、參考
5、Me FAQ
Q1.連結至 phplogcon 首頁出現錯誤訊息?
Q2.Fatal error: Call to undefined function preg_match() in class_template.php on line 152?
Q3. ./config.php File does NOT exist!?
2、實作環境
- FreeBSD 7.2-RELEASE-p2
- phplogcon-2.7.0
3、安裝及設定
步驟 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/ //複製至您網站根目錄下
# 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。
步驟 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)
日後若要修改相關設定 (例如: 每頁顯示幾筆訊息、支援資料庫...等) 皆可透過修改 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 項目)
4、參考
- phpLogCon :: a syslog data viewer for the web
- phpLogCon Demo Site :: Source 'Syslog SampleData (Disk Logstream)'
- phpLogCon - Documentation
- PhpLogCon Delete Records
- phpLogCon の 話題 と 実験
5、Me FAQ
Q1. 連結至 phplogcon 首頁出現錯誤訊息?
Error Message:連結至 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 Message:開啟瀏覽器輸入網址進行初始化 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 Message:進行初始化 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 可寫入設定至此檔案