日志收集分析利器-ELK加FileBeat

简介: 日志收集分析利器-ELK加FileBeat

前言


依旧是上次的朋友, 项目搭建完后又想搞一手日志分析玩玩, 其实他的日志已经统一输出到一个文件里面了, 接elk属实没啥必要, 不过玩一玩还是可以的

20200630224101386.png


下面就是具体的操作步骤了


安装docker-compose


pip install --upgrade pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U docker-compose

编写配置文件


别忘了把127.0.0.1 替换成自己的ip地址


创建挂载目录


mkdir -p /data/elk/es /data/elk/filebeat
cd /data/elk


小技巧


linux vim下粘贴文件可能会存在格式文件, 在粘贴前进入paste模式


:set paste


然后在插入模式下进行粘贴就好了


编写 filebeat配置


vim filebeat.yml

filebeat.inputs:
  - type: log
    enabled: true
    paths:
      - /data/docker/logs/*/*.log   # 你的日志路径
#============================= Filebeat modules ===============================
filebeat.config.modules:
  # Glob pattern for configuration loading
  path: ${path.config}/modules.d/*.yml
  # Set to true to enable config reloading
  reload.enabled: true
output.logstash:
  # The Logstash hosts
  hosts: ["127.0.0.1:5044"]  # logstash 配置

编写 logstash 配置


vim logstash.conf


input {
    beats {
        port => 5044   # 端口配置
        host => "0.0.0.0"
    }
}
output {
    elasticsearch {
        hosts => ["127.0.0.1:9200"]  # es地址
    }
    stdout {
        codec => rubydebug
    }
}


vim logstash.yml

xpack.monitoring.elasticsearch.hosts: ["http://127.0.0.1:9100"]
#xpack.monitoring.elasticsearch.username: "" 
#xpack.monitoring.elasticsearch.password: ""

编写docker-compose


vim docker-compose.yml

version: "3.2"
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: es
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ports:
      - 9200:9200
    networks:        # 保证同网络
      - "elk-net"
  filebeat:
    image: docker.elastic.co/beats/filebeat:7.4.2
    container_name: filebeat
    volumes:
      - type: bind
        source: "/data/elk/filebeat"
        target: "/data"
      - type: bind
        source: "/data/elk/filebeat.yml"
        target: "/usr/share/filebeat/filebeat.yml"
      - type: bind
        source: "/data/docker/logs"   # 替换成自己的docker日志路径/服务日志路径
        target: "/data/docker/logs"
      - type: bind
        source: "/etc/localtime"      # 同步时区
        target: "/etc/localtime"
    networks:
      - "elk-net"
    depends_on:      # 定义依赖关系
      - "logstash"
  logstash:
    image: docker.elastic.co/logstash/logstash:7.4.2
    container_name: logstash
    ports:
      - 5044:5044
    volumes:
      - type: bind
        source: "/data/elk/logstash.conf"
        target: "/usr/share/logstash/pipeline/logstash.conf"
      - type: bind
        source: "/data/elk/logstash.yml"
        target: "/usr/share/logstash/config/logstash.yml"
      - type: bind
        source: "/etc/localtime"
        target: "/etc/localtime"
    networks:
      - "elk-net"
  kibana:
    image: docker.elastic.co/kibana/kibana:7.4.2
    container_name: kibana
    ports:
      - 5601:5601
    networks:
      - "elk-net"
networks:
  elk-net:

服务启动


这样基础的配置文件就写完了, 生产环境上我们还需要考虑到es的高可用, 部署集群, 自定义 logstash 对日志数据的处理, 同步到es的索引库以及创建对应的mapping模板等等. 更多玩法敬请自行摸索


启动命令

docker-compose up --build -d

查看logstash日志


docker logs -f --tail=20 logstash


就能看到logstash采集的日志了


kibana配置discover


根据你的索引名配置规则


20200624110200846.png

然后选择以时间为维度


20200624110259383.png

这样你就能看见日志的采集情况了


20200628093956314.png

容器删除


docker rm -f $(docker ps -a|grep "docker.elastic")


相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
5月前
|
消息中间件 Java Kafka
搭建ELK日志收集,保姆级教程
本文介绍了分布式日志采集的背景及ELK与Kafka的整合应用。传统多服务器环境下,日志查询效率低下,因此需要集中化日志管理。ELK(Elasticsearch、Logstash、Kibana)应运而生,但单独使用ELK在性能上存在瓶颈,故结合Kafka实现高效的日志采集与处理。文章还详细讲解了基于Docker Compose构建ELK+Kafka环境的方法、验证步骤,以及如何在Spring Boot项目中整合ELK+Kafka,并通过Logback配置实现日志的采集与展示。
1072 64
搭建ELK日志收集,保姆级教程
|
10月前
|
存储 运维 监控
SelectDB 实现日志高效存储与实时分析,完成任务可领取积分、餐具套装/水杯/帆布包!
SelectDB 实现日志高效存储与实时分析,完成任务可领取积分、餐具套装/水杯/帆布包!
|
5月前
|
监控 安全 搜索推荐
使用EventLog Analyzer进行日志取证分析
EventLog Analyzer助力企业通过集中采集、归档与分析系统日志及syslog,快速构建“数字犯罪现场”,精准追溯安全事件根源。其强大搜索功能可秒级定位入侵时间、人员与路径,生成合规与取证报表,确保日志安全防篡改,大幅提升调查效率,为执法提供有力证据支持。
219 0
|
10月前
|
SQL 监控 数据挖掘
SLS 重磅升级:超大规模数据实现完全精确分析
SLS 全新推出的「SQL 完全精确」模式,通过“限”与“换”的策略切换,在快速分析与精确计算之间实现平衡,满足用户对于超大数据规模分析结果精确的刚性需求。标志着其在超大规模日志数据分析领域再次迈出了重要的一步。
690 117
|
11月前
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
835 90
|
7月前
|
监控 安全 NoSQL
【DevOps】Logstash详解:高效日志管理与分析工具
Logstash是ELK Stack核心组件之一,具备强大的日志收集、处理与转发能力。它支持多种数据来源,提供灵活的过滤、转换机制,并可通过插件扩展功能,广泛应用于系统日志分析、性能优化及安全合规等领域,是现代日志管理的关键工具。
1101 0
|
9月前
|
自然语言处理 监控 安全
阿里云发布可观测MCP!支持自然语言查询和分析多模态日志
阿里云可观测官方发布了Observable MCP Server,提供了一系列访问阿里云可观测各产品的工具能力,包含阿里云日志服务SLS、阿里云应用实时监控服务ARMS等,支持用户通过自然语言形式查询
1313 0
阿里云发布可观测MCP!支持自然语言查询和分析多模态日志
|
8月前
|
人工智能 运维 监控
Aipy实战:分析apache2日志中的网站攻击痕迹
Apache2日志系统灵活且信息全面,但安全分析、实时分析和合规性审计存在较高技术门槛。为降低难度,可借助AI工具如aipy高效分析日志,快速发现攻击痕迹并提供反制措施。通过结合AI与学习技术知识,新手运维人员能更轻松掌握复杂日志分析任务,提升工作效率与技能水平。
|
11月前
|
存储 消息中间件 缓存
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
基于阿里云SelectDB,MiniMax构建了覆盖国内及海外业务的日志可观测中台,总体数据规模超过数PB,日均新增日志写入量达数百TB。系统在P95分位查询场景下的响应时间小于3秒,峰值时刻实现了超过10GB/s的读写吞吐。通过存算分离、高压缩比算法和单副本热缓存等技术手段,MiniMax在优化性能的同时显著降低了建设成本,计算资源用量降低40%,热数据存储用量降低50%,为未来业务的高速发展和技术演进奠定了坚实基础。
510 1
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
|
11月前
|
SQL 存储 自然语言处理
让跨 project 联查更轻松,SLS StoreView 查询和分析实践
让跨 project 联查更轻松,SLS StoreView 查询和分析实践
230 1