计算机系统应用教程网站

网站首页 > 技术文章 正文

ELK Stack实用教程:让你的日志数据发挥更大的价值

btikc 2025-01-18 17:37:15 技术文章 18 ℃ 0 评论

越强大的产品越容易入门,运行越稳定,ELK就是一个例子,今天我们谈一谈小白该如何入手:

1.基本原则:一定要看官方文档,百度/谷歌搜elastic进入elastic官方网站,有最新最详细的文档和使用案例等;尤其在搭建配置方面,千万不要按照别人的步骤或者配置做,因为elastic的版本更新频率高,配置项会有优化的参数、被剔除的参数等等问题,导致你搭建起来的ELK集群问题多,走很多弯路。对于入门的朋友来说,研究文档大概一两天的时间就足够了。

2.架构设计:上图的架构,没有加入kafka/redis等中间件,流量高峰会导致ES端压力大。但是应付中小型规模系统,完全够用(经过实测,3台虚拟机,处理日流量1T左右的数据,稳定运行2年,没有出现过问题,CPU&内存&磁盘IO等等指标都比较正常,当然前期的配置优化要做好)。推荐的模式:各种Beat是轻量级工具,对服务器资源占用非常低,可以忽略不计,作为agent客户端,安装到需要采集数据的服务器上;Logstash部署到服务器端,推荐部署多个Logstash,便于分批管理(例如Nginx日志、前端服务日志、后端服务日志、审计日志等),不推荐把所有管道pipeline都放在一个Logstash下;Elasticsearch推荐单独设置3台master节点,其他节点做data, transform等等,考虑成本的话,也可以不做功能区分;Kibana用来可视化展示数据,集成监控告警,管理用户授权等。

3.部署方式:官方文档有详尽的部署方式,如果有Docker使用经验的,可以直接容器化部署,想用docker-compose方式管理,官方也给了详细的配置文件。至于产品本身的配置文件,也比较详细,如elasticsearch的主配置文件elasticsearch.yml,JVM配置文件jvm.options,日志配置文件log4j2.properties,找到你想安装的版本对应的文档,复制推荐的配置参数即可。

4.重要事项:

elasticsearch集群模式,非单机模式。多个节点组成一个集群,保证数据稳定可靠,这是必须要完成的部署配置;

elasticsearch归档备份。数据生命周期管理,把过期的数据放到存储端,这是持续稳定运行必要的配置;

logstash数据转换。切分从Beat端传入的数据,转换成需要的metric,然后传输给elasticsearch,难点在写Filters的grok等,这个可以参考一些案例;

logstash多管道。如前面所说,同一类的日志数据可以放到同一个logstash下,利用多管道提升并发处理能力;

kibana监控告警、用户授权。可以在kibana管理页面配置一些监控项,并集成告警,可以在kibana管理页面配置用户授权,控制不同的用户组访问不同的space及不同的数据;可以通过kibana的api集成到其他的devops平台/工具。

以上是ELK Stack的实用教程,这里没有写配置过程及配置文件、参数等,就是因为版本更新频繁,功能迭代多,并且官方文档非常详尽,也不是很复杂。只给出一个总体的思路,不论你想部署哪个版本,都可以在一周之内从入门到熟悉。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表