帮助做问卷调查的网站/seo网络推广有哪些

帮助做问卷调查的网站,seo网络推广有哪些,长春做网站哪家便宜,wordpress视频排版防止ES的的I/O的压力过大,使用redis/kafka进行缓冲。 对redis的要求 Redis input plugin | Logstash Reference [8.17] | Elastic 一般企业要求的架构 我实现的架构 filebeat把数据传给logstash 配置好filebeat把收集到的数据输入到redis 然后执行命令&#xff0…

防止ES的的I/O的压力过大,使用redis/kafka进行缓冲。

对redis的要求

Redis input plugin | Logstash Reference [8.17] | Elastic

一般企业要求的架构

我实现的架构

filebeat把数据传给logstash

配置好filebeat把收集到的数据输入到redis

然后执行命令,filebeat就开始往redis中写数据

cd /etc/filebeat

/usr/share/filebeat/bin/filebeat -e -c filebeat.yml   

logstash配置,从redis中读数据输出到elasticsearch

当我使用filebeat收集数据,传到redis,然后logstash从redis读取数据的时候有一个大问题就是

filebeat收集的是json格式的nginx访问日志,它被filebeat收集到redis的时候,会对这个收集的日志和与日志相关的元数据进行封装然后输出到redis。等logstash从redis里面取出来的时候,得到的数据是 收集的日志(message)  和 元数据字段的集合。

(就变成了一个字段message,其他都是没用的元数据字段。)

我收集的nginx日志格式

要解决的问题

1.json格式的日志数据message未正确解析

这是在filebeat直接向logstash传送数据的时候发送的错误,因为传送过去的数据没有设置正确的字符集,导致收集到的日志乱码

kibana显示

改正后基本上就没有乱码格式了,一个event是一条日志

2.删除无用的元数据字段

Filebeat直接连接logtsash的时候,filebeat通过output.logstash发送数据,默认不会添加完整元数据,输出到redis的时候,filebeat使用output.redis将日志包装成完整事件结构,包含所有的元数据。

Redis 作为缓冲队列:数据存储到 Redis 时,Filebeat 会保留完整的 Beat 事件结构(包括 @metadatahostagent 等)。

所以当logstash从redis取日志数据的时候,会收集无用的元数据(只有message是收集的访问日志),我们要把无用的元数据过滤掉

然后会得到一整个大的message字段

3.过滤出日志里面的单个信息

所以删除无用的元数据之后如果我们不仅想得到访问日志,还想得到访问日志里面得具体数据,使用这个具体数据进行画图等等(比如我们想得到remote_addr字段,就需要对message进行解析)

