日志系统架构 最流行的架构 非elk
日志系统的架构有很多种,下面列举一些比较流行的非ELK的架构:
Fluentd + Graylog
Fluentd是一个数据采集和转发工具,可以将来自多种来源的日志数据汇总到一起。Graylog是一个日志管理平台,提供了数据可视化、搜索和报警等功能。Fluentd可以将采集到的日志数据发送到Graylog,Graylog负责存储和分析数据。
Logstash + Kibana + Beats
Logstash是一个数据采集和转发工具,可以将来自多种来源的日志数据汇总到一起。Kibana是一个数据可视化和分析工具,可以将采集到的日志数据进行可视化展示。Beats是一个轻量级的数据收集器,可以采集主机和应用程序的日志数据,将其发送到Logstash进行处理。
Prometheus + Grafana
Prometheus是一个开源的监控系统,可以对系统和应用程序进行监控,收集各种指标数据。Grafana是一个数据可视化工具,可以将采集到的指标数据进行可视化展示。虽然Prometheus主要用于指标数据的收集和分析,但它也可以收集日志数据,并与Grafana一起使用。
Fluentd + Splunk
Fluentd是一个数据采集和转发工具,可以将来自多种来源的日志数据汇总到一起。Splunk是一款日志管理和分析工具,可以对采集到的日志数据进行存储、搜索和分析。Fluentd可以将采集到的日志数据发送到Splunk,Splunk负责存储和分析数据。
这些是一些比较流行的非ELK的日志系统架构,根据具体的业务需求和技术实现条件,可以选择不同的架构来搭建日志系统。
使用ClickHouse作为存储
ClickHouse是一种高性能的列式存储数据库,可以用来存储和分析大规模的日志数据。以下是使用ClickHouse作为存储的日志架构的示例:
数据采集
在数据采集方面,可以使用Fluentd、Logstash、Filebeat等工具来收集来自各种来源的日志数据,并将其发送到ClickHouse中。这些工具都支持ClickHouse的输出插件,可以方便地将日志数据导入ClickHouse。数据存储
ClickHouse支持分布式存储,可以通过搭建集群来实现高可用和扩展性。通常情况下,可以使用Zookeeper来协调ClickHouse集群的配置和状态信息。可以将日志数据按照时间或者其他相关属性进行分片存储,以便于快速查询和分析。数据分析
ClickHouse提供了强大的数据分析功能,可以通过SQL语句来查询和分析存储在其中的日志数据。此外,ClickHouse还支持各种数据分析工具的接口,例如Apache Superset、Grafana等,可以方便地将数据可视化展示出来。数据保留和清理
由于日志数据通常非常庞大,因此需要定期进行数据保留和清理。可以使用ClickHouse自带的数据过期功能来自动清理过期的数据。此外,也可以使用其他工具,例如Cron等,来定期清理过期的数据。
开源日志架构使用ClickHouse
ClickHouse-logger
ClickHouse-logger是一个基于ClickHouse的日志管理系统,可以用来收集、存储和分析日志数据。它支持多种数据源,例如Syslog、Fluentd、Filebeat等,可以方便地进行配置和扩展。此外,ClickHouse-logger还提供了Web界面,可以进行数据可视化和查询分析。
Vector
Vector是一个开源的数据采集工具,支持多种数据源和输出目的地,包括ClickHouse。Vector的ClickHouse插件可以直接将采集到的日志数据发送到ClickHouse中,支持数据压缩和批量插入等优化。Vector还支持灵活的日志数据转换和过滤功能,可以满足各种数据处理需求。
Fluent Bit
Fluent Bit是一个轻量级的数据收集器,可以用于采集日志和指标数据。它支持多种数据源和输出目的地,包括ClickHouse。Fluent Bit的ClickHouse插件可以将采集到的日志数据直接发送到ClickHouse中,并支持数据压缩和批量插入等优化。Fluent Bit还支持数据格式转换和过滤功能,可以方便地进行数据处理和分析。
LogHouse
LogHouse是一个基于ClickHouse的日志管理系统,可以用来收集、存储和查询日志数据。它支持多种数据源和输出目的地,包括Fluentd、Logstash、Filebeat等。LogHouse提供了Web界面,可以进行数据可视化和查询分析。此外,LogHouse还支持数据压缩和批量插入等优化,可以提高数据处理效率。