docker快速安装ELK

news2024/9/30 8:14:30

一、创建elk目录

创建/elk/elasticsearch/data/目录

mkdir -p /usr/local/share/elk/elasticsearch/data/

创建/elk/logstash/pipeline/目录

mkdir -p /usr/local/share/elk/logstash/pipeline/

创建/elk/kibana/conf/目录

mkdir -p /usr/local/share/elk/kibana/conf/

二、创建docker-compose.yml (linux没装docker和docker-compose的先自行百度装一下)

进入上述创建的elk目录

cd /usr/local/share/elk/

创建docker-compose.yml

vi docker-compose.yml,然后将下面的代码粘贴到文件中,最后保存即可

#docker-compose.yml
version: '3.3'

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.5.3
    container_name: elasticsearch
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      - discovery.type=single-node
      - xpack.security.enabled=false
    volumes:
      - /usr/local/share/elk/elasticsearch/data:/usr/share/elasticsearch/data"
    networks:
      - elk-net

  logstash:
    image: docker.elastic.co/logstash/logstash:8.5.3
    container_name: logstash
    ports:
      - "5044:5044/tcp"
      - "9600:9600/tcp"
    volumes:
      - /usr/local/share/elk/logstash/pipeline:/usr/share/logstash/pipeline
    depends_on:
      - elasticsearch
    networks:
      - elk-net

  kibana:
    image: docker.elastic.co/kibana/kibana:8.5.3
    container_name: kibana
    ports:
      - "5601:5601"
    #volumes:
      #- /usr/local/share/elk/kibana/conf:/usr/share/kibana/config
    environment:
      - ELASTICSEARCH_HOSTS=http://elasticsearch:9200
    depends_on:
      - elasticsearch
    networks:
      - elk-net

networks:
  elk-net:

三、创建logstash.conf 

进入上述创建的/elk/logstash/pipeline目录

cd /usr/local/share/elk/logstash/pipeline

创建logstash.conf 

vi logstash.conf 

将下面的代码复制粘贴到文件中保存即可

#logstash.conf
input {
  beats {
    port => 5044
  }
}

filter {
  if [tags] =~ /wclflow/ {
    # 解析时间戳
    date {
      match => [ "message", "yyyy-MM-dd HH:mm:ss.SSS" ]
      target => "@timestamp"
    }

    # 提取其他字段
    grok {
      match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{GREEDYDATA:remaining_message}" }
      add_field => [ "[@metadata][timestamp]", "%{timestamp}" ]
    }

    # 进一步分割日志
    grok {
      match => { "remaining_message" => "%{DATA:thread} %{LOGLEVEL:level} %{GREEDYDATA:message}" }
    }

    # 移除原始消息中的时间戳
    mutate {
      remove_field => [ "message" ]
    }

    # 添加时间戳字段
    date {
      match => [ "timestamp", "yyyy-MM-dd HH:mm:ss.SSS" ]
      target => "@timestamp"
    }
  }
}

output {
  elasticsearch {
    hosts => ["http://elasticsearch:9200"]
    index => "wclflow-logs-%{+YYYY.MM.dd.HH.mm.ss}"
  }
}

四、启动ELK

先进入/usr/local/share/elk目录,然后启动ELK

cd /usr/local/share/elk && docker-compose up -d

启动命令执行后,等待十多秒后,查看容器运行情况,如下图表示启动成功

五、kibana汉化

将kibana容器里的配置文件复制出来,修改后再复制到容器里

进入第一步创建的kibana配置目录

cd /usr/local/share/elk/kibana/conf/

复制容器内的配置文件到当前目录

docker cp kibana:/usr/share/kibana/config/kibana.yml .

修改kibana.yml,在最后一行回车后,加上这段内容:i18n.locale: zh-CN

如下图填写,保存即可

保存成功后,将kibana.yml复制回容器,然后重启kibana服务

复制回容器

docker cp ./kibana.yml kibana:/usr/share/kibana/config/

重启kibana服务

 docker-compose up -d kibana

六、浏览器访问

docker ps查看容器状态,如图所示,表示ELK服务已正常运行

