log.io:瀏覽器端實時日誌監管系統

一、軟件介紹
log.io 是一個實時日誌監控工具,採用 node.js + socket.io 開發,使用瀏覽器訪問,每秒可以處理超過5000條日誌變動消息。有一點要指出來的是 log.io 只監視日誌變動並不存儲日誌,和其他的監控工具一樣,log.io 也採用服務器-客戶端的模式。log.io 由兩部分組成:server 和 harvester。server 運行在機器 A(服務器)上監視和紀錄其他機器發來的日誌消息;log harvester 運行在機器 B(客戶端)上用來監聽和收集機器 B 上的日誌改動,並將改動發送給機器 A,每個需要紀錄日誌的機器都需要一個 harvester.

工作原理圖
![](https://s1.51cto.com/images/blog/201901/19/8670a54cae03c4b1fdb99ff2b4f291db.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

二、安裝配置

A和B兩臺機器上同時安裝(第一步到第四步)
1、安裝依賴包
yum install gcc gcc-c++ openssl-devel pkgconfig -y

2、下載 node.js 源代碼,編譯並安裝:
說明:建議使用低版本的node,高版本問題太多
二進制包安裝:
wget https://nodejs.org/download/release/v4.9.1/node-v4.9.1-linux-x64.tar.gz

tar xvf node-v4.9.1-linux-x64.tar.gz

mv node-v4.9.1 /usr/local/nodejs

vim /etc/profile
#nodejs
export PATH=$PATH:/usr/local/nodejs/bin
source /etc/profile

以上步驟,同時安裝了node 和npm

三、安裝log.io
1,安裝 log.io 包。這裏必須指定一個用戶名,例如 root。因爲 log.io 需要在用戶的根目錄裏面建立目錄,存放配置信息。
npm install -g log.io --user "root"

2, 修改配置信息。默認的配置信息如下,設置了一個 application_server 的節點,下面有 apache 的日誌流信息,監測了兩個日誌文件 access.log 和 error.log。而且,設置了 log.io 服務器的信息,28777 是默認 log.io 服務監測的 TCP 端口,用來傳輸日誌信息。
配置日誌收集端
vi ~/.log.io/harvester.conf
exports.config = {
nodeName: "application_server",
logStreams: {
apache: [
"/var/log/apache2/access.log",
"/var/log/apache2/error.log",
]
},
server: {
host: '0.0.0.0',
port: 28777
}
}

  1. 啓動 log.io 服務器。
    log.io-server

  2. 打開瀏覽器訪問 hostname:28778,可以看到 log.io 界面,說明安裝成功。如圖 1 所示。
    log.io:瀏覽器端實時日誌監管系統

五、在服務端上啓動server
配置文件參考:
exports.config = {
server: {
host: '192.168.50.234',
port: 28777
}
}

啓動log.io
cd node-v0.8.14
log.io-server & ##以守護進程運行

六、在Client端修改配置文件(樣例)
vim /root/.log.io/harvester.conf
exports.config = {
nodeName: "12",
logStreams:{
nginx_access: [
"/usr/local/nginx/logs/access.log",
],
nginx_error: [
"/usr/local/nginx/logs/error.log"
],

},
server: {
host: '192.168.50.234', ##Server端地址
port: 28777 ##和Server端交互端口
}
}

啓動服務:
cd node-v0.8.14
log.io-harvester & (只需要啓動日誌收集端)

七、通過瀏覽器查看日誌信息
http://192.168.50.234:28778 ##28777是Server端和Client端的交互端口;28778是請求

錯誤一:
如果啓動log.io-server 或者 log.io-harvester 報錯,請升級node 版本
node 升級
node有一個模塊叫 n ,是專門用來管理node.js的版本的。
第一步:首先安裝n模塊:
npm install -g n

第二步:升級node.js到最新穩定版
n stable

第二步:n後面也可以跟隨版本號比如:
n v11.6.0
我是按照從上到下,最終正常運行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章