当前位置: 首页 > news >正文

应用日志集成到ElasticSearch

1、阿里云sls平台集成日志

阿里sls集成日志步骤

2、filebeat 收集到指定es

安装docker容器

Docker安装

拉取镜像:

docker pull elastic/filebeat:7.5.1

启动:

docker run -d --name=filebeat elastic/filebeat:7.5.1

拷贝容器中的数据文件到宿主机:

mkdir -p /data/elk7
docker cp filebeat:/usr/share/filebeat /data/elk7/

设置权限

chmod 777 -R /data/elk7/filebeat
#go-w: 这个命令表示去掉文件的“组”和“其他用户”的写权限。其中,
#g 代表组权限,o 代表其他用户权限,-w 表示去掉写权限。
chmod go-w /data/elk7/filebeat/filebeat.yml

配置filebeat

vim /data/elk7/filebeat/filebeat.yml

修改样例如下:

filebeat.inputs:- type: logenabled: truepaths:- /var/log/*.logfields:AppId: "springbootadmin"ENV: "DEV"fields_under_root: truetags: ["服务ip地址自定义其他", "boot"]json.keys_under_root: true- type: logenabled: truepaths:- /java/*.logfields:AppId: "live-admin"ENV: "DEV"fields_under_root: truetags: ["服务ip地址自定义其他", "live"]json.keys_under_root: trueprocessors:- timestamp:field: "time"timezone: "Asia/Shanghai"layouts:- "yyyy-MM-dd HH:mm:ss.SSS"output.elasticsearch:hosts: 'es:9200'username: "elastic"password: "elastic"indices:- index: "spring-boot-admin-%{+yyyy.MM}"when.contains:tags: "boot"- index: "live-admin-%{+yyyy.MM}"when.contains:tags: "live"setup.template.settings:index.number_of_shards: 3index.number_of_replicas: 0

日志输入源

  • 使用 filebeat.inputs
    部分定义了两个日志输入源。每个输入源监视不同路径下的日志文件,并根据路径指定的类型和字段进行处理。其中,第一个输入源监视
    /var/log/.log 路径下的日志文件,用于收集 Spring Boot Admin 应用的日志;第二个输入源监视
    /java/
    .log 路径下的日志文件,用于收集 Live Admin 应用的日志。

日志标签:

  • 在每个输入源的 tags
    配置中,使用了一组自定义的标签。这些标签通常用于标识日志的来源或类型。在这个配置中,每个输入源都定义了自己的标签,以便后续根据标签将日志发送到不同的索引中。

Elasticsearch 输出

  • 在 output.elasticsearch 部分指定了 Elasticsearch
    的地址和认证信息,并配置了索引的模板。根据不同的标签,将日志发送到不同的索引中。在这个配置中,根据标签 “boot” 将 Spring
    Boot Admin 的日志发送到名为 spring-boot-admin-%{+yyyy.MM} 的索引中,根据标签 “live” 将
    Live Admin 的日志发送到名为 live-admin-%{+yyyy.MM} 的索引中。

Elasticsearch 索引设置

  • 在 setup.template.settings 部分配置了 Elasticsearch
    索引的一些设置,包括分片数和副本数。这些设置可以优化 Elasticsearch 索引的性能和可用性。

删除之前的容器:

docker rm -f filebeat

再重启启动:

docker run   --name=filebeat --restart=always \-v /data/elk7/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml \
-v /var/log/springboot/:/var/log/springboot/ \
-v /data/log/live-admin/logs/:/var/log/live-admin/logs/ \
-d  elastic/filebeat:7.5.1

排查问题命令

docker logs filebeat

进入容器:

docker exec -it filebeat /bin/bashdocker exec -it filebeat /bin/sh

nginx的日志采集

如果要采集nginx的日志的话需要设置nginx日志格式

#修改nginx.conf,在http 、https中设置日志格式
#添加 log_format  main 
user  nginx;
worker_processes  auto;error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;worker_rlimit_nofile 10240;
events {worker_connections  10240;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;server_tokens off;proxy_hide_header X-Powered-By;proxy_hide_header Server;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;#tcp_nopush     on;proxy_connect_timeout     30000;keepalive_timeout  30000;client_max_body_size 100m;client_header_buffer_size 512k;large_client_header_buffers 4 512k;#gzip  on;include /etc/nginx/conf.d/*.conf;
}

在**filebeat.inputs:**新增一个log

- type: logenabled: truepaths:- /var/log/nginx/access.logfields:AppId: "nginx"ENV: "DEV"fields_under_root: truetags: ["ip","nginx"]json.keys_under_root: true

在**indices:**下新增一个index

 - index: "nginx-%{+yyyy.MM}"when.contains:tags: "nginx"

设置命令行中执行 Nginx 相关的命令时不输入完整路径

export PATH=/usr/sbin:/usr/local/nginx/sbin:$PATH
  • /usr/sbin 目录通常包含系统管理和维护的命令,例如一些系统管理工具和服务程序的启动脚本等。
  • /usr/local/nginx/sbin 目录包含了 Nginx 服务器的可执行文件,包括启动 Nginx 的命令 nginx。

通过将这两个目录添加到 PATH 中,可以方便地在命令行中直接执行 nginx 命令来启动或管理 Nginx 服务器,而不必输入完整的路径。

再次删除容器重新启动,把nginx日志也挂在上去

docker run  --name=filebeat --restart=always \
-v /data/elk7/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml \
-v /var/log/springboot/:/var/log/springboot/ \
-v /data/log/live-admin/logs/:/var/log/live-admin/logs/ \
-v /var/log/nginx/:/var/log/nginx/ \
-d  elastic/filebeat:7.5.1

相关文章:

应用日志集成到ElasticSearch

1、阿里云sls平台集成日志 阿里sls集成日志步骤 2、filebeat 收集到指定es 安装docker容器 Docker安装 拉取镜像: docker pull elastic/filebeat:7.5.1启动: docker run -d --namefilebeat elastic/filebeat:7.5.1拷贝容器中的数据文件到宿主机&a…...

MySQL多表联查函数

1 多表联查 1.1 表之间的关系 表和表的关系有: 一对一 老公 --> 老婆 , 人 ---> 身份证/户口本 一对多 皇帝 --> 妻妾 , 人 ---> 房/车 多对多 订单 --> 商品 1.2 合并结果集 合并结果集,是将多表查询的结果纵向合并 语法: select field1,field2 from t1 un…...

JAVAEE—实现多线程版本的定时器

文章目录 什么是定时器定时器的概念定时器的简单应用和介绍代码示例 定时器的代码解析定时器在执行任务的时候是创建了一个线程去执行吗?为什么叫做扫描线程呢?执行完任务之后代码就暂停了不自动结束吗? 手撕定时器demo相对时间与绝对时间Myt…...

KY228 找位置(用Java实现)

描述 对给定的一个字符串,找出有重复的字符,并给出其位置,如:abcaaAB12ab12 输出:a,1;a,4;a,5;a,10,b,2&…...

物联网边缘网关有哪些优势?-天拓四方

随着物联网技术的快速发展,越来越多的设备接入网络,数据交互日益频繁,对数据处理和传输的要求也越来越高。在这样的背景下,物联网边缘网关应运而生,以其低延迟、减少带宽消耗、提高数据质量和安全性等优势,…...

【C++】6-2 交换函数2 分数 10

6-2 交换函数2 分数 10 全屏浏览 切换布局 作者 刘利 单位 惠州学院 根据题目需求&#xff0c;编写一个交换函数Swap。 裁判测试程序样例&#xff1a; #include <iostream> using namespace std; class pen{private:string brand;string color;double price;publi…...

kafka 01

01....

Linux离线安装Docker-Oracle_11g

拉取oracle11g镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g创建11g容器 docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g查看容器是否创建成功 docker ps -a导出oracle容器&#xff0c;查看…...

web前端3.19

一、属性选择器与伪类选择器 属性选择器&#xff1a;匹配那些具有特定属性或属性值的元素 <style>/* */input[type"password"] {background-color: aqua;}/* 具有某个属性的指定标签 */div[title] {background-color: pink;}/* 属性的值中包含某个值 */inpu…...

