引言

简介
日常工作中会面临很多问题,处理问题时候。怎么解决问题?
通过工作经验,迅速判断问题出在哪。
通过日志
系统日志:/var/log 目录下的问题的文件
程序日志: 代码日志(项目代码输出的日志)
服务应用日志
nginx、HAproxy、lvs
tomcat、php-fpm
redis、mysql、mongo
RabbitMq、kafka
Glusterfs、HDFS、NFS等等
通过日志排除,发现问题根源解决问题

如果1台或者几台服务器,我们可以通过 linux命令,tail、cat,通过grep、awk等过滤去查询定位日志查问题
但是如果几十台、甚至几百台。通过这种方式肯定不现实。
怎么办?
一些聪明人就提出了建立一套集中式的方法,把不同来源的数据集中整合到一个地方。

一个完整的集中式日志系统,是离不开以下几个主要特点的。
    收集-能够采集多种来源的日志数据
    传输-能够稳定的把日志数据传输到中央系统
    存储-如何存储日志数据
    分析-可以支持 UI 分析
    警告-能够提供错误报告,监控机制


市场上的产品
基于上述思路,于是许多产品或方案就应运而生了
简单的 Rsyslog,Syslog-ng
商业化的 Splunk
开源的
FaceBook 公司的 Scribe,
Apache 的 Chukwa,
Linkedin 的 Kafak,
Cloudera 的 Fluentd,
ELK

Splunk是一款非常优秀的产品,但是它是商业产品,价格昂贵,让许多人望而却步.

ELK其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,Elasticsearch,Logstash 和 Kibana。
这三款软件都是开源软件,通常是配合使用,而且又先后归于 Elastic.co 公司名下,故被简称为ELK协议栈

最后更新: 2022-02-19 13:05:46