有哪些免费轻量级的适用于日志收集与展现的服务框架?

每次开发一个Web后端项目,为了能记录遇到的问题,以及其他信息,都得需要看日志。

我用的是java开发,负责项目的日志记录用的是logback和log4j,但是现在有些项目的其中负责非java开发部分的人员需要查看项目运行中记录的一些日志信息。而且有人不想远程登录云服务器去打开记事本的方式去看日志,想要通过桌面程序或浏览器网页的形式去查看日志

关于开源日志服务,我目前只听说过elk,但去官网看了一下下载安装,发现好大啊,查了一下关于elk的用户体验,据说功能太重,占用资源多,而且回复觉得用起来卡卡的一笔。我又看了看我的服务器配置,导致我不想用elk

那有哪些免费轻量级的日志收集与展现的框架呢。或者是有哪些开源的便于线上扩展的内容管理的Web程序呢(线上建表)

自己到是能开发一个独立负责日志收集与展示的java网站程序,用sql数据库做日志库,但是线上的扩展就是比较麻烦。不同标签的日志,显示的内容格式不一定相同。相当于要做一个针对可线上扩展的cms的低代码开发平台程序

阅读 5.9k
2 个回答

@然后去远足

好吧,我理解了你所说的,那么我换一个问题,请问有哪些免费的基于sql数据库的可视化Web服务工具?把服务部署在与数据库所在的服务器上,配置服务连接数据库。

至少支持如下操作

  1. 开发者能在不用编写前端代码的情况下,可以基于select语句定制不同的数据可视化展示方案。支持图表显示,列表显示
  2. 开发者还能将基于select语句的数据可视化展示方案进行封装,以便于通过ui操作进行重复使用,以及让不知道sql数据库知识和非编程知识的用户通过ui操作进行数据查询。

采集是采集,展现是展现(其实还要有个存储),很少有混在一起的。

拿 ELK 举例子也是 L 搜集、E 存储、K 展现。

轻量级的采集器倒是多的去,Logagent、Filebeat、Flume,甚至你把 ELK 里的 Logstash 单拿出来,哪个都不重。

最关键的是存储,你要不要全文搜索?要不要模糊搜索?有没有复杂的关联、分组、排序需要?对性能和实时性有没有需要、还说说设个查询条件等半小时后再出报告也可以接受?

如果有,那么可选的其实不多,占据绝大部分市场的就是 ELK 里的 ElasticSearch 了,剩下再就还有 Solr、LinkedIn Sensei 之类的选择,Solr 因为出来的早所以还有一定市场,LinkedIn Sensei 这玩意儿你想找中文资料都没有。

如果没有上述几点需要,那 MongoDB 甚至普通的关系型数据库都够了,但从你问题描述里看你们最大的问题是日志格式不统一,那要用关系型数据库的第一步你们就得想办法统一格式(如果各个服务层不好做,你可以抽一个中间层出来,接收各个服务发来的不同的日志再格式化成统一格式)才好建表啊。

最后是展现,其实从你描述看你们用不用 ELK 里的 Kibana 都行,Kibana 主要胜在数据可视化,比如根据 nginx 访问日志生成最近一个月流量分布图之类的需求,与 Grafana 是同类产品。如果你们只是纯文本展示,那么没必要用 Kibana,自己写个 Web 页面、封装好几个查询语句就好了。


自己搭建嫌费劲,就买云服务,国内这些主流公有云厂商都有日志云服务。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题