Rust 函数体内能定义数据类型或者做其他什么事情吗?

一、可以在函数体内定义数据类型吗&#xff1f; 在 Rust 中&#xff0c;你不能直接在函数体内定义新的数据类型&#xff08;如结构体或枚举&#xff09;。数据类型必须在模块或块的作用域内定义&#xff0c;这通常是在函数外部。然而&#xff0c;你可以在函数体内定义新的类型…...

flask_restful结合蓝图使用

在蓝图中&#xff0c;如果使用 Flask_RESTful &#xff0c; 创建 Api 对象的时候&#xff0c;传入蓝图对象即可&#xff0c;不再是传入 app 对象 /user/__init__.py from flask.blueprints import Blueprintuser_bp Blueprint(user,__name__)from user import views /user…...

干货分享之反射笔记

入门级笔记-反射 一、利用反射破泛型集合二、Student类三、获取构造器的演示和使用1.getConstructors只能获取当前运行时类的被public修饰的构造器2.getDeclaredConstructors:获取运行时类的全部修饰符的构造器3.获取指定的构造器3.1得到空构造器3.2得到两个参数的有参构造器&a…...

使用小皮【phpstudy】运行Vue+MySql项目

现在的情况是我扒到了一个开源的项目&#xff0c;现在想要实现一下前端对应的功能&#xff0c;后端是完备的&#xff0c;但是需要调用数据库将数据跑起来&#xff0c;这里可以使用到MySql数据库&#xff0c;这里我还发现了一个比较好用的软件小皮【phpStudy】 官网 一 安装软件…...

