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手误rm后恢复文件

    误删文件还原可以分为两种情况 今天只分析文件被删除后,相关进程还存在的情况 这种一般是有活动的进程存在持续标准输入或输出,到时文件被删除后,进程PID依旧存在。这也是有些服务器删除一些文件但是磁盘不释放的原因 案例演示 创建一个文件 用tail -f打开rumenz.txt文件 目的是让rumenz.txt被删除后,进程依然存在 新开一个终端删除rumenz…

    2023年10月17日
    2.6K00
  • VPS主机和服务器磁盘IO读写速度测试方法-VPS主机真实IO检测工具

    VPS主机磁盘IO的好坏直接影响到VPS主机性能的高低。对于测试VPS主机的性能,我们有非常多的脚本工具,例如:VPS主机速度和性能综合测试工具整理汇总中我们就分享了不少的脚本工具,可以快速地测试VPS主机的CPU、内存和带宽等。 不过,有好友反馈说对于VPS主机的磁盘IO测试,脚本测出来的结果差别比较大,甚至直到建站时才发现购买的VPS主机的IO太低,严重…

    2023年11月24日
    2.7K00
  • Linux 系统硬盘MBR转换为GPT格式并扩容

    问题描述之前创建了一台ubuntu16的服务器虚机,挂载了一块2T的云数据盘,当时文件系统做的是MBR(dos)格式,最近因为存量数据增加,数据盘空间不足就在云平台将2T的数据盘扩容成了4T,结果进入虚机扩容的时候报错MBR格式的硬盘最大支持2T,剩余的空间将不会用到。需要将硬盘转化为GPT分区格式,来支持2T以上空间的使用才行,但是转化硬盘格式又怕数据丢失…

    2023年11月23日
    2.1K00
  • 二进制部署Mysql8.0.31

    二进制部署Mysql8.0.31 一、软件包下载 企业版:Enterprise , 互联网行业一般不选择. 社区版本:选择 源码包 编译安装: source code .tar.gz 通用二进制 公司用什么版本数据库? 具体什么小版本号? 5.6.20 5.6.34 5.6.36 5.6.38 5.6.40 5.7.18 5.7.20 5.7.22 5.7.…

    2023年1月20日
    1.6K00
  • PowerShell关于磁盘IO的信息获取

    理论上的磁盘I/O(输入/输出)最大值通常与磁盘的规格、类型和制造商有关,而不是通过计数器统计得出的当前值。在PowerShell中,获取这种理论上的最大I/O值可能会比较困难,因为它不是一个直接提供的属性。但您可以尝试通过查询硬件规格或制造商的信息来获取一些估算值。 以下是一种基本的方法,它使用Get-PhysicalDisk cmdlet获取物理磁盘的信…

    2023年12月12日
    2.1K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信