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

相关推荐

  • 通过远程桌面连接Windows实例提示“远程连接计算机需要网络级别身份验证”怎么办?

    问题描述 使用远程桌面连接工具登录Windows系统的ECS实例失败,并提示“远程连接计算机需要网络级别身份验证”的报错,如下图所示。 问题原因 本地Windows主机的远程桌面连接工具版本过低,导致远程连接失败。 解决方案 下列操作以Windows Server 2012 R2 64位操作系统为例,其它版本的操作系统的配置可能有所差异,具体情况请参考相应操…

    2023年11月22日
    1.4K00
  • 使用openssl创建自签发SSL证书

    使用openssl创建自签发SSL证书 生成根证书 生成ca秘钥,得到ca.key openssl genrsa -out ca.key 4096 生成ca证书签发请求,得到ca.csr openssl req -new -key ca.key -out ca.csr -subj “/C=CN/ST=JS/L=NanJing/O=other/OU=other…

    2023年1月31日
    98500
  • 成功解决:ubuntu下ifconfig不显示网卡信息

    方法一(临时) 或者 需要注意的是,以上两种方式只是临时性的,非永久性,下次重启还是会出现ifconfig没有网卡的现象 dhclient(DHCP client)为动态主机配置协议客户端。DHCP 客户端 dhclient 提供了一种使用动态主机配置协议 和 BOOTP 协议配置一个或多个网络接口的方法。如果这些协议失败,则通过静态分配地址来配置。 方法二…

    2023年6月21日
    2.9K00
  • 如何在 Ubuntu 20.04 上使用 UFW 来设置防火墙

    防火墙是一个用来监视和过滤进出网络流量的工具。它通过定义一系列安全规则,来决定是否允许或者屏蔽指定的流量。 Ubuntu 自带的防火墙配置工具被称为 UFW (Uncomplicated Firewall)。UFW 是一个用来管理 iptables 防火墙规则的用户友好的前端工具。它的主要目的就是为了使得管理 iptables 更简单,就像名字所说的,简单的…

    2023年3月17日
    2.2K00
  • 通过配置hosts.allow和hosts.deny限制登陆

    我们通常只对管理员开放SSH登录,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的IP段。 /etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。 我们通常只对管理员开放SSH登录,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的I…

    2022年11月15日
    1.8K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信