ELK:就是ElarsticSearch+logstash+Kibana 的一个简称 下面会讲它们具体的用处是什么。
当公司的项目越来越多时,我们更加注意到监控的重要性。现在网上相关的教程也非常多,但是都是属于碎片化,当然官方文档很全面。可惜都是英文的,对于我这种想学英文许多年又一直学不会的老油条来说,那是很痛苦的。刚好这几天公司也有需要用到,从0到1的过程中踩了不少的坑,所以趁着现在还有热乎劲 干脆记录一下。免得以后在要用。
本文主要讲的知识点有:
一. ELK 基本部署
二.logstash 插件的安装方法
三.logstash配置文件的常用参数
四.如何将报警信息发送到开发
先介绍一下要用到的几个武器:
1. docker 利用docker 可以实现快速部署。
2.ElarsticSearch 是一个分布式的搜索引擎和数据分析引擎可基于Restful API 的风格去访问数据。
3.logstash 是用来收集日志和过滤的
4.Kibana 是用来显示将收集到的数据做web可视化
5.filebeat 用处和logstash 差不多但是官方推荐使用filebeat 因为它监控日志占用的系统极小,而且配置特别简单主要用来监控日志文件的。
6.metricbeat 跟filebeat 差不多主要用来检查服务器和应用服务的资源状态 网络 io cpu 内存等,配置简单 不需要太多的依赖
** 其实Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。需要了解的可以到官网上看。本篇文章只会涉及到项目日志文件监控(filebeat)和系统资源监控(metricbeat)
整个框架如图:

流程简介:
1.filebeat+metricbeat 会从项目服务器去采集数据
2.将采集到的数据教给logstash 用来统一做过滤,这样不用单独去配置某一台的服务。相当于多了一个抽象层。
3.logstash 做完过滤后会将数据发到elasticsearch中进行存储。
4.kibana 会按照索引去读取elaseticsearch 中的数据做一些人性化的显示。这个是完全可以自定义显示的。
然后接下来正式开始搞事情!
网友评论