一给 发表于 2025-3-31 17:22:28

简单ELK框架搭建

简介

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


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

(我搭建的只是一个简易版本的,如需专业版的请查找其他文件或视频资料)
我是在虚拟机的Docker中搭建的ES和Kabana,起首需要新建一个网络用于ELK
docker network create elk docker安装elasticsearch
docker run -d \
--name=elasticsearch \
-v es-data:/usr/share/elasticsearch/data \
-e ES_JAVA_OPTS="-Xms256m -Xmx512m" \
-e "discovery.type=single-node" \
-e "xpack.security.enabled=false" \
--net elk \
-p 9200:9200 -p 9300:9300 \
docker.elastic.co/elasticsearch/elasticsearch:8.6.2
安装kibana
docker run -d \
--name=kibana \
-e ELASTICSEARCH_HOSTS=http://elasticsearch:9200 \
-e I18N_LOCALE=zh-CN \
--net elk \
-p 5601:5601 \
docker.elastic.co/kibana/kibana:8.6.2
测试ES
curl 1ocalhost:9200/_cat/health 测试Kabana,直接访问5601端口就可以,http://192.168.178.78:5601/app/home#/,记得把ip换成自己的。
https://i-blog.csdnimg.cn/direct/6dfb0c6a65ce4a6f9171e76493163442.png
然后我的Logstash和Filebeat 是安装在客户端的,直接安装在了Windows上。需要再官网下载https://www.elastic.co/,进入后可以先改成中文https://i-blog.csdnimg.cn/direct/f0a2ff2f77494a83a478e8e200e587de.png
然后往下滑,就可以看到下载本地部署的链接了
https://i-blog.csdnimg.cn/direct/68f914eca68047768ac80db8ffad3714.png
进去后选择应用和版本
https://i-blog.csdnimg.cn/direct/84010131c40d45b784617853da017ec1.png
选择需要下载的软件和版本 ,我下载的8.6.2的
https://i-blog.csdnimg.cn/direct/69d8707f95e34af286ed39447533efd4.png
进去之后记得下载Windows版本的。https://i-blog.csdnimg.cn/direct/2009a8a771e747b28dd2c4059cb95b5b.png 安装Logstash和Filebeat

        Filebeat: 解压前面下载好的filebeat压缩包,打开filebeat.yml文件https://i-blog.csdnimg.cn/direct/13105d0e54a3490fbc16b4fd3e65d5c9.png
打开之后把里边原本的文件注销了 ,然后输入以下配置
filebeat.inputs:      #这个是获取日志
- type: filestream
    id: your_unique_input_id # 在这里添加一个唯一的 ID
    enabled: true
    paths:
      - D:\IDER\project\a\vehicle\logs\vehicle-system\*.log # 请替换为实际的日志路径

setup.ilim.enabled: false
setup.template.name: "logstash"
setup.template.pattern: "logstash-*"
output.logstash:                     #这个是把日志发送到logstash
hosts: ["127.0.0.1:5044"]          #这个logstash的ip以及接口,设置成自己的
index: "logstash-%{+yyyy.MM.dd}"   #发送过去的数据名字,前缀加时间戳 保存后在当前文件夹路径哪里输入cmd,打开黑窗口,然后输入启动命令
https://i-blog.csdnimg.cn/direct/6308330e891a4767b9282a986e2dacb9.png
.\filebeat.exe -c filebeat.yml -e https://i-blog.csdnimg.cn/direct/0f834e0ea7c24e96b8fbc23b59a0df11.png
        如果统统配置正确,Filebeat将开始读取配置文件中指定的日记文件,并根据你的输出配置将日记数据发送到目标位置(好比Logstash)。你应该能在命令提示符窗口看到Filebeat的运行日记,表现数据正在被处理惩罚和发送。 
        Logstash:解压Logstash压缩包文件,在config文件夹下有一个文件:logstash-sample.conf,复制一份,并重命名为logstash.conf,输入以下配置。
input {
beats {
    port => 5044    #这个监测端口
}
}

output {
elasticsearch {
    hosts => ["http://192.168.178.78:9200"]   #输出到ES中
    index => "task-service-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
}
} 然后进入到bin目录,然后地址栏cmd打开黑窗口,输入启动命令
logstash.bat-f D:\tools\logstash-7.15.2\config\logstash.conf 启动之后打开Kibana,滑到末了点击Stack Management
https://i-blog.csdnimg.cn/direct/9447ea959e01458f9d0a58276f4b89fe.png
然后点击索引,就可以看到,如果没有看到,可以在数据流那里看看有没有。
https://i-blog.csdnimg.cn/direct/86e3413f82ce4401b61738d392055bf7.png
有了索引大概数据流后,点击 数据视图,然后创建数据视图
https://i-blog.csdnimg.cn/direct/e8539fc770764a289fe0719c0c7b008b.png
创建时名称可以随便填,但是索引模式一般都是前缀加上*号做通配符
https://i-blog.csdnimg.cn/direct/4b0f2f371ace421eb82ea4b4cc17b3f7.png创建保存视图后在左上角点击,然后点击Discoverhttps://i-blog.csdnimg.cn/direct/c5045d695b594de7afdeab30cea7b212.png
然后表现出来日记记载https://i-blog.csdnimg.cn/direct/1493bb8cdea14c0ca0081fd84f55b8af.png 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 简单ELK框架搭建