当前位置: 首页 > article >正文

Elasticsearch去分析目标服务器的日志,需要在目标服务器上面安装Elasticsearch 软件吗

Elasticsearch 本身并不直接收集目标服务器的日志,它主要用于存储、搜索和分析数据。要收集目标服务器的日志,通常会借助其他工具,并且一般不需要在目标服务器上安装 Elasticsearch 软件,常见的日志收集方案:
Filebeat(收集日志) + Logstash(传输日志到ES) + Elasticsearch(分析日志) + Kibana(展示分析结果,且可视化)
工作原理

Filebeat:

这是一个轻量级的日志收集器,用于在目标服务器上收集日志文件。它会监控指定的日志文件或目录,当有新的日志数据产生时,Filebeat 会将这些数据收集起来,并发送到 Logstash 或直接发送到 Elasticsearch。

Filebeat 本身并没有固定必须使用的端口

Logstash:(不过也有一些公司会用kafka)

作为数据处理和传输的中间层,Logstash 接收来自 Filebeat 的数据,对其进行过滤、转换和格式化等操作,然后将处理后的数据发送到 Elasticsearch。
当使用 Filebeat 等 Beats 工具向 Logstash 发送数据时,Logstash 通常监听 5044 端口。

Elasticsearch:

负责存储和索引从 Logstash 或 Filebeat 接收到的日志数据,以便后续的搜索和分析。
Elasticsearch对外的端口是9200,如果你有一个ES群组,那么这个群组之间通过9300端口互相连接。

Kibana:

提供可视化界面,让用户可以方便地查询、分析和展示存储在 Elasticsearch 中的日志数据。
端口一般是5601,它的下游一般就是Elasticsearch,Elasticsearch把数据传给kibana来展示。

  • 注:Kafka 跟Logstash 同样具有数据传输和缓冲的功能,Kafka 会将数据传输到 Elasticsearch 进行存储和分析。然后Kibana用于展示。kafka端口一般是9092

filebeat 配置文件如下,这里采用的是kafka来传输数据

filebeat.inputs:
- type: log
  enabled: true
  #  根据日志文件编码格式 gbk  utf-8
  encoding: utf-8
  # 对于线上已有大量日志,第一次部署filebeat。tail_files: true只会收集filebeat运行后的动态增加的日志,不会收集运行前的日志.
  # 等运行一段时间后,再修改tail_files: false,以防因为filebeat不运行时日志的丢失
  tail_files: true
  fields:
    hostName: 1.1.1.1  # 就是filebeat所在的服务器ip
  paths:
  # 你想分析哪些日志,就是在这里定义
  - /vdb/zhuaqian/tomcat9_90/logs/logback/*/*.log
  - /vdb/zhuaqian/jarDir/logs/FindBestWay/*/*.log
  multiline.pattern: '^20[1-9]{2}'
  multiline.negate: true
  multiline.match: after

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

output.kafka:
#这里写的是kafka的IP和端口
  hosts: ["2.2.2.2:9092","3.3.3.3:9092","4.4.4.4:9092"]
  topic: java-simTrade-log
  partition.round_robin:
    reachable_only: false
  required_acks: 1
  #  一行消息大于 8M 就会被丢弃
  message.max.bytes: 8192

max_procs: 1
processors:
- add_host_metadata:
    netinfo.enabled: true
- drop_fields:
    fields: ["host.id","host.containerized","host.architecture","host.os","prospector","input","beat","log","offset","@metadata"]
compression: gzip

logging.level: info
logging.to_files: true
logging.files:
  path: /vdb/filebeat_log
  name: filebeat.log
  permissions: 0644
  keepfiles: 2

http://www.kler.cn/a/540019.html

相关文章:

  • iOS AES/CBC/CTR加解密以及AES-CMAC
  • 2 CXX-Qt #[cxx_qt::bridge] 宏指南
  • 学习数据结构(8)双向链表
  • 计算机毕业设计Spark+大模型知网文献论文推荐系统 知识图谱 知网爬虫 知网数据分析 知网大数据 知网可视化 预测系统 大数据毕业设计 机器学习
  • 浅析Ruby类污染及其在Sinatra框架下的利用
  • CSS Overflow 属性详解:控制内容溢出的利器
  • Groovy语言的物联网
  • 项目部署问题
  • 【C/C++】每日温度 [ 栈的应用 ] 蓝桥杯/ACM备赛
  • SQL自学,mysql从入门到精通 --- 第 1 天,系统环境搭建,mysql部署
  • 小结:VLAN、STP、DHCP、ACL、NAT、PPP、边界路由等配置指令
  • 数据结构 day01
  • 老榕树的Java专题:Redis 从入门到实践
  • 代码笔记:ln创建链接
  • C++20导出模块及使用
  • Day.23
  • 字符设备驱动开发
  • 人工智能领域-CNN 卷积神经网络 性能调优
  • 使用Docker + Ollama在Ubuntu中部署deepseek
  • EXCEL数据解析与加密处理方法
  • Vue Router 导航方式详解:声明式导航与编程式导航
  • flink判断两个事件之间有没有超时(不使用CEP)
  • jmeter 性能测试Linux 常用的安装
  • 设计模式 ->模板方法模式(Template Method Pattern)
  • matlab simulink 船舶模糊pid控制仿真
  • 网络安全行业的冬天