首页 > 其他分享 >ELK日志实时分析平台搭建和使用 ELK日志分析平台是指Elasticsearch、Logstash 和 Kibana 三个项目的集合,后面又增加了Filebeat数据采集器。

ELK日志实时分析平台搭建和使用 ELK日志分析平台是指Elasticsearch、Logstash 和 Kibana 三个项目的集合,后面又增加了Filebeat数据采集器。

时间:2024-03-12 16:33:05浏览次数:18  
标签:ELK filebeat image kibana 采集器 日志 png

ELK日志实时分析平台搭建和使用 ELK日志分析平台是指Elasticsearch、Logstash 和 Kibana 三个项目的集合,后面又增加了Filebeat数据采集器。

概述

ELK日志分析平台是指Elasticsearch、Logstash 和 Kibana 三个项目的集合,后面又增加了Filebeat数据采集器。

  • Elasticsearch是一个数据搜索分析引擎。
  • Logstash 是日志数据处理的管理和日志采集器,能从各个客户端/业务系统采集,转换,发送到Elasticsearch。
  • Kibana 则是数据图形/报表的可视化展示。
  • Filebeat 是比Logstash更轻巧的数据采集器

一般而言,日志数据流采用一下两种方案

  • Filebeat负责数据采集日志,然后转发到Logstash进行格式处理并发送到Elasticsearch进行存储,然后管理员通过Kibana实现数据可视化。
  • Filebeat负责数据采集日志,然后进行格式处理并发送到Elasticsearch进行存储,然后管理员通过Kibana实现数据可视化。


    image.png

本篇文章将对方案二的搭建以及使用进行讲解。

目的

  • 项目线上出现错误,快速定位问题。
  • 项目节点过多,日志太分散,ELK可以统一管理日志。
  • 方便在大量日志文件中精准搜索关键字
  • 解决开发人员无服务器权限需要查看日志的痛点

安装

git clone https://github.com/deviantony/docker-elk.git  # 我下载的是8.6.2版本
docker-compose up #启动容器 只会启动 elasticsearch、kibana、logstash

默认用户:elastic
默认密码:changeme
kibana UI : http://localhost:5601
elasticsearch: http://localhost:9200/

详情可以查看.env 文件

image.png

设置用户名密码

输入默认账号密码登录kibana


image.png

步骤一


image.png

步骤二


image.png image.png

汉化kibana

在 /kibana/config/kibana.yml 文件最后添加:i18n.locale: "zh-CN"


image.png

配置filebeat 通过filebeat采集日志输出到elasticsearch

/extensions/filebeat/config/filebeat.yml,
注意里面的账号密码需要在kibana预先设置好

setup.kibana:              
  #kibanaIP地址
  host: "http://kibana:5601"
  username: "filebeat_internal"
  password: ${FILEBEAT_INTERNAL_PASSWORD}

