docker快速安装ELK

一、创建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
    restart: always
    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
    restart: always
    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
    restart: always
    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.mfbz.cn/a/887905.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大模型应用新领域:探寻终端侧 AI 竞争核心|智于终端

2024年过去2/3,大模型领域的一个共识开始愈加清晰: AI技术的真正价值在于其普惠性。没有应用,基础模型将无法发挥其价值。 于是乎,回顾这大半年,从互联网大厂到手机厂商,各路人马都在探索AI时代Killer AP…

【超级详细解释】力扣每日一题 134.加油站 48. 旋转图像

134.加油站 力扣 这是一个很好的问题。这个思路其实基于一种贪心策略。我们从整个路径的油量变化来理解它,结合一个直观的“最低点法则”,来确保找到正确的起点。 问题的核心:油量差值的累积 对于每个加油站,我们有两个数组&…

1、如何查看电脑已经连接上的wifi的密码?

在电脑桌面右下角的如下位置:双击打开查看当前连接上的wifi的名字:ZTE-kfdGYX-5G 按一下键盘上的win R 键, 输入【cmd】 然后,按一下【回车】。 输入netsh wlan show profile ”wifi名称” keyclear : 输入完成后,按一下回车&…

51单片机的水质检测系统【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块温度传感器ph传感器浑浊度传感器蓝牙继电器LED、按键和蜂鸣器等模块构成。适用于水质监测系统,含检测和调整水温、浑浊度、ph等相似项目。 可实现功能: 1、LCD1602实时显示水温、水体ph和浑浊度 2、温…

Studying-多线程学习Part3 - condition_variable与其使用场景、C++11实现跨平台线程池

来源:多线程学习 目录 condition_variable与其使用场景 生产者与消费者模型 C11实现跨平台线程池 condition_variable与其使用场景 生产者与消费者模型 生产者-消费者模式是一种经典的多线程设计模式,用于解决多个线程之间的数据共享和协作问题。…

基于PHP的校园二手书交易管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的校园二手书交易管理系统 一 介绍 此二手书交易管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈:phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注…

k8s中pod的管理

一、资源管理 1.概述 说到k8s中的pod,即荚的意思,就不得不先提到k8s中的资源管理,k8s中可以用以下命令查看我们的资源: kubectl api-resources 比如我们现在需要使用k8s开启一个东西,那么k8s通过apiserver去对比etc…

《从零开始大模型开发与微调》真的把大模型说透了!零基础入门一定要看!

2022年底,ChatGPT震撼上线,大语言模型技术迅速“席卷”了整个社会,人工智能技术因此迎来了一次重要进展。与大语言模型相关的研发岗薪资更是水涨船高,基本都是5w月薪起。很多程序员也想跟上ChatGPT脚步,今天给大家带来…

51单片机系列-串口(UART)通信技术

🌈个人主页: 羽晨同学 💫个人格言:“成为自己未来的主人~” 并行通信和串行通信 并行方式 并行方式:数据的各位用多条数据线同时发送或者同时接收 并行通信特点:传送速度快,但因需要多根传输线&#xf…

免杀对抗—GOC#反VT沙盒资源分离混淆加密

前言 今天的主要内容是反VT沙盒,我们都知道生成的后门会被杀软上穿到沙盒中去运行,去逆向。如此一来我们的后门就很容易被查杀掉,但如果我们对后门进行一些操作,让它在被逆向的时候,反编译出一堆乱码,或者…

【大语言模型-论文精读】用于医疗领域摘要任务的大型语言模型评估综述

【大语言模型-论文精读】用于医疗领域摘要任务的大型语言模型评估综述 论文信息: 用于医疗领域摘要任务的大型语言模型评估:一篇叙述性综述, 文章是由 Emma Croxford , Yanjun Gao 博士 , Nicholas Pellegrino , Karen K. Wong 等人近期合作…

STM32PWM应用

目录 一、输出比较(OC) 二、PWM: 1、简介 2、基本结构 3、参数计算 三、PWM驱动LED呼吸灯 1、代码 四、PWM驱动Sg90舵机 1、工作原理 2、完整代码 五、PWM驱动直流电机 1、TB6612芯片模块 2、完整代码: 一、输出比较(OC) OC(Outp…

智能医疗:Spring Boot医院管理系统开发

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…

【Python】PDFMiner.six:高效处理PDF文档的Python工具

PDF是一种广泛使用的文件格式,特别适用于呈现固定布局的文档。然而,提取PDF文件中的文本和信息并不总是那么简单。幸好有许多Python库可以帮助我们,其中,PDFMiner.six 是一个功能强大、专门用于PDF文档解析的库。 ⭕️宇宙起点 &a…

cnn突破四(生成卷积核与固定核对比)

cnn突破三中生成四个卷积核,训练6万次,91分,再训练6万次,95分,不是很满意,但又找不到问题点,所以就想了个办法,使用三个固定核,加上三层bpnet神经网络,看看效…

王道-数据结构

1 设数组data[m]作为循环队列的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为____ 答案:D 解析:队列的头指针指向队首元素的实际位置,因此出队操作后,头指针需向上移动一个元素的位置。循环队列的容量为m,所以头指针front加1以后,需…

【d60】【Java】【力扣】509. 斐波那契数

思路 要做的问题:求F(n), F(n)就等于F(n-1)F(n-2),要把这个F(n-1)F(n-2)当作常量,已经得到的值, 结束条件:如果是第1 第2 个数字的时候,没有n-1和n-2,所以…

闯关训练三:Git 基础知识

任务1: 破冰活动:自我介绍 点击Fork目标项目,创建一个新的Fork 获取仓库链接 在连接好开发机的vscode终端中逐行执行以下代码: git clone https://github.com/KelvinIII/Tutorial.git # 修改为自己frok的仓库 cd Tutorial/ git branch -a g…

4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1

目录 前序工作 1. 服务器项目名和本地一致 2. pycharm连接服务器 3. 本地项目对应到服务器项目 4. 简单测试一下同步效果 同步成功 前序工作 在同步到服务器之前,得确保已经完成以下几个前置步骤: 1. 租一个云服务器,可参考&#xff1a…

18734 拓扑排序

### 思路 1. **建模问题**:将课程和依赖关系建模为有向图,其中课程是节点,依赖关系是有向边。 2. **选择算法**:使用拓扑排序算法来确定课程的学习顺序。由于需要确保输出唯一性,同等条件下编号小的课程排在前面&…