告别沉重的ELK,Grafana Loki 架构详解,比 ES 成本低很多

常用的日志管理平台如efk,elk等都太过臃肿,推荐一个轻量级的日志平台zincsearch
http://flume.apache.org flume
Flume 是一个可配置、可靠、高可用的大数据采集工具,主要用于将大量的数据从各种数据源(如日志文件、数据库、本地磁盘等)采集到数据存储系统(主要为Hadoop HDFS)中,用来处理日志数据,并支持在数据流中可靠、高效地移动数据。
Flume和Kafka是两种常用的实时数据流处理工具
http://segmentfault.com/a/1190000045124031
日志
ES替代品:
搜索场景,有Solr
。
日志场景,有 Loki
。
http://grafana.com/docs/loki/latest
http://www.cnblogs.com/edisonchou/p/-/edc_elastic_study_notes_chap02 ElasticSearch安装方式
选择适合企业的日志系统可以从以下几个方面考虑:(豆包)
- 功能需求5:
- 日志收集:
- 全面性:确保系统能够收集企业内各种来源的日志,包括但不限于服务器、网络设备、应用程序、数据库等。例如,对于拥有多个业务系统的企业,日志系统应能无缝对接不同系统的日志输出接口,实现全量日志收集。
- 自动化:具备自动发现和识别新的日志源的能力,减少人工配置的工作量。并且能够支持多种日志收集方式,如文件读取、网络协议抓取、系统接口调用等,以适应不同环境下的日志收集需求。
- 存储管理:
- 容量和性能:根据企业的业务规模和日志产生量,评估日志系统的存储容量和性能是否能够满足长期的存储需求。例如,对于大型电商企业,每日产生的日志量巨大,需要日志系统具备高效的存储和快速的查询能力,以支持实时的业务分析和故障排查。
- 数据压缩:考虑系统是否支持日志数据的压缩功能,以节省存储空间。同时,数据压缩不应影响日志的查询和分析性能4。
- 备份和恢复:具有可靠的备份机制,确保日志数据的安全性和可恢复性。在硬件故障、数据丢失等情况下,能够快速恢复日志数据,保证业务的连续性2。
- 查询和分析:
- 查询速度:能够快速地检索和查询日志数据,支持复杂的查询条件和多维度的分析。例如,在排查系统故障时,能够快速定位到特定时间段、特定用户或特定操作的日志记录。
- 分析功能:提供丰富的分析功能,如统计分析、趋势分析、关联分析等,帮助企业从日志数据中提取有价值的信息,为业务决策和系统优化提供支持。例如,通过分析用户行为日志,优化网站的用户体验。
- 实时监控:具备实时监控日志的能力,能够及时发现异常事件和安全威胁,并触发告警通知。例如,当系统出现大量错误日志或异常访问行为时,能够及时通知运维人员进行处理。
- 可视化展示:
- 图表和报表:能够将日志数据以直观的图表、报表等形式展示出来,方便用户理解和分析。例如,通过柱状图、折线图等展示日志数据的分布和趋势,通过报表汇总关键信息。
- 自定义仪表盘:支持用户根据自己的需求自定义可视化仪表盘,方便快速查看关注的日志信息和分析结果。
- 日志收集:
- 性能指标:
- 吞吐量:系统能够处理的日志数据量,包括每秒的日志写入量和读取量。根据企业的业务需求,选择具有足够高吞吐量的日志系统,以避免日志丢失或处理延迟。
- 响应时间:日志查询和分析的响应时间应尽可能短,以满足实时性要求。对于一些对响应时间要求较高的业务场景,如在线交易系统的日志监控,响应时间是一个关键指标。
- 资源占用:考虑日志系统在运行过程中对服务器资源(CPU、内存、磁盘等)的占用情况。选择资源占用合理的系统,避免对业务系统的性能产生影响。
- 兼容性和扩展性:
- 兼容性:
- 操作系统:支持企业所使用的操作系统,如 Windows、Linux、Unix 等。确保日志系统能够在企业的服务器环境中稳定运行。
- 应用程序和数据库:与企业内部使用的各种应用程序和数据库具有良好的兼容性,能够正确地收集和解析相关的日志数据。例如,对于使用 MySQL 数据库的企业,日志系统应能够准确地读取和分析 MySQL 的日志文件。
- 扩展性:
- 数据规模:随着企业业务的发展,日志数据量会不断增长,日志系统应具有良好的扩展性,能够轻松应对数据规模的增加。例如,支持分布式存储和计算,通过增加节点来扩展系统的存储和处理能力2。
- 功能扩展:能够方便地添加新的功能模块或与其他系统进行集成。例如,与企业的监控系统、安全信息和事件管理(SIEM)系统等进行集成,实现更全面的业务监控和安全管理。
- 兼容性:
- 安全性和可靠性:
- 安全性:
- 访问控制:具有严格的访问控制机制,确保只有授权的用户能够访问和操作日志数据。支持用户身份认证、权限管理等功能,防止日志数据被未经授权的人员访问和篡改。
- 数据加密:对日志数据进行加密存储和传输,保护数据的机密性和完整性。特别是对于涉及敏感信息的日志,如金融行业的交易日志,数据加密是必不可少的。
- 可靠性:
- 高可用性:具备高可用性的架构,确保系统的稳定运行。例如,采用冗余设计、故障自动切换等技术,避免单点故障对日志系统的影响2。
- 数据一致性:保证日志数据的一致性和准确性,在日志的收集、存储和查询过程中,不会出现数据丢失或错误的情况。
- 安全性:
- 成本效益:
- 采购成本:包括日志系统的软件许可费用、硬件设备费用等。根据企业的预算,选择性价比高的日志系统,避免过度投资。
- 运维成本:考虑系统的运维难度和成本,包括系统的安装、配置、升级、维护等方面。选择易于运维的系统,降低企业的运维成本和人力投入。
- 技术支持和服务:
- 技术支持:供应商是否提供专业的技术支持团队,能够及时解决企业在使用日志系统过程中遇到的问题。了解供应商的技术支持响应时间、服务水平协议等信息2。
- 培训和文档:供应商是否提供系统的培训和详细的文档资料,帮助企业的用户快速掌握日志系统的使用方法和操作技巧。
- 社区和生态:查看日志系统是否有活跃的用户社区和丰富的生态系统,这将为企业提供更多的学习资源和解决方案。例如,一些开源的日志系统拥有庞大的用户社区,用户可以在社区中交流经验、分享解决方案2。
阅读剩余
THE END