ELFK
Elasticsearch、Kibana、Logstash、Filebeat 相关。
入口
本节目录 · 共 31 篇
入口 5
ELK Stack 26
ES跨集群数据迁移方案测评
经常有小伙伴咨询如何将整个es集群数据如何迁移到另一个集群,其中往往会涉及到以下的问题:
ES性能压测工具esrally
压测,即压力测试,是指对计算机系统、软件应用或网络服务等进行负载测试,以模拟实际使用场景中的高负载情况,检验系统在压力下的性能、稳定性和可靠性。压测旨在确定系统在正常或极端负载下的性能极限,以便在生产环境中提供最佳的性能和可靠性。
Kibana对接Azure AD实现单点登录
单点登录(Single Sign-On,SSO)是一种身份验证和访问控制机制,允许用户使用一组凭据(通常是用户名和密码)仅需登录一次,即可访问多个应用程序或系统,而无需在每个应用程序中单独设置账号密码并进行身份验证。
日志清洗过滤(vector方案)
以下描述摘自官方文档:[https://vector.dev/docs/about/what-is-vector/](https://vector.dev/docs/about/what-is-vector/)
pod日志采集(ELK方案)
面对大规模集群海量日志采集需求时,filebeat相较于fluent bit拥有更高的性能,因此可以通过daemonset方式在每个k8s节点运行一个filebeat日志采集容器,用于采集业务容器产生的日志并暂存到kafka消息队列中。借助Kafka的Consumer Group技术部署多个logstash副本,由logstash集群逐个消费并写入ES,防止瞬间高峰导致直接写入ES失败,提升数据处理能力和高可用性。
pod日志采集(EFK方案)
# fluent bit部署与配置
pod日志采集(Fluent Bit方案)
与fluentd类似,fluent bit配置文件由以下几个插件组成
pod日志采集(Fluentd方案)
Fluentd是一个是一个开源的日志收集和传输工具,旨在解决日志数据的收集、传输和处理问题,它可以收集来自于各种系统或应用的日志,转化为用户指定的格式后,转发到用户所指定的日志存储系统之中。
pod日志采集(Elastic Agent方案)
1. DaemonSet+Elastic Agent方案:使用DaemonSet控制器在每个kubernetes集群节点上运行elastic agent服务,业务容器日志目录统一挂载到节点指定目录下。在fleet中配置集成Custom Logs集成策略,指定日志采集目录和ingest pipeline,实现自定义路径下的日志收集和清理操作。
Fleet部署与常见日志采集(ECK方式)
为了更加方便的实现系统和应用程序日志接入ES,官方推出了Elastic Agent采集方案。相较于之前使用beats采集数据,Elastic Agent可以实现通过更少的配置和安装来简化数据采集配置,仅需一个Elastic Agent代理即可实现日志、指标、APM 跟踪信息的采集,通过Fleet可以轻松的管理整个Elastic Agent队列。Kibana为我们内置了大多数场景下日志的采集与可视化分析配置,我们仅需要在kibanaUI中点击操作便可完成复杂的日志采集。
k8s部署与维护ELK集群(ECK)
要理解ECK,首先需要了解CRD、Controller、Operator这三个基础概念。
Python操作Elasticsearch
使用pip安装Elasticsearch的Python 客户端,pip包版本要与ES版本保持一致。
ES索引策略配置与写入性能优化
虽然在先前的案例中已经使用Logstash对原始数据进行了清洗处理,但是实际存入ES中发现部分字段仍存在问题。我们除了重新调试Logstash的filter过滤规则外,还可以通过es的ingest pipeline,交由es的ingest节点在存入es前做最后的处理工作。
Docker部署ELK8.11与日志采集
由于容器每次重启后ip会发生变化,使得ssl证书主机IP地址不一致,导致其它服务连接es异常。因此需要自定义网络,并固定es的ip地址。
Fleet集群部署与常见日志采集
Fleet Server可以由多台机器组成Fleet server cluster,用于集中管理 Elastic Agent。 它作为 Elastic Agent 的一部分在用作服务器的主机上启动。 一个 Fleet Server 进程可以支持多个 Elastic Agent 连接,并作为一个控制面来更新代理策略、收集状态信息和协调 Elastic Agent 的操作。fleet server节点建议部署在es集群之外的机器上,生产环境建议2台及以上组成集群,通过负载均衡方式管理与下发agent策略。
ES数据备份与恢复
为了方便起见,本示例仅使用一台minio节点docker方式部署。在实际生产环境中,强烈建议使用二进制方式部署4台及以上节点的minio集群,提高容错率和服务可用性。
ES8.8集群与Kibana部署
```bash
ES集群与角色规划
ES8自2020年2月发布至今已有一年多时间,相较于es7而言,最大的改变是彻底删除_type,并默认开启三层安全配置,进一步提高了集群安全性,同时kibana的实用性也进一步提升,大部分日常操作都可以通过web界面完成。本系列教程使用最新的es8.8版本,从运维角度出发,以构建日志平台为目的,以尽可能贴近实际生产的场景案例,优先使用简易的部署方式和kibana图形化界面操作。由浅入深,带领大家逐步上手和掌握ELK技术栈。更多ELK相关内容欢迎访问官方文档或本人博客笔记:[https://www.cuiliangblog.cn/catalog/10898409](https://www.cuiliangblog.cn/catalog/10898409)
ECE认证考试经验分享
elasticsearch查询之URI Search查询总结
GET /query_test/_search?q=hobby:sleep
ELK监控与告警(Kibana)
Kibana监控Filebeat主要有以下两种方式:
ELK监控与告警(Prometheus)
虽然grafana也支持配置Prometheus的告警规则,计算并触发告警事件,使用告警媒介通知,可替代Alertmanager的一部分功能。但是相较于Alertmanager,缺少了告警分组和告警抑制功能。因此推荐还是在Prometheus中配置告警规则推送至Alertmanager,待grafana告警功能后续功能逐步完善再停用Alertmanager。
数据查询与数据可视化(Grafana)
为方便演示,此处使用docker命令快速部署grafana服务。
数据查询与数据可视化(Kibana)
数据查询是kibana最基础且常用的功能,我们可以很便捷的筛选出指定条件的数据内容。
自定义日志采集(Filebeat方式)
代码仓库地址:[https://gitee.com/cuiliang0302/log_demo](https://gitee.com/cuiliang0302/log_demo)
自定义日志采集(Fleet方式)
代码仓库地址:[https://gitee.com/cuiliang0302/log_demo](https://gitee.com/cuiliang0302/log_demo)