filebeat.inputs:

  • type: log
    enabled: true
    paths:
    • /usr/share/filebeat/logs/*.log # 这个路径是需要收集的日志路径,是docker容器中的路径
      fields:
      type: "testing" # 日志标签,区别不同日志,下面建立索引会用到
      fields_under_root: true
      encoding: utf-8 # 指定被监控的文件的编码类型,使用plain和utf-8都是可以处理中文日志的
      multiline.pattern: '^[[0-9]{4}-[0-9]{2}-[0-9]{2}'
      multiline.negate: true # 是否需要对pattern条件转置使用,不翻转设为true,反转设置为false。 【建议设置为true】
      multiline.match: after # 匹配pattern后,与前面(before)还是后面(after)的内容合并为一条日志

processors:

  • drop_fields:

去除多余字段

fields: ["agent.type","agent.name", "agent.version","log.file.path","log.offset","input.type","ecs.version","host.name","agent.ephemeral_id","agent.hostname","agent.id","_id","_index","_score","_suricata.eve.timestamp","agent.hostname","cloud. availability_zone","host.containerized","host.os.kernel","host.os.name","host.os.version"]

output.elasticsearch:
hosts: [ http://elasticsearch:9200 ]
indices:
#索引名称,一般为 ‘服务名称+ip+ --%{+yyyy.MM.dd}’。
- index: "testing-%{+yyyy.MM.dd}"
when.contains:
#标签,对应日志和索引,和上面对应
type: "testing"
username: filebeat_internal
password: ${FILEBEAT_INTERNAL_PASSWORD}

image.png

映射日志目录文件

建立/logs目录,并写入一写测试的日志文件
/extensions/filebeat/filebeat-compose.yml

image.png

启动容器

# 同时启动elasticsearch、kibana、logstash、filebeat
docker-compose -f docker-compose.yml -f extensions/filebeat/filebeat-compose.yml up

配置工作空间

步骤一创建工作区


image.png

切换工作区


image.png
步骤二
image.png

步骤三


image.png

步骤四


image.png

步骤五


image.png

步骤六


image.png
image.png

elasticsearch kibana 提示Your trial license is expired 问题解决

image.png
image.png

选择Basic许可证

给索引设置生命周期

1.创建索引生命周期策略,超过30天自动删除索引


image.png
image.png
image.png
image.png

2.设置索引模版


image.png
image.png
image.png image.png
image.png
image.png
image.png
PUT _ilm/policy/log_delete_policy
{
  "policy": {
    "phases": {
      "delete": {
        "min_age": "5m",
        "actions": {
          "delete": {}
        }
      }
    }
  }
}

PUT _template/logs_template
{
"index_patterns": ["testing*"],
"settings":{
"index.lifecycle.name": "log_delete_policy"
},
"mappings":{
"properties":{
"message":{
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}

原文链接:https://www.jianshu.com/p/fd1fd96b6000

标签:ELK,filebeat,image,kibana,采集器,日志,png
From: https://www.cnblogs.com/sunny3158/p/18068630

相关文章

  • .Net Core中使用DiagnosticSource进行日志记录
    System.Diagnostics.DiagnosticSource可以丰富地记录程序中地日志,包括不可序列化的类型(例如HttpResponseMessage或HttpContext)。System.Diagnostics.DiagnosticSource通过订阅发布模式运行,我们可以根据自己地需要发现数据源并订阅感兴趣的数据源。 DiagnosticSource与......
  • Redis稳定性之战:AOF日志支撑数据持久化
    ★Redis24篇集合1介绍AOF(AppendOnlyFile)持久化:以独立日志的方式存储了Redis服务器的顺序指令序列,并只记录对内存进行修改的指令。当Redis服务发生雪崩等故障时,可以重启服务并重新执行AOF文件中的指令达到恢复数据的目的。也就是说,通过重放(replay),来重新建立Redis当前实......
  • 浮木云学习日志(10)---页面框架布局
    随着对浮木云软件设计开发平台的深入了解,发现浮木云真的是一个很人性化的工具。前两次对浮木云的布局容器、弹性容器和栅格容器进行了简单的了解,同时也知道这些容器是页面是设计框架的基础,本次我会根据自己对容器的了解进行的一个简单的页面框架构建。感兴趣的小伙伴可以直接去他......
  • 3月11号(工程日志第五天)
    所学时间:4小时代码行数:413行博客园数:1篇所学知识:今天将学习了安卓开发对于数据库sqlite的增删改查操作,并学会了部分的试图修改操作。MainActivitypackagecom.example.myapplication;importandroidx.appcompat.app.AppCompatActivity;importandroid.annotation.Suppre......
  • 日志
    LogBack配置文件Maven项目中xml要放在resource,文件夹下面<?xmlversion="1.0"encoding="UTF-8"?><configuration><!--CONSOLE:表示当前的日志信息是可以输出到控制台的。--><appendername="CONSOLE"class="ch.qos.logb......
  • Fishlulu黑马头条微服务项目日志
    写在前面......
  • MySQL三种日志
    一、undolog(回滚日志)1.作用:(1)保证了事物的原子性(2)通过readview和undolog实现mvcc多版本并发控制2.在事物提交前,记录更新前的数据到undolog里,回滚的时候读取undolog来进行回滚3.undolog格式有一个rtx_id(上一次事物修改的id)和roll_ptr(指向需要回滚的版本)二、redolog1.......
  • 你应该打好你的日志,起码避免被甩锅
    大家好,我是蓝胖子,相信大家或多或少都有这样的经历,当你负责的功能出现线上问题时,领导第一时间便是找到你询问原因,然而有时问题的根因或许不在你这儿,只是这个功能或许依赖了第三方或者内部其他部门,这个时候快速排查问题根因就是关键,给领导留个快速解决问题的印象,绩效也找不到理由给......
  • delphi xe 好用的日志框架
    菜单:Project-->Options-->SearchPath引入地址如:E:\Software\DelphiLib\loggerpro_1_3_1interfaceusesLoggerPro,Winapi.Windows,Winapi.Messages,System.SysUtils,System.Variants,System.Classes,Vcl.Graphics,Vcl.Controls,Vcl.Forms,......
  • 使用gzip命令解压gz日志文件报错:Permission denied[admin@test logs]
    【问题描述】 使用gzip命令解压gz日志文件报错:Permissiondenied[admin@testlogs] 使用sudochmode-R777给目录添加编辑权限,需要输入admin的密码,不是admin账号也添加不了。  【解决方法】使用sudogunzip命令就可以正常解压了。BYW:下载日志文件命令使用szinfo.......