input {redis {host       => "10.8.0.23"port       => 6379password   => "Pu@1uC2016"db         => 0data_type  => "list"key        => "nginx-accesslog"codec      => json  # 自动解析外层 JSON}
}
#nginx的原始的json格式的数据是这样的
#{"time_local":"2025-03-28T05:55:57+08:00","remote_addr":"45.90.163.37","remote_user":"","request":"PUT /v1/agent/service/register
#HTTP/1.1","status":"400","body_bytes_sent":"173","request_time":"0.263","http_referer":"","http_user_agent":"","http_x_forwarded_for":"",
#"upstream_addr":"","upstream_response_time":""}#但是message里面的数据是这样的,我们要把message中的数据转化为json格式,然后json过滤才能把字段(比如ip)过滤出来,然后可以对数据做图形分析
# "message" => "{\"time_local\":\"2025-03-28T18:12:23+08:00\",\"remote_addr\":\"10.8.0.23\",\"request\":\"HEAD / HTTP/1.1\",\"status\":\"200\",
#\"body_bytes_sent\":\"0\",\"request_time\":\"0.000\",\"http_referer\":\"\",\"http_user_agent\":\"curl/7.61.1\",}"#要把下面转化为上面的这样的json格式(上面是标准的json格式),filter里面的json工具才能把message这个大字段里面的小字段取出来
filter {# ========== 第一步:处理 message 字段中的内层 JSON ==========mutate {                                          gsub => ["message", "\\\"", "\""     # 将 \" 替换为普通引号] }mutate {# 删除末尾多余逗号(如 ",}" → "}")gsub => ["message", ",}", "}","message", ",]", "]"]}# 解析 message 字段中的业务日志   这个json过滤,它只作用于json格式的数据json {source => "message"target => "nginx_log"  # 解析结果存入 nginx_log 子对象remove_field => ["message"]tag_on_failure => ["_json_parse_failure"]  # 标记解析失败的日志}# ========== 第二步:提升业务字段到根层级 ==========mutate {rename => {"[nginx_log][time_local]"          => "time_local""[nginx_log][remote_addr]"         => "remote_addr""[nginx_log][request]"             => "request""[nginx_log][status]"              => "status""[nginx_log][body_bytes_sent]"     => "body_bytes_sent""[nginx_log][http_referer]"        => "http_referer""[nginx_log][http_user_agent]"     => "http_user_agent"}}#把一些无用的元数据过滤掉不要# ========== 第三步:清理所有元数据字段 ==========mutate {remove_field => ["host", "agent", "ecs", "log", "input", "fields","@version", "event", "nginx_log"]}# ========== 第四步:修正时间戳 ==========date {match  => [ "time_local", "ISO8601" ]target => "@timestamp"  # 覆盖默认时间戳}
}
output {elasticsearch {hosts  => ["https://10.8.0.23:9200"]index  => "dami-logs-%{+YYYY.MM.dd}"user   => "elastic"password => "sxm@325468"ssl => truecacert => "/logstash/http_ca.crt"    }# 调试时开启 stdout,查看完整字段stdout {codec => rubydebug {metadata => true  # 显示元数据(确认字段结构)}}
}

最后可以得到message里面的单个小字段信息,以前只能在message中进行查看,不能对数据进行分析和画图,现在可以了

filter过滤器的其他用法

Filter plugins | Logstash Reference [8.17] | Elastic

1.grok  

也可以康康这个人的文章

logstash过滤器插件filter详解及实例 - 峰哥ge - 博客园

官方文档

Grok filter plugin | Logstash Reference [8.17] | Elastic

grok %{语法:语义}  

#语法在配置文件里已经定义好了 

#语义是自己定义的,表示要将获得的字段放在哪个key里,例如下面ip就是key值,取出的字段值是value

match => {"message" => "%{IPV4:ip}"}    #message是收集到的每一条数据

/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-patterns-core-4.3.4/patterns/ecs-v1/grok-patterns   #语法在配置文件里已经定义好了 

match => {"message" => "%{IPV4:ip}"}    #message是收集到的每一条数据

match => {"message" => "%{@HTTPDATE:time}"}    #

match => {"message" => "%{LOGLEVEL:level}"}       #

2.groip 通过ip定位物理位置

Geoip 过滤器插件 |Logstash 参考 [8.17] |弹性的

logstash上要安装这个数据库(要先注册才能看)

Download GeoIP Databases | MaxMind

我的geoip配置写错了但是我懒得改了,我的阿里云服务器要释放了。

logstash收集到的数据还可以存放到数据库中,然后可以自己公司开发一个前端工具连接到数据库进行数据分析

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

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

相关文章

MAXKB部署,使用和注意事项

MaxKB Max Knowledge Base,是一款基于大语言模型和 RAG 的开源知识库问答系统,广泛应用于智能客服、企业内部知识库、学术研究与教育等场景。作为一款专注于知识库问答场景的软件产品,MaxKB 能够为企业的智能化进程注入新的动力,…

docker - compose up - d`命令解释,重复运行会覆盖原有容器吗

docker - compose up - d`命令解释,重复运行会覆盖原有容器吗 docker - compose up - d 是一个用于管理 Docker 容器的命令,具体含义如下: 命令含义: up:用于创建、启动并运行容器,会根据 docker - compose.yml 文件中定义的服务配置来操作。-d:表示以“分离模式”(det…

03-SpringBoot3入门-配置文件(自定义配置及读取)

1、自定义配置 # 自定义配置 zbj:user:username: rootpassword: 123456# 自定义集合gfs:- a- b- c2、读取 1)User类 package com.sgu.pojo;import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.spring…

进程状态:Linux的幕后指挥管理,穿越操作系统进程的静与动

文章目录 引言:进程的生命与状态:动与静的交响曲一、操作系统中的进程状态概述1.1 经典的进程状态模型1.2 进程状态转换图 二、Linux操作系统中的进程状态2.1 Linux进程状态的分类2.2 各状态的详细解释 2.3 Linux进程状态表2.4 使用ps查看进程状态三、进…

MOSN(Modular Open Smart Network)-05-MOSN 平滑升级原理解析

前言 大家好,我是老马。 sofastack 其实出来很久了,第一次应该是在 2022 年左右开始关注,但是一直没有深入研究。 最近想学习一下 SOFA 对于生态的设计和思考。 sofaboot 系列 SOFAStack-00-sofa 技术栈概览 MOSN(Modular O…

构建高可用性西门子Camstar服务守护者:异常监控与自愈实践

在智能制造领域,西门子Camstar作为领先的MES系统承载着关键生产业务。但在实际运维中,我们发现其服务常因数据库负载激增(如SQL阻塞链超时)或应用服务器资源耗尽(CPU峰值达90%以上)导致服务不可用。传统人工干预方式平均故障恢复时间长达47分钟,这对连续生产场景构成了严…

arm之s3c2440的I2C的用法

基础概念 IC(Inter-Integrated Circuit)又称I2C,是是IICBus简称,所以中文应该叫集成电路总线。 IIC的总线的使用场景,所有挂载在IIC总线上的设备都有两根信号线,一根是数据线SDA,另一 根是时钟…

STM32F103_LL库+寄存器学习笔记10 - DMA传输过半+DMA传输完成中断实现DMA串口接收“双缓冲“

导言 《[[STM32F103_LL库寄存器学习笔记09 - DMA串口接收与DMA串口发送,串口接收空闲中断]]》上一章节完成DMA发送与接收。此时,有一个致命的问题可能会导致数据包丢失。原因是USART1接收只开启了接收空闲中断(IDLE),DMA在连续模式下&#xf…

李宏毅机器学习笔记06 | 鱼和熊掌可以兼得的机器学习 - 内容接宝可梦

本章提要 深度学习可以在较少参数量的情况下得到比较低的loss: h a l l a r g min ⁡ h ∈ H L ( h , D a l l ) h^{all}arg \min_{h \in H}L(h,D_{all}) hallargminh∈H​L(h,Dall​) 引入 如何权衡模型的复杂程度 Tradeoff of Model Complexity 理论上&#…

海康gdb流程

gdb相关 在initrun.sh文件里加入,注意需要在hikauto起来之前 # 设置core dump大小 ulimit -c unlimited if [ $? -eq 0 ];then echo "core dump size set success" else echo -e "\33[31m core dump size set fail\33[0m" fi echo …

springBoot统一响应类型3.3版本

前言: 通过实践而发现真理,又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识,又从理性认识而能动地指导革命实践,改造主观世界和客观世界。实践、认识、再实践、再认识,这种形式,循环往…

基于Linux下的MyBash命令解释器

项目介绍:⼀个⽤C语⾔实现的简单shell,可以接受⽤⼾输⼊的命令并执⾏操作,⽀持多管道和重 定向。 mybash---打造自己的命令解释器 目前我们Linux的系统默认的命令解释器是bash; 命令解释器(也称为命令行解释器或shell&#xff0…

Ingredient-oriented Multi-Degradation Learning for Image Restoration论文阅读

摘要:重点在于关联多个任务本质的联系。 不同恢复任务的关联性很重要。 揭示退化现象的内在机理联系很有意义。 多合一的方法能在单一模型中处理多种退化问题,可扩展性较差。 成分导向范式挖掘不同图像退化现象背后的物理规律或特征模式。 成分导向退化重…

禅道后台命令执行漏洞

漏洞简介 禅道是第一款国产的开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、 组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整地覆盖了项目管理的核心流程。 禅道管理思想注重实效,功能完备丰富,…

密码学——知识问答

目录 1、阐述公开密钥算法的定义,结合RSA算法说明公钥密码的基本要求。 说明公钥与私钥两种密码学并举例与其应用 1. 公钥密码学(非对称加密): 2. 私钥密码学(对称加密): 对比公钥与私钥密码…

海思烧录工具HITool电视盒子刷机详解

HiTool是华为开发的一款用于海思芯片设备的刷机和调试工具,可对搭载海思芯片的机顶盒、智能电视等设备进行固件烧录、参数配置等操作。以下为你详细介绍: 功能用途 固件烧录:这是HiTool最主要的功能之一。它能够将下载好的适配固件文件烧录到…

软考中级-软件设计师 23种设计模式(内含详细解析)

23种设计模式 🎯 创建型设计模式📌 抽象工厂(Abstract Factory) 设计模式📌 工厂方法(Factory Method)设计模式📌 单例(Singleton)设计模式📌 生成…

软考笔记5——软件工程基础知识

第五章节——软件工程基础知识 软件工程基础知识 第五章节——软件工程基础知识一、软件工程概述1. 计算机软件2. 软件工程基本原理3. 软件生命周期4. 软件过程 二、软件过程模型1. 瀑布模型2. 增量模型3. 演化模型(原型模型、螺旋模型)4. 喷泉模型5. 基于构建的开发…

Git入门——常用指令汇总

以下是一份精心整理的 Git常用指令速查表,基本覆盖日常开发使用场景,建议收藏备用👇 🔧 环境配置 指令作用git config --global user.name "你的名字"设置全局用户名git config --global user.email "你的邮箱&qu…

常见中间件漏洞攻略-Jboss篇

一、CVE-2015-7501-Jboss JMXInvokerServlet 反序列化漏洞 第一步:开启靶场 第二步:访问该接口,发现直接下载,说明接⼝开放,此接⼝存在反序列化漏洞 http://47.103.81.25:8080/invoker/JMXInvokerServlet 第三步&…