打开浏览器访问http://192.168.7.46:5601/,注意ip是你的服务器ip,端口就是5601,首次访问页面如下,需要先配置Elastic,我们选择自己手动配置一下,然后配置Elastic服务地址,修改下ip和端口,如我就是配置的是192.168.7.46:9200

如果汉化不生效,试试docker restart kibana   或者  systemctl restart kibana这两个个命令,分别试一下。我的重启后再次访问,效果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2179139.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软考论文《论大数据处理架构及其应用》精选试读

论文真题 模型驱动架构设计是一种用于应用系统开发的软件设计方法,以模型构造、模型转换和精化为核心,提供了一套软件设计的指导规范。在模型驱动架构环境下,通过创建出机器可读和高度抽象的模型实现对不同问题域的描述,这些模型…

算法:按既定顺序创建目标数组

力扣1389 提示&#xff1a; 1 < nums.length, index.length < 100nums.length index.length0 < nums[i] < 1000 < index[i] < i 题解&#xff1a; class Solution {public int[] createTargetArray(int[] nums, int[] index) {int[] target new int[num…

The legacy JS API is deprecated and will be removed in Dart Sass 2.0

The legacy JS API is deprecated and will be removed in Dart Sass 2.0 更新了sass版本后&#xff0c;启动项目控制台一直在报错&#xff0c;影响开发效率&#xff0c;强迫症表示忍受不了。 字面意思是&#xff1a;Sass在2.0版本将会移除legacy JS API&#xff0c;所以现在使…

Python | Leetcode Python题解之第446题等差数列划分II-子序列

题目&#xff1a; 题解&#xff1a; class Solution:def numberOfArithmeticSlices(self, nums: List[int]) -> int:ans 0f [defaultdict(int) for _ in nums]for i, x in enumerate(nums):for j in range(i):d x - nums[j]cnt f[j][d]ans cntf[i][d] cnt 1return a…

Vue发送邮件攻略:从搭建到实现详细步骤?

vue发送邮件功能实现方法&#xff1f;Vue前端如何实现发送邮件&#xff1f; 随着应用功能的不断扩展&#xff0c;用户交互的复杂性也在增加。其中&#xff0c;发送邮件功能是许多Web应用中不可或缺的一部分。AokSend将详细介绍如何使用Vue.js实现发送邮件功能。 Vue发送邮件&…

fastadmin搜索刷新列表,怎么限制用户频繁点击?

文章目录 fastadmin搜索刷新列表&#xff0c;怎么限制用户频繁点击&#xff1f;解决方案fastadmin事件方法实现完结 fastadmin搜索刷新列表&#xff0c;怎么限制用户频繁点击&#xff1f; fastadmin目前有个很致命的问题&#xff0c;就是用户可以频繁的点击搜索等按钮&#xf…

基于SPRINTBOOT+VUE文献资料检索系统

文未可获取一份本项目的java源码和数据库参考。 1 选题背景 随着世界一体化和经济全球化席卷世界,越来越多的高校认识到&#xff0c;利用信息技术的发展来改变对文档、文献的运作方法和管理模式,提高高校的管理效益和生产效益&#xff0c;从而提高高校经济效益&#xff0c;增强…

大模型中的提示学习——情感预测示例项目

提示学习&#xff08;Prompting&#xff09;是一种自然语言处理&#xff08;NLP&#xff09;中的训练技术&#xff0c;它利用预训练的语言模型&#xff08;如BERT、GPT等&#xff09;来解决各种下游任务&#xff0c;如文本分类、命名实体识别、问答等。这种方法的关键思想是通过…

智能红外抄表系统的设计与实现(论文+源码)_kaic

摘 要 随着我国现代社会经济的快速发展&#xff0c;工厂居民用电量剧增。人工抄表&#xff0c;费时费力&#xff0c;效率低下。人工抄表会造成漏抄、误抄、估抄等数据不准确。抄表人员可能与用电户合伙作弊&#xff0c;给资产管理者带来损失。在很多智能仪表的应用中需要现场人…

麦克纳姆轮

一、B站: 一、运动原理 保留前进,平移和自转的车轮方向箭头,把反向变成红色 二、运动公式 如果已知需要的前后、左右、自转量。如何指示每个车轮旋转,用数学的方法表示反转,就是用负数,以平面直角坐标系为参照,向前是正,向后是负,向右是正,向左是负,自转…

