首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
PowerPC
» log.io:浏览器端实时日志监管系统-1
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
log.io:浏览器端实时日志监管系统-1
发短消息
加为好友
look_w
当前离线
UID
1066743
帖子
8283
精华
0
积分
4142
阅读权限
90
在线时间
233 小时
注册时间
2017-6-23
最后登录
2019-5-18
论坛元老
UID
1066743
1
#
打印
字体大小:
t
T
look_w
发表于 2018-3-17 12:53
|
只看该作者
log.io:浏览器端实时日志监管系统-1
log.io 初探log.io 是一套浏览器端实时的日志管理系统,它通过当下流行的 Node.js 和 socket.io 实现。log.io 可以检测用户提供的所在的文件路径,把所有增量添加的日志信息实时的发送到浏览器。用户可以看到自底向上的同步日志刷新。这对于系统管理员来说,可以更加直观有效的了解系统运行,发现运行错误,从而分析解决系统故障。
log.io 安装log.io 的安装非常简单,它已经被设计成一个 npm 包。(npm 是 Node.js 包管理工具)
1. 下载安装 Node.js。在这里我的 node 版本是 v0.10.40。
1
2
Node –v
v0.10.40
2. 安装 log.io 包。这里必须指定一个用户名,例如 root。因为 log.io 需要在用户的根目录里面建立目录,存放配置信息。
1
sudo npm install -g log.io --user "root"
3. 修改配置信息。默认的配置信息如下,设置了一个 application_server 的节点,下面有 apache 的日志流信息,监测了两个日志文件 access.log 和 error.log。而且,设置了 log.io 服务器的信息,28777 是默认 log.io 服务监测的 TCP 端口,用来传输日志信息。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
}
}
4. 启动 log.io 服务器。
1
log.io-server
5. 打开浏览器访问 hostname:28778,可以看到 log.io 界面,说明安装成功。如图 1 所示。
图 1.log.io 浏览器端界面
log.io 基本功能
过滤,可以帮助用户查找想要的日志信息,流信息,节点信息。
分屏,同时在多个屏上监测日志信息,点击左下角的 New Screen 可以建立独立监测器。
Stream 和 Node 面板,log.io 提供两种视图,可以帮助查找想要检测的日志,只需要在前面打钩表示被监测。Stream 和 Node 的概念会在后面介绍。
log.io 技术架构Node.js 和 socket.iolog.io 的技术基础是 Node.js 和 socket.io,当下 Node.js 是一门非常火的技术,它扩展了 JavaScript 的边界,使其能够实现很多后端语言的功能。Node 替代了浏览器作为 JavaScript 的运行容器,使得 JavaScript 可以实现 Web 服务器,操作文件系统,访问网络等等功能。log.io 的服务器是用 Node.js 实现的。在此之上,socket.io 完成了数据的实时同步,我们知道,一般浏览器端通过 ajax 请求从后端取得数据,而 socket.io 可以发现后端数据的变化,然后把数据及时的发送到浏览器上。log.io 的数据同步则是用这项技术实现的。
HarvesterHarvester,收割器,完成的是数据采集,通过 TCP 端口发送到 log.io 服务器,默认是 28777,服务器通过 socket.io 将增量日志信息同步到浏览器。可以看到,如果没有收割器,log.io 没有任何输出信息,当然,可以有多个收割器同时工作向 log.io 服务器输入信息,它们的关系如图 2 所示。
图 2. 收割器、服务器、浏览器关系示意图
Node 和 Stream由于 log.io 可以监管多个日志文件的变化情况,所以每个用户都可以选择自己关心的日志文件。每个 Stream(流) 作为一个通道实时发送日志的监测信息,在这里,可以把一个 Stream 想象成一个广播电台,实时的发送广播信息,用户通过勾选流来说明正在收听。Node(节点) 是 Stream 的管理容器,一个 Node 可以包含多个 Stream,当 Node 删除的时候,归属于它的 Stream 都将被删除。这里采用 Node 包装的主要原因是,用户可能想要知道一个 Node 下的所有信息,只需要在浏览器端勾选 Node,所有从属的 Stream,都会被监管。如图 3 所示:
图 3. 选择 test2 节点,所有从属的流被选中
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议