k8s部署elk8 直接通过logstash获取日志文件方式

配置文件

kibana

[root@node101 config]# cat kibana.yml   
#
# ** THIS IS AN AUTO-GENERATED FILE **
## Default Kibana configuration for docker target
server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://localhost:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"[root@node101 config]# cat node.options 
## Node command line options
## See `node --help` and `node --v8-options` for available options
## Please note you should specify one option per line## max size of old space in megabytes
#--max-old-space-size=4096## do not terminate process on unhandled promise rejection--unhandled-rejections=warn## restore < Node 16 default DNS lookup behavior
--dns-result-order=ipv4first## enable OpenSSL 3 legacy provider
#--openssl-legacy-provider

logstash

[root@node101 myconf]# cat logstash.conf 
input {file {path => ["/spring-boot-logs/*/user.*.log"]}}filter {json {source => "message"}
} output{elasticsearch{hosts => ["ssx-elk-dmsv.ssx:9200"]index => "logstash-%{+YYYY.MM.dd}"}
}

部署yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:name: ssx-elk-dmsvnamespace: ssx
spec:replicas: 1selector:matchLabels:app: ssx-elk-dmsvtemplate:metadata:labels:app: ssx-elk-dmsvspec:hostAliases:- ip: "192.168.0.101"hostnames:- "node101"- ip: "192.168.0.102"hostnames:- "node102"- ip: "192.168.0.103"hostnames:- "node103"- ip: "127.0.0.1"hostnames:- "elasticsearch"containers:- name: ssx-elasticsearch8-cimage: docker.elastic.co/elasticsearch/elasticsearch:8.10.2imagePullPolicy: IfNotPresentports:- containerPort: 9200env:   #容器运行前需设置的环境变量列表- name: discovery.type  #环境变量名称value: "single-node" #环境变量的值 这是mysqlroot的密码 因为是纯数字,需要添加双引号 不然编译报错- name: xpack.security.enabled  #禁用登录验证value: "false" #环境变量的值 这是mysqlroot的密码 因为是纯数字,需要添加双引号 不然编译报错- name: ES_JAVA_OPTSvalue: -Xms512m -Xmx512mvolumeMounts:- mountPath: /usr/share/elasticsearch/data   #这是mysql容器内保存数据的默认路径name: c-v-path-elasticsearch8-data- mountPath: /usr/share/elasticsearch/logs   #这是mysql容器内保存数据的默认路径name: c-v-path-elasticsearch8-logs- mountPath: /usr/share/elasticsearch/.cache   #这是mysql容器内保存数据的默认路径name: c-v-path-elasticsearch8-cache- mountPath: /etc/localtime   #时间同步name: c-v-path-lt- name: ssx-kibana-cimage: docker.elastic.co/kibana/kibana:8.10.2imagePullPolicy: IfNotPresentports:- containerPort: 5601  # 开启本容器的80端口可访问volumeMounts:- mountPath: /usr/share/kibana/data   #无用,我先看看那些挂载需要name: c-v-path-kibana8-data- mountPath: /usr/share/kibana/configname: c-v-path-kibana8-config- mountPath: /etc/localtime   #时间同步name: c-v-path-lt- name: ssx-logstash-cimage: docker.elastic.co/logstash/logstash:8.10.2imagePullPolicy: IfNotPresentenv:   #容器运行前需设置的环境变量列表- name: xpack.security.enabled  #禁用登录验证value: "false" #环境变量的值 这是mysqlroot的密码 因为是纯数字,需要添加双引号 不然编译报错- name: LOG_LEVEL  #禁用登录验证value: "info" #环境变量的值 这是mysqlroot的密码 因为是纯数字,需要添加双引号 不然编译报错- name: MONITORING_ENABLED  #禁用登录验证value: "false" #环境变量的值 这是mysqlroot的密码 因为是纯数字,需要添加双引号 不然编译报错args: ["-f","/myconf/logstash.conf"]volumeMounts:- mountPath: /myconf   #配置name: c-v-path-logstash8-conf- mountPath: /usr/share/logstash/data   #dataname: c-v-path-logstash8-data- mountPath: /spring-boot-logs  #dataname: c-v-path-filebeat8-spring-logs- mountPath: /etc/localtime   #时间同步name: c-v-path-lt
#        - name: ssx-filebeat-c #小项目 不用filebeat+kafka读取日志了,直接用logstash读取日志
#          image: docker.elastic.co/beats/filebeat:8.10.2
#          imagePullPolicy: IfNotPresent
#          volumeMounts:
#            - mountPath: /usr/share/filebeat/filebeat.yml   #配置
#              name: c-v-path-filebeat8-conf
#            - mountPath: /usr/share/filebeat/data  #配置
#              name: c-v-path-filebeat8-data
#            - mountPath: /spring-boot-logs  #data
#              name: c-v-path-filebeat8-spring-logs
#            - mountPath: /etc/localtime   #时间同步
#              name: c-v-path-ltvolumes:- name: c-v-path-elasticsearch8-data #和上面保持一致 这是本地的文件路径,上面是容器内部的路径hostPath:path: /home/app/apps/k8s/for_docker_volume/elk/elasticsearch8/data  #此路径需要实现创建 注意要给此路径授权777权限 不然pod访问不到- name: c-v-path-elasticsearch8-logs #和上面保持一致 这是本地的文件路径,上面是容器内部的路径hostPath:path: /home/app/apps/k8s/for_docker_volume/elk/elasticsearch8/logs  #此路径需要实现创建 注意要给此路径授权777权限 不然pod访问不到- name: c-v-path-elasticsearch8-cache #和上面保持一致 这是本地的文件路径,上面是容器内部的路径hostPath:path: /home/app/apps/k8s/for_docker_volume/elk/elasticsearch8/.cache  #此路径需要实现创建 注意要给此路径授权777权限 不然pod访问不到- name: c-v-path-kibana8-data #和上面保持一致 这是本地的文件路径,上面是容器内部的路径hostPath:path: /home/app/apps/k8s/for_docker_volume/elk/kibana8/data  #此路径需要实现创建 注意要给此路径授权777权限 不然pod访问不到- name: c-v-path-kibana8-config #和上面保持一致 这是本地的文件路径,上面是容器内部的路径hostPath:path: /home/app/apps/k8s/for_docker_volume/elk/kibana8/config  #此路径需要实现创建 注意要给此路径授权777权限 不然pod访问不到- name: c-v-path-logstash8-confhostPath:path: /home/app/apps/k8s/for_docker_volume/elk/logstash8/myconf- name: c-v-path-logstash8-datahostPath:path: /home/app/apps/k8s/for_docker_volume/elk/logstash8/data- name: c-v-path-lthostPath:path: /etc/localtime   #时间同步
#        - name: c-v-path-filebeat8-conf #小项目 不用filebeat+kafka读取日志了,直接用logstash读取日志
#          hostPath:
#            path: /home/app/apps/k8s/for_docker_volume/elk/filebeat8/myconf/filebeat.yml
#        - name: c-v-path-filebeat8-data
#          hostPath:
#            path: /home/app/apps/k8s/for_docker_volume/elk/filebeat8/data- name: c-v-path-filebeat8-spring-logshostPath:path: /home/ssx/appdata/ssx-log/docker-lognodeSelector: #把此pod部署到指定的node标签上kubernetes.io/hostname: node101
---
apiVersion: v1
kind: Service
metadata:name: ssx-elk-dmsvnamespace: ssx
spec:ports:- port: 9200name: ssx-elk8-9200protocol: TCPtargetPort: 9200- port: 5601 #我暂时不理解,这个设置 明明没用到?name: ssx-kibana8protocol: TCPtargetPort: 5601 # 容器nginx对外开放的端口 上面的dm已经指定了selector:app: ssx-elk-dmsvtype: ClusterIP

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

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

