简单ELK框架搭建

一给  论坛元老 | 2025-3-31 17:22:28 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1901|帖子 1901|积分 5703

简介

        ELK 框架是一套开源的日记管理和分析工具,由 Elasticsearch、Logstash 和 Kibana 三个主要组件组成,现在新增了Filebeat组件,可以更高效的网络数据。


  • Elasticsearch:是一个分布式、高可扩展的开源搜刮引擎,能快速准确地从大量日记数据中检索出所需信息。
  • Logstash:是一个数据网络和处理惩罚引擎,用于从各种数据源网络日记数据,如文件、网络接口、数据库等,然后对数据进行过滤、转换和格式化等处理惩罚。
  • Kibana:是一个开源的数据分析和可视化平台,可视化方式对 Elasticsearch 中的数据进行分析和展示,无需编写复杂的查询语句,即可快速了解数据的分布、趋势和关联关系。
  • Filebeat :Filebeat 是一个轻量级的日记文件网络器,专为转发和会合日记数据而设计,用于监控指定的日记文件或目录,一旦有新的日记产生,Filebeat 就会读取并将其发送。
        ELK 框架的工作流程是,Filebeat网络各种来源的日记数据,发送到Logstash处理惩罚过滤后将其发送到 Elasticsearch 进行存储和索引,然后 Kibana 从 Elasticsearch 中获取数据并进行可视化展示,为用户提供直观的日记分析结果。
ELK运行流程图


(我搭建的只是一个简易版本的,如需专业版的请查找其他文件或视频资料)

我是在虚拟机的Docker中搭建的ES和Kabana,起首需要新建一个网络用于ELK
  1. docker network create elk
复制代码
docker安装elasticsearch
  1. docker run -d \
  2. --name=elasticsearch \
  3. -v es-data:/usr/share/elasticsearch/data \
  4. -e ES_JAVA_OPTS="-Xms256m -Xmx512m" \
  5. -e "discovery.type=single-node" \
  6. -e "xpack.security.enabled=false" \
  7. --net elk \
  8. -p 9200:9200 -p 9300:9300 \
  9. docker.elastic.co/elasticsearch/elasticsearch:8.6.2
复制代码
安装kibana
  1. docker run -d \
  2. --name=kibana \
  3. -e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \
  4. -e I18N_LOCALE=zh-CN \
  5. --net elk \
  6. -p 5601:5601 \
  7. docker.elastic.co/kibana/kibana:8.6.2
复制代码
测试ES
  1. curl 1ocalhost:9200/_cat/health
复制代码
测试Kabana,直接访问5601端口就可以,http://192.168.178.78:5601/app/home#/,记得把ip换成自己的。

然后我的Logstash和Filebeat 是安装在客户端的,直接安装在了Windows上。需要再官网下载https://www.elastic.co/,进入后可以先改成中文

然后往下滑,就可以看到下载本地部署的链接了

进去后选择应用和版本

选择需要下载的软件和版本 ,我下载的8.6.2的

进去之后记得下载Windows版本的。
 安装Logstash和Filebeat


        Filebeat: 解压前面下载好的filebeat压缩包,打开filebeat.yml文件

打开之后把里边原本的文件注销了 ,然后输入以下配置
  1. filebeat.inputs:      #这个是获取日志
  2.   - type: filestream
  3.     id: your_unique_input_id # 在这里添加一个唯一的 ID
  4.     enabled: true
  5.     paths:
  6.       - D:\IDER\project\a\vehicle\logs\vehicle-system\*.log # 请替换为实际的日志路径
  7. setup.ilim.enabled: false
  8. setup.template.name: "logstash"
  9. setup.template.pattern: "logstash-*"
  10. output.logstash:                     #这个是把日志发送到logstash
  11.   hosts: ["127.0.0.1:5044"]          #这个logstash的ip以及接口,设置成自己的
  12.   index: "logstash-%{+yyyy.MM.dd}"   #发送过去的数据名字,前缀加时间戳
复制代码
保存后在当前文件夹路径哪里输入cmd,打开黑窗口,然后输入启动命令

  1. .\filebeat.exe -c filebeat.yml -e
复制代码

        如果统统配置正确,Filebeat将开始读取配置文件中指定的日记文件,并根据你的输出配置将日记数据发送到目标位置(好比Logstash)。你应该能在命令提示符窗口看到Filebeat的运行日记,表现数据正在被处理惩罚和发送。 
        Logstash:解压Logstash压缩包文件,在config文件夹下有一个文件:logstash-sample.conf,复制一份,并重命名为logstash.conf,输入以下配置。
  1. input {
  2.   beats {
  3.     port => 5044    #这个监测端口
  4.   }
  5. }
  6. output {
  7.   elasticsearch {
  8.     hosts => ["http://192.168.178.78:9200"]   #输出到ES中
  9.     index => "task-service-%{+YYYY.MM.dd}"
  10.     #user => "elastic"
  11.     #password => "changeme"
  12.   }
  13. }
复制代码
然后进入到bin目录,然后地址栏cmd打开黑窗口,输入启动命令
  1. logstash.bat  -f D:\tools\logstash-7.15.2\config\logstash.conf
复制代码
启动之后打开Kibana,滑到末了点击Stack Management

然后点击索引,就可以看到,如果没有看到,可以在数据流那里看看有没有。

有了索引大概数据流后,点击 数据视图,然后创建数据视图

创建时名称可以随便填,但是索引模式一般都是前缀加上*号做通配符
创建保存视图后在左上角点击,然后点击Discover

然后表现出来日记记载
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

一给

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表