docker搭建ELK日志平台

ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash 和 Kibana。

  • Elasticsearch 是一个搜索和分析引擎
  • Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等存储库中。
  • Kibana 则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化

由于Logstash占用的资源比较大,我们选择filebeat这个轻量级的日志收集工具来代替Logstash

一、安装ELK

首先,我们通过docker-compose来安装单机版elasticsearch和kibana。

创建docker-compose.yml

version: '2.4'
services:
# ElasticSearch容器相关定义内容,做收集流的数据库
  elasticsearch:
    # 镜像名称
    image: elastic/elasticsearch:7.8.1
    privileged: true
    environment:  # ES设置,这里并没有做集群
      - discovery.type=single-node
      - node.name=netdevops_es
      - cluster.name=netdevops_es_cluster
      - network.host=0.0.0.0
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms4g -Xmx4g"   # 资源控制,这里给了4g内存,可以根据自己的设备性能进行调整
    volumes:
      - /your_data_dir/data:/usr/share/elasticsearch/data  # 数据持久化
      - /etc/timezone:/etc/timezone:ro   # 调整容器内的时间
      - /etc/localtime:/etc/localtime:ro
    network_mode: "host"   # 设置连接的网络
    ports:   # 端口映射
      - "9200:9200"
      - "9300:9300"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    restart: unless-stopped
# 定义kibana容器,做最终的图形化界面呈现
  kibana:
    image: elastic/kibana:7.8.1
    privileged: true
    environment:
      - SERVER_NAME=netdevops_kibana
      - ELASTICSEARCH_HOSTS="http://localhost:9200"
      - PATH_DATA=/usr/share/kibana/data
      - NODE_OPTIONS="--max_old_space_size=4096"
      - I18N_LOCALE="zh-CN"
    volumes:
      - /your_data_dir/data:/usr/share/kibana/data  # 数据持久化
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    network_mode: "host"
    ports:
      - "5601:5601"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    depends_on:
      - "elasticsearch"
    restart: unless-stopped

使用docker-compose up -d 自动拉取镜像并创建容器。

创建完成后,可以使用http:\\your_ip_addr:5601访问kibana

二、安装filebeat

进入kibana后。

docker搭建ELK日志平台
docker搭建ELK日志平台

根据不同的系统版本,选择合适filebeat

docker搭建ELK日志平台

根据流程安装完成后,测试是否接收到数据

docker搭建ELK日志平台

三、查看dashboards

docker搭建ELK日志平台

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/6626

(0)
李逍遥的头像李逍遥
上一篇 2023年1月12日 下午5:28
下一篇 2023年1月16日 下午4:16

相关推荐

  • Linux 内存优化 配置 Zram

    Zram(也称为压缩内存块设备)是Linux内核中的一个功能,用于提供虚拟内存的压缩和解压缩功能。它通过将内存块压缩存储在内存中,可以有效地提高系统的内存利用率,并减少对物理磁盘的读写操作。 配置了 Zram 之后,服务器内存配置不变的情况下,可承载的人数或持续运行的时间均有一定程度的提升。我们也为 Linux 服务器配置 Zram 提供了一键方式,登录 L…

    2024年1月31日
    1.6K00
  • 电脑C盘内存满了怎么清理内存-七种方法轻松搞定!

    在我们日常电脑的使用中,可能会由于电脑运行产生了临时文件、下载以及安装软件的位置在C盘、系统更新后的文件能占用几个G的空间等因素,导致出现C盘内存爆满,不够用的问题,为了电脑可以流畅稳定运行,下面小编精心整理了七种清理C盘内存的有效方法! 方法一:运行磁盘清理   磁盘清理是一个 Windows 内置工具,允许您删除一些在 Windows 文件资源管理器中无…

    2024年6月5日
    1.8K00
  • Nginx 代理多个服务器(多个server方式)

    1.介绍 1.1 背景介绍 如果每台linux服务器只运行了一个小网站,那么人气低,流量小的草根站长需要承担高额的服务器租赁费,也造成了硬件资源浪费。 虚拟主机就是将一台服务器分割成多个“虚拟服务器”,每个站点使用各自的硬盘空间,由于省资源,省钱,众多网站都使用虚拟主机来部署网站。 虚拟主机的概念就是在web服务里的一个独立的网站站点,这个站点对应独立的域名…

    2022年6月23日
    1.8K00
  • Linux中route add命令的语法及使用!

      在Linux操作系统中,有许多常用的命令,这些命令都有着非常重要的作用,而且掌握命令也是每一个Linux运维工程师的必备技能之一。接下来,这篇文章主要为大家讲解一下Linux中route add命令的语法及使用,一起来学习一下吧!   route add命令用于将路由添加到Linux系统的路由表中。它定义了将数据包从系统发送到特定目的地的路径。   语法…

    2024年6月26日
    2.0K00
  • 在Proxmox VE下开启vGPU – Tesla P4为例

    对于 Proxmox VE 8,需要使用16.0+版本的 vGPU 驱动程序,低版本的驱动程序不支持 Linux 6.x 内核 最近我刚升级了我的 NAS 主机,并且购买了一块 Tesla P4 显卡。我想把 vGPU 分配给虚拟机上的 Jellyfin 容器硬解使用,经过几天的研究,我简单总结了使用方法。关于如何使用硬解,我会在下一篇文章中进行说明。 术语…

    2024年2月19日
    1.7K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信