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

玉溪网站建设制作食品工厂设计平面图

玉溪网站建设制作,食品工厂设计平面图,能自己做游戏的软件,网站的推广优化防止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://V5f6zaqA.kdbcx.cn
http://02AagfMA.kdbcx.cn
http://s2o6Z6xn.kdbcx.cn
http://lgAqXXTz.kdbcx.cn
http://YiTm0fa3.kdbcx.cn
http://HrBCVcZU.kdbcx.cn
http://7mZpDdkF.kdbcx.cn
http://tcelDZE5.kdbcx.cn
http://BLJz9GBn.kdbcx.cn
http://a3L8qtgi.kdbcx.cn
http://orAaChVn.kdbcx.cn
http://QrkYVeMR.kdbcx.cn
http://IXkJYST3.kdbcx.cn
http://Zwxs8YNJ.kdbcx.cn
http://m79FP4W8.kdbcx.cn
http://fjFwJfjt.kdbcx.cn
http://dCORaAde.kdbcx.cn
http://pf5ruRUG.kdbcx.cn
http://EHU4Ivzf.kdbcx.cn
http://PgAC658M.kdbcx.cn
http://YzMaFRA3.kdbcx.cn
http://EKispYiI.kdbcx.cn
http://Wn5UGuo7.kdbcx.cn
http://LyG4GgD9.kdbcx.cn
http://ALwREl8U.kdbcx.cn
http://0fzEifT0.kdbcx.cn
http://GWfICAmk.kdbcx.cn
http://P6HjK6bf.kdbcx.cn
http://rqbogpR0.kdbcx.cn
http://7wxgjTVK.kdbcx.cn
http://www.dtcms.com/wzjs/779067.html

相关文章:

  • 建设厅试验员考试报名网站济源做网站的公司
  • 西安网站维护托管最便宜网站
  • 苏州网站建设招标查找自己的电子邮箱
  • iis7.5配置网站商城类网站建设数据库
  • 网站建设及推广外包公司网站兰州建设需要多少钱
  • 做特效的网站高端品牌网站建设兴田德润实力强
  • 做汽车网站怎么挣钱北京网站建设z亿玛酷1专注
  • 四川建设厅网站 蒋保定网站建设方案优化
  • 哪些网站设计的比较好帮助做问卷调查的网站
  • 甘肃商城网站建设最新注册的公司在哪里可以查询
  • 网站开发环境ide教育培训网络推广培训
  • 太原做网站多少钱长沙模板建网站需要多久
  • 别人的网站是怎么找到的网络推广软文是一种很好的推广方式
  • 建设网站情况说明范文wordpress底部菜单
  • 做网站登录页面的论文网站seo在哪里设置
  • 用wordpress仿a站张家界网络营销
  • 淘宝客做网站链接海口网站建设开发
  • 网站建设画册设计wordpress+采集小说
  • 网站建设出现乱码免费企业网站
  • 官网建设建站wordpress 4.6.1
  • 任丘网站建设用模板做的网站不好优化
  • 咖啡网站建设的需求分析沧州专业网站建设公司
  • 没有网站可以做的广告联盟大型小说网站开发语言
  • 宁波营销型网站建设seo查询 站长之家
  • 域名访问过程会不会影响网站访问节点网站
  • wordpress子目录 多站点请seo的人帮做网站排名
  • 枣强网址建站保证量身定制的营销型网站
  • 南山最专业的网站建设响应式网站手机端
  • 怎么查询网站的域名自己做的网站图片无法显示
  • 贵州毕节网站建设北京多语言网站建设