局部静态变量实现单例模式,线程安全(推荐使用)c++11

class Singleton{ public:~Singleton();static Singleton& getInstance(){static Singleton instance;return instance; } private:Singleton(); };原因是C 11标准中新增了一个特性叫Magic Static&#xff1a;如果变量在初始化时&#xff0c;并发线程同时进入到static声明语…...

Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)

目录 前言&#xff1a; 一、决策树思想 二、经典决策树算法 三、算法应用案列 基于Python 和 Scikit-learn 库实现决策树算法的简单示例代码&#xff0c;用于解决分类问题&#xff1a; ​四、总结 算法 决策树算法应用&#xff1a; 决策树算法优缺点&#xff1a; 博主介绍&…...

Mybatis-Plus——09,代码自动生成器

代码自动生成器 一、先创建一个表二、创建一个类&#xff0c;配置代码生成器三、运行方法四、运行主方法&#xff0c;报错了。 一、先创建一个表 二、创建一个类&#xff0c;配置代码生成器 package com.gang;import com.baomidou.mybatisplus.annotation.DbType; import com.…...

Temu api接口 获取商品详情 数据采集

iDataRiver平台 https://www.idatariver.com/zh-cn/ 提供开箱即用的Temu电商数据采集API&#xff0c;供用户按需调用。 接口使用详情请参考Temu接口文档 接口列表 1. 获取商品详情 参数类型是否必填默认值示例值描述apikeystring是idr_***从控制台里复制apikeycountrystrin…...

安捷伦Agilent N1912A功率计

181/2461/8938产品概述&#xff1a; Keysight(原Agilent) N1912A P系列双通道功率计可提供峰值、峰均比、平均功率、上升时间、下降时间、最大功率值、最小功率值以及宽带信号的统计数据。 Keysight(原Agilent) N1912A P系列双通道功率计, 可提供峰值、峰均比、平均功率、上升…...

ES 进阶知识

索引Index 一个索引就是一个拥有几分相似特征的文档的集合。比如说&#xff0c;你可以有一个客户数据的索引&#xff0c;另一个产品目录的索引&#xff0c;还有一个订单数据的索引。一个索引由一个名字来标识&#xff08;必须全部是小写字母&#xff09;&#xff0c;并且当我们…...

ChatGPT 对 ELT的理解

本文主要内容来自 ChatGPT 4.0 到底什么是 ETL&#xff1f;在数据库内部&#xff0c;把数据从 ODS 层加工成 DWD&#xff0c;再加工成 DWS&#xff0c;这个过程和 ETL 的关系是什么&#xff1f;带着这些问题&#xff0c;我问了一下 ChatGPT&#xff0c;总结如下。 数据在两个数…...

5分钟上手Godot 4.0地形系统:用AutoTile实现像素风草地自动拼接(含Layer新功能演示)

