内容目录
elk诞生的背景
没有elk分析日志之前
没有日志分析工具之前,运维工作存在哪些痛点?
- 1.生产出现故障后,运维需要不停的查看各种不同的日志进行分析,毫无头绪
- 2.项目上线出现错误,如何快速定位问题?如果后端节点过多,日志分散怎么办;
- 3.开发人员需要实时查看日志但又不想给服务器的登录权限,怎么办?每台需帮开发取日志
- 4.如何在海量的日志中快速的提取我们想要的数据?如果分析的日志数据量大,那么势必会导致查询速度慢、难度增大,最终则会导致我们无法快速的获取到想要的指标
- 5.
cdn
公司需要不停的分析日志,分析命中率,分析数据为什么没有被命中,为什么没有被缓存;
使用elk分析日志后
如上所有的痛点都可以使用日志分析系统elk
解决,通过elk
,将所有的离散的服务器都收集到一个平天下;
然后提取想要的内容,比如错误信息,警告信息等,当过滤到这种信息,就马上告警,
告警后,运维人员就能马上定位是哪台机器、哪个业务系统出现了问题,出现了什么问题。
elk技术栈是什么
什么是elk
elk
不是一个单独的技术,而是一套技术组合,是由elasticsearch、logstash、kibana
组合而成的。
elk
是一套开源免费、功能强大的日志分析管理系统。
elk
可以将我们的系统日志、网站日志、应用系统日志等各种日志进行收集、过滤、清洗,然后进行集中存放并可用于实时检索、分析。
E:elasticsearchs
数据存储
L:logstash
数据采集、数据清洗、数据过滤
K:kibana
数据分析、数据展示
什么是efk
简单来说就是将logstash
替换成了filebeat
,那为什么要进行替换?
因为logstash
是基于java
开发的,在收集日志时会大量的占用业务系统资源,从而影响正常线上业务。
而替换成filebeat
这种较为轻量的日志收集组件,会让业务系统的运行更加的稳定
什么是elfk
elk收集哪些日志
- 代理:
haproxy、nginx
web:nginx、tomcat、httpd、php
db:mysql、redis、mongo、elasticsearch
- 存储:
nfs、glusterfs、fastdfs
- 业务:
app
留言