云服务架构与华为云架构

目录 1.云服务架构是什么&#xff1f; 1.1 云服务模型 1.2 云部署模型 1.3 云服务架构的组件 1.4 云服务架构模式 1.5 关键设计考虑 1.6 优势 1.7 常见的云服务架构实践 2.华为云架构 2.1 华为云服务模型 2.2 华为云部署模型 2.3 华为云服务架构的核心组件 2.4 华…

【MySQL】视图、用户和权限管理

目录 视图创建视图数据修改影响删除视图视图优点 用户和权限管理查看当前的数据库拥有用户信息创建用户修改密码删除用户权限授权回收权限 视图 视图就是相当于创建一个表&#xff0c;将查询到的结果集给存储起来。像使用复杂的多表查询查询到的结果集就不可以对结果集操作。而…

Go语言中的深拷贝:概念、实现与局限

前不久&#xff0c;在“Gopher部落”知识星球[1]上回答了一个Gopher关于深拷贝(Deep Copy)的问题&#xff0c;让我感觉是时候探讨一下深拷贝技术了。 在日常开发工作中&#xff0c;深拷贝的使用频率相对较低&#xff0c;可能有80%的时间不需要使用深拷贝&#xff0c;只有在特定…

【PHP源码】匿名来信系统H5版本V1.0免费开源

你的匿名来信H5一封你的来信源码/表白祝福短信程序/往来信/传话短信源码支持邮件发信与手机短信发信“你的匿名来信”是最近某音上爆火的一个活动话题&#xff0c;可以通过H5网站&#xff0c;编辑自己想要对某人说的话或者祝福&#xff0c;网站会把您想说的发给您预留的号码&am…

免费语音转文字软件全览:开启高效记录新时代

在当今快节奏的信息时代&#xff0c;高效地处理和记录信息变得至关重要。语音转文字技术的出现&#xff0c;为我们带来了极大的便利&#xff0c;今天&#xff0c;就让我们一同探讨这些语音转文字免费的软件的使用方法。 1.365在线转文字 链接直达&#xff1a;https://www.pdf…

el-table添加fixed后错位问题

1 方案1 return {isShow:false, }mounted() {this.isShowtrue},watch: {$route(newRoute) {this.monitoredRoute newRoute; // 将新的路由信息保存到组件的monitoredRoute属性中// 执行其他操作或调用其他方法},//或$route(newRoute) {this.monitoredRoute newRoute; // 将新…

如何通过视频美颜SDK实现高效的直播美颜API开发?

很多小伙伴疑问短视频和直播平台中的主播美颜工具是如何开发的&#xff0c;今天我们就来探讨一下如何通过视频美颜SDK&#xff0c;高效实现直播美颜API开发&#xff0c;助力开发者快速打造出高质量的直播美颜功能。 一、视频美颜SDK的核心功能 要了解如何高效开发直播美颜API…

Golang | Leetcode Golang题解之第446题等差数列划分II-子序列

题目&#xff1a; 题解&#xff1a; func numberOfArithmeticSlices(nums []int) (ans int) {f : make([]map[int]int, len(nums))for i, x : range nums {f[i] map[int]int{}for j, y : range nums[:i] {d : x - ycnt : f[j][d]ans cntf[i][d] cnt 1}}return }

Linux操作系统如何定时关机?

在日常使用电脑的过程中&#xff0c;一般都会有软件升级、系统杀毒的工作&#xff0c;可能还需要电脑的定时关机、提醒事项功能。对于Linux操作系统&#xff0c;可以使用几种任务计划工具来指定相应的任务计划&#xff0c;使这些需求自动在后台运行。 一、at命令 at命令的作用…

mongodb光速上手

开始 mongodb是一种nosql数据库&#xff0c;即非关系型数据库。 安装好后将bin目录添加到环境变量。 安装studio-3t&#xff0c;这是可视化编辑器。 启动 mongo --host localhost --port 27017 指令 查看所有库 show dbs 使用或创建并使用库 use school use 数据库名 向…