5分钟掌握Godot 4.0地形系统&#xff1a;用AutoTile实现像素风无缝拼接 在像素风格游戏开发中&#xff0c;地形拼接一直是让开发者头疼的问题——如何让草地、石块、沙土等元素自然过渡&#xff1f;传统方案往往需要手动放置大量图块或编写复杂逻辑。Godot 4.0的TileMap系统带来…...

超高压输电线路空载运行时的电压升高现象解析

1. 为什么空载时线路末端电压会升高&#xff1f; 第一次接触超高压输电线路时&#xff0c;很多工程师都会对这个现象感到困惑&#xff1a;明明没有接任何用电设备&#xff0c;为什么线路末端的电压反而比始端更高&#xff1f;这就像往一根长长的水管里注水&#xff0c;结果发现…...

技术解码:ViGEmBus虚拟手柄驱动框架 - 重新定义Windows输入设备模拟的底层架构

技术解码&#xff1a;ViGEmBus虚拟手柄驱动框架 - 重新定义Windows输入设备模拟的底层架构 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus是一款基…...

Qwen3.5-9B-AWQ-4bitWeb界面使用教程:上传/提问/防重复提交/结果解析全流程

Qwen3.5-9B-AWQ-4bit Web界面使用教程&#xff1a;上传/提问/防重复提交/结果解析全流程 1. 认识Qwen3.5-9B-AWQ-4bit模型 Qwen3.5-9B-AWQ-4bit是一个强大的多模态AI模型&#xff0c;它能够同时理解图片和文字。想象一下&#xff0c;你有一个既会看图片又会回答问题的智能助手…...

Llama-3.2V-11B-cot实战:基于SpringBoot构建企业级智能客服原型

Llama-3.2V-11B-cot实战&#xff1a;基于SpringBoot构建企业级智能客服原型 最近在帮一个朋友的公司做技术选型&#xff0c;他们想快速搭建一个智能客服原型&#xff0c;既要成本可控&#xff0c;又要能快速集成到现有的Java技术栈里。聊了一圈&#xff0c;发现很多团队都卡在…...

【建议收藏】彻底剥离“机器味”:2026硬核横评10款降AI神器,实录97.98%极限降至7.46%

现在的知网、维普AIGC检测已经不同往日了&#xff0c;哪怕你逐字手打&#xff0c;只要句式稍显机械&#xff0c;系统就会判定疑似AI生成。很多同学为了降低ai率&#xff0c;把论文改成了毫无逻辑的口水话&#xff0c;结果AI率反而炸了。 别再盲目试错&#xff0c;为了帮大家在…...

深入浅出Livepatch:从kprobe到ftrace的Linux热补丁实现原理

深入浅出Livepatch&#xff1a;从kprobe到ftrace的Linux热补丁实现原理 当你的生产环境服务器正在处理每秒数万次请求时&#xff0c;突然发现一个关键内核漏洞需要立即修复&#xff0c;传统方式要求重启系统——这无异于在高速公路上急刹车。Livepatch技术应运而生&#xff0c;…...

Wi-Fi 6高密度网络优化:实战漫游与性能提升

Wi-Fi 6高密度网络优化&#xff1a;实战漫游与性能提升在诸如大型企业园区、高流量高校、人流密集的会展中心等高密度用户环境中&#xff0c;传统Wi-Fi网络面临着严峻的无线接入挑战。Wi-Fi 6 (802.11ax) 标准以更高的频谱效率、更低的延迟和卓越的设备并发能力&#xff0c;为解…...

MemMA:多智能体驱动的记忆自进化框架

&#x1f4cc; 一句话总结&#xff1a; 本工作提出 MemMA&#xff0c;一个通过多智能体协同与自进化机制统一优化“记忆构建-检索-利用”循环的框架&#xff0c;显著提升长程记忆推理能力。 &#x1f50d; 背景问题&#xff1a; 当前 memory-augmented LLM agent 存在两个核…...

BEYOND REALITY Z-Image新手入门:三步生成你的第一张8K写真人像

BEYOND REALITY Z-Image新手入门&#xff1a;三步生成你的第一张8K写真人像 1. 为什么选择BEYOND REALITY Z-Image&#xff1f; 在当前的AI图像生成领域&#xff0c;写实人像一直是最具挑战性的任务之一。传统模型往往难以平衡细节精度与自然感&#xff0c;生成的图片要么过于…...