相关文章

CSS中4种关系选择器

元素(标签)之间的关系 父元素&#xff1a;直接包含子元素的元素 子元素&#xff1a;直接被父元素包含的元素 祖先元素&#xff1a;直接或间接包含后代元素的元素&#xff0c;父元素也是祖先元素 后代元素&#xff1a;直接或间接被祖先元素包含的元素&#xff0c;子元素也是后代…

C++二分算法:找到最接近目标值的函数值

本文涉及的基础知识点 二分查找算法合集 题目 Winston 构造了一个如上所示的函数 func 。他有一个整数数组 arr 和一个整数 target &#xff0c;他想找到让 |func(arr, l, r) - target| 最小的 l 和 r 。 请你返回 |func(arr, l, r) - target| 的最小值。 请注意&#xff0c…

基于 Junit 的接口自动化测试框架实现!

分层的自动化测试 5~10 年前&#xff0c;我们接触的自动化测试更关注的是 UI 层的自动化测试&#xff0c;Mercury 的 WinRunner/QTP 是那个时代商业性自动化测试产品的典型代表&#xff0c;在那个时代大家单纯想的都是能用一个自动化操作的工具替代人力的点击&#xff0c;商业…

【教3妹学编辑-mysql】详解数据库三大范式

什么是范式 简单地理解就是&#xff1a;数据库设计时遵循的规范 三大范式 数据库三大范式包含&#xff1a;1、第一范式(1NF)&#xff1b;2、第二范式(2NF)&#xff1b;3、第三范式(3NF)。其中&#xff0c;第一范式(1NF)的要求是属性不可分割&#xff0c;第二范式(2NF)的要求是…

