美文网首页
为服务SimpleBank配置一套基本的日志基础设施:FELK(

为服务SimpleBank配置一套基本的日志基础设施:FELK(

作者: robot_test_boy | 来源:发表于2022-11-05 00:07 被阅读0次

有了所要收集和展示的信息的格式,接下来可以创建一套基本的日志基础设施,从各个正在运行的服务中收集和聚合日志,并提供查询和关联功能,目标是提供一个能够访问所有日志数据的集中式入口。

在配置完日志聚合功能后,所有服务就开始同时向中心化系统发送度量指标和日志信息了,这能够提高系统的可观测性。能够观察到运行系统的数据,并在需要对特定的请求进行检查和调试时深入挖掘和收集出更多的信息。

搭建一套通常被称作ELK(Elasticsearch、Logstash和Kibana)的解决方案,其中会使用到一个名为Fluentd的数据收集器。

服务将把所有日志信息重定向到STDOUT(标准输出),运行Fluentd守护进程的代理将负责把这些日志推送到Elasticsearch。

Elasticsearch是一个集中存储数据的查询和分析引擎,会对数据建立索引,对所存储的数据执行高效的检索和聚合操作。

Logstash是一个服务器端的处理流水线,支持从多个来源获取数据,并在将数据发送到Elasticsearch之前对其进行转换

Fluentd是一个开源的数据收集器,将数据从服务推送到Elasticsearch。应结合Logstash的数据格式化和收集功能,并使用Fluentd推送数据。

Kibana是一款用于可视化展示Elasticsearch数据的界面工具,可以查询数据并探索数据之间的关联关系。


通过Docker Compose文件配置一套解决方案,在docker-compose.yml文件中定义一些的依赖项。向待增加日志基础设施的服务的Docker Compose文件添加Elasticsearch、Kibana和Fluentd容器。

version: '2.1'

services:

  gateway:

    container_name: simplebank-gateway

    restart: always

    build: ./gateway

    ports:

      - 5001:5000

    volumes:

      - ./gateway:/usr/src/app

    links:

      - "rabbitmq:simplebank-rabbitmq"

      - "fluentd”

    logging: ---  为每个服务添加一个logging指令以强制Docker将每个运行服务的容器的输出信息推送到Fluentd,而接下来Fluentd会确保将收到的数据推送到Elasticsearch

      driver: "fluentd"

options:

        fluentd-address: localhost:24224

        tag: simplebank.gateway

(…)

  kibana:

    image: kibana ---  对于Kibana,使用Docker Hub的默认镜像和默认设置

    links:

      - "elasticsearch" ---  将Kibanan链接到Elasticsearch容器,因为它会消费Elasticsearch中的数据

    ports:

      - "5601:5601"

  elasticsearch:

    image: elasticsearch ---  与Kibana一样,Elasticsearch使用默认镜像

    expose:

      - 9200

    ports:

      - "9200:9200"

  fluentd:

    build: ./fluentd ---  通过定制的Docker镜像构建Fluentd

    volumes:

      - ./fluentd/conf:/fluentd/etc ---  将Fluentd的配置信息注入所创建的容器,可以调整默认配置

    links:

      - "elasticsearch" ---  将Fluentd容器与Elasticsearch容器链接起来,因为Fluentd会将数据推送到Elasticsearch

    ports:

      - "24224:24224"

      - "24224:24224/udp"

Fluentd配置(fluentd/conf/fluent.conf),match代码段包含了所有需要的配置信息,以及所使用的格式,这些配置信息连接elasticsearch port和host。

完成所有必需的配置后,使用Docker Compose文件来启动服务了。

摘取自 摩根·布鲁斯和保罗·A.佩雷拉的《微服务实战》

相关文章

  • 为服务SimpleBank配置一套基本的日志基础设施:FELK(

    有了所要收集和展示的信息的格式,接下来可以创建一套基本的日志基础设施,从各个正在运行的服务中收集和聚合日志,并提供...

  • redis 配置文件详解

    ==配置文件全解=== 基本配置 主从配置 安全 限制 日志模式 慢查询 服务端命令 连接命令

  • Linux下配置日志服务器

    title: Linux配置日志服务器tags: linux, 日志服务器 日志服务器配置文件:/etc/rsys...

  • openvpn centos搭建

    openvpn基本环境安装 设置日志目录 服务器证书生成 证书放置统一目录 服务器openvpn基本配置 启动op...

  • 本地搭建consul服务中心

    一、Consul是什么? Consul有多个组件,但总体而言,为你的基础设施提供服务发现和服务配置的功能,有以下关...

  • 前端项目开发规范意见

    出于整个团队代码可读性、可维护性考量,有必要约定一套基本规范(包括代码命名、基础设施、提交日志、对外文档、测试等方...

  • 平台引入consul实践

    Consul包含多个组件,但是作为一个整体,为你的基础设施提供服务发现和服务配置的工具。它提供以下关键特性:服务发...

  • Graylog 合并多行 Java Error 日志

    1、线上运行的 java 服务输出的 error 日志格式为(以其中2条日志记录作示例) 2、graylog 配置...

  • SKIL/配置/负载均衡

    负载均衡因为SKIL将ZooKeeper用于它的devops基础设施,SKIL集群已经配置为多个服务器,将自动负载...

  • nginx 配置提交日志分割

    Nginx 日志基本为 access_log,配置启动后就开始产生日志文件,日积月累的,这个日志文件会越来越大。针...

网友评论

      本文标题:为服务SimpleBank配置一套基本的日志基础设施:FELK(

      本文链接:https://www.haomeiwen.com/subject/qpgltdtx.html