Java基础-----正则表达式

文章目录 1.简介2.目的3.学习网站4.常用匹配字符5.String类中用到正则表达式的方法 1.简介 又叫做规则表达式。是一种文本模式&#xff0c;包括普通字符和特殊字符&#xff08;元字符&#xff09;。正则使用单个字符来描述、匹配一系列某个句法规则的字符串&#xff0c;通常用…

[架构之路-247]:目标系统 - 设计方法 - 软件工程 - 结构化方法的基本思想、本质、特点以及在软件开发、在生活中的应用

目录 前言&#xff1a; 一、什么是非结构化方法 1.1 什么是非结构化方法 1.2 非结构化方法的适用场合 二、什么是结构化方法 1.1 结构化方法诞生的背景&#xff1a;软件规模发展&#xff1a;大规模、复杂系统的需要 1.2 概述 1.3 主要特点与核心思想 三、结构化方法在…

【Web】Flask|Jinja2 SSTI

目录 ①[NISACTF 2022]is secret ②[HNCTF 2022 WEEK2]ez_SSTI ③[GDOUCTF 2023] ④[NCTF 2018]flask真香 ⑤[安洵杯 2020]Normal SSTI ⑥[HNCTF 2022 WEEK3]ssssti ⑦[MoeCTF 2021]地狱通讯 ①[NISACTF 2022]is secret dirsearch扫出/secret 明示get传一个secret ?…

Wireshark抓包:理解TCP三次握手和四次挥手过程

TCP是一种面向连接、端到端可靠的协议&#xff0c;它被设计用于在互联网上传输数据和确保成功传递数据和消息。本节来介绍一下TCP中的三次握手和四次挥手。 文章目录 1 TCP头部格式2 wireshark抓包分析2.1 SEQ和ACK2.2 三次握手2.3 四次挥手 3 程序 1 TCP头部格式 TCP头部占据…

如何进行数据结构的设计和实现?

数据结构的设计和实现 数据结构是计算机科学中至关重要的概念之一&#xff0c;它涉及如何组织和存储数据以便有效地进行操作。在软件开发中&#xff0c;数据结构的选择和设计直接影响了程序的性能、可维护性和可扩展性。在这篇文章中&#xff0c;我们将深入探讨如何进行数据结…

【FPGA】Verilog:实现 RS 触发器 | Flip-Flop | 使用 NOR 的 RS 触发器 | 使用 NAND 的 RS 触发器

目录 0x00 RS 触发器&#xff08;RS Flip-Flop&#xff09; 0x01 实现 RS 触发器 0x02 使用 NOR 的 RS 触发器 0x03 使用 NAND 的 RS 触发器 0x00 RS 触发器&#xff08;RS Flip-Flop&#xff09; 触发器&#xff08;Flip-Flop&#xff09;是一种带有时钟的二进制存储设备…

C/C++多级指针与多维数组

使用指针访问数组 指针类型的加减运算可以使指针内保存的首地址移动。 指针类型加n后。首地址向后移动 n * 步长 字节。 指针类型减n后。首地址向前移动 n * 步长 字节。 步长为指针所指向的类型所占空间大小。 例如&#xff1a; int *p (int *)100;p 1&#xff0c;结果为首…

Vue 2.0的源码构建

Vue.js 源码是基于 Rollup 构建的&#xff0c;它的构建相关配置都在 scripts 目录下。 1. 构建脚本 通常一个基于 NPM 托管的项目都会有一个 package.json 文件&#xff0c;它是对项目的描述文件&#xff0c;它的内容实际上是一个标准的 JSON 对象。 我们通常会配置 script …

Autox.js和Auto.js4.1.1手机编辑器不好用我自己写了一个编辑器

功能有 撤销 重做 格式化 跳转关键词 下面展示一些 内联代码片。 "ui"; ui.layout( <drawer id"drawer"><vertical><appbar><toolbar id"toolbar"title""h"20"/></appbar><horizontal b…

get_cli_args函数

CLI是"Command Line Interface"的缩写&#xff0c;中文意为"命令行界面"。它是一种与计算机进行交互的方式&#xff0c;用户通过键盘输入文本命令来执行特定的任务&#xff0c;而不是通过图形用户界面&#xff08;GUI&#xff09;进行操作。在命令行界面中…

P1734 最大约数和

P1734 最大约数和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 预处理出小于等于S的数的约数和&#xff0c;将一个数的值作为体积&#xff0c;这个数的约数和作为价值&#xff0c;之后01背包模板。 void solve() {int n; cin>>n;vector<array<int,2>> a…

Linux环境搭建(tomcat,jdk,mysql下载)

是否具备环境&#xff08;前端node&#xff0c;后端环境jdk&#xff09;安装jdk,配置环境变量 JDK下载 - 编程宝库 (codebaoku.com) 进入opt目录 把下好的安装包拖到我们的工具中 把解压包解压 解压完成&#xff0c;可以删除解压包 复制解压文件的目录&#xff0c;配置环境变量…

【opencv】debug报错HEAP CORRUPTION DETECTED

运行至第一句涉及矩阵运算的代码&#xff08;如cv::multiply&#xff09;时报错 HEAP CORRUPTION DETECTED: after Normal block (#45034) at 0x000001BDC586F0E0. CRT detected that the application wrote to memory after end of heap buffer.release下不会报错&#xff0…

vue3使用西瓜播放器播放flv、hls、mp4视频

vue3使用西瓜播放器播放flv、hls、mp4视频 安装相关的插件 npm install xgplayer npminstall xgplayer-flv npm install xgplayer-hls npm install xgplayer-mp4 组件封装 <template><div :id"${playerId}" /> </template> <script setup la…

PDF控件Spire.PDF for .NET【转换】演示:自定义宽度、高度将 PDF 转 SVG

我们在上一篇文章中演示了如何将 PDF 页面转换为 SVG 文件格式。本指南向您展示如何使用最新版本的 Spire.PDF 以及 C# 和 VB.NET 指定输出文件的宽度和高度。 Spire.Doc 是一款专门对 Word 文档进行操作的 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻…

MyBatis 快速入门

MyBatis 快速入门 前言什么是 MyBatis简介核心特性使用示例配置文件Mapper 接口SQL 映射文件使用 MyBatis 如果大家对以上的导读很懵怎么办&#xff01;没关系 往下阅读&#xff01; 1. MyBatis 介绍1.1. 什么是MyBatis1.2. 持久层1.3. 框架1.4. JDBC 弊端1.5.…