为什么要做NGINX日志分析看板

Grafana官网的dashboards有NGINX日志采集到ES数据源的展示看板,也有采集到LOKI数据源的展示看板,唯独没有采集到ClickHouse数据源的展示看板。所以这个轮子是必须要造的。

为什么不使用ES存储

ElasticSearch是全文检索引擎的文档数据库,对于业务日志、异常日志、多行日志这类,非结构化、半结构化的日志数据,经常需要做关键字查询,模糊匹配等操作,非常适合使用es,使用倒排索引实现快速全文搜索。

ClickHouse是一个列式存储数据库,尤其擅长处理结构化的大规模的SQL查询和聚合分析操作,所以针对NGINX这类结构化的请求日志,在处理多维分析、聚合查询、分组统计等操作速度极快,并且压缩比极高,存储成本比ES低10倍,CPU、内存的占用也有巨大优势。

NGINX日志采集架构

  • 基础架构

  • 完整架构

Grafana请求日志分析看板预览

该看板是基于 ClickHouse + Vector 的NGINX请求日志分析看板。包括请求与耗时分析、异常请求分析、用户分析、地理位置分布图、指定接口分析、请求日志明细。

尤其在异常请求分析方面,总结多年异常请求分析经验,从各个角度设计大量异常请求的分析图表。

  • 整体请求与耗时分析

  • NGINX异常请求分析

  • 用户请求数据分析

  • 地理位置数据分析

  • 指定接口明细分析

  • 请求日志详情分析

导入NGINX请求日志分析的Grafana看板

Grafana看板ID:22037

下载地址:

https://grafana.com/grafana/dashboards/22037

注意:

  • 在Grafana中增加ClickHouse数据源时,注意点开Additional settings右边的箭头,配置Default database为存放日志的默认库,如上的:nginxlogs。
  • 如果你保存日志的表名不是access结尾的,项目菜单会没有数据,需要点击看板右上角的设置-变量-project,在下方的Regex项,输入你需要展示的日志表的正则,或者留空,展示默认库的所有表。

你还用ES存请求日志?ClickHouse+Vector打造最强Grafana日志分析看板的更多相关文章

  1. 扔掉log4j、log4j2,自己动手实现一个多功能日志记录框架,包含文件,数据库日志写入,实测5W+/秒日志文件写入,2W+/秒数据库日志写入,虽然它现在还没有logback那么强大

    讲到log4j,现在国外基本是没有开发者用这个框架了,原因大致有几点,1.功能太少:2.效率低下:3.线程锁bug等等等各种莫名其妙的bug一直都没解决. 其实最重要的是log4j的作者自己也放弃了l ...

  2. asp.net core使用serilog将日志推送到腾讯云日志服务

    为什么是serilog? Serilog是 .NET 中最著名的结构化日志类库. 基于日志事件log events,而不是日志消息log message. 你可以将日志事件格式化为控制台的可读文本或者 ...

  3. Nginx 訪问日志增长暴增出现尖刀的具体分析

    前言:          Nginx日志里面Mobileweb_access.log增长特别大.一天上百兆.将近100W的訪问记录.依照我们眼下的规模,热点用户才500个左右.就算人人用手机app訪问 ...

  4. springboot的日志框架slf4j (使用logback输出日志以及使用)

    1.为什么使用logback? ——在开发中不建议使用System.out因为大量的使用会增加资源的消耗.因为使用System.out是在当前线程执行的,写入文件也是写入完毕之后才继续执行下面的程序. ...

  5. 五年Java经验,面试还是说不出日志该怎么写更好?——日志规范与最佳实践篇

    本文是一个系列,欢迎关注 查看上一篇文章可以扫描文章下方的二维码,点击往期回顾-日志系列即可查看所有相关文章 概览 上一篇我们讨论了为什么要使用日志框架,这次我们深入问题的根源,为什么我们需要日志? ...

  6. 日志框架之2 slf4j+logback实现日志架构 · 远观钱途

    如何从缤纷复杂的日志系统世界筛选出适合自己的日志框架以及slf4j+logback的组合美妙之处?此文可能有帮助 logback介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网 ...

  7. .NET Core下的日志(3):如何将日志消息输出到控制台上

    当我们利用LoggerFactory创建一个Logger对象并利用它来实现日志记录,这个过程会产生一个日志消息,日志消息的流向取决于注册到LoggerFactory之上的LoggerProvider. ...

  8. java 日志体系(四)log4j 源码分析

    java 日志体系(四)log4j 源码分析 logback.log4j2.jul 都是在 log4j 的基础上扩展的,其实现的逻辑都差不多,下面以 log4j 为例剖析一下日志框架的基本组件. 一. ...

  9. Shell 从日志文件中选择时间段内的日志输出到另一个文件

    Shell 从日志文件中选择时间段内的日志输出到另一个文件 情况是这样的,某系统的日志全部写在一个日志文件内,所以这个文件非常大,非常长,每次查阅的时候非常的不方便.所以,相关人员希望能够查询某个时间 ...

  10. 浅谈SQL Server中的事务日志(四)----在完整恢复模式下日志的角色

    简介 生产环境下的数据是如果可以写在资产负债表上的话,我想这个资产所占的数额一定不会小.而墨菲定律(事情如果有变坏的可能,无论这种可能性有多小,它总会发生)仿佛是给DBA量身定做的.在上篇文章介绍的简 ...

随机推荐

  1. sqlserver 索引优化 CPU占用过高 执行分析 服务器检查[转]

    SELECT TOP 10 [Total Cost] = ROUND(avg_total_user_cost * avg_user_impact * (user_seeks + user_scans) ...

  2. C# ?. 判斷Null值

    有一句代碼: @Html.DisplayFor(modelItem => item.SellDate, "RegularDate") RegularDate.cshtml 內 ...

  3. kafka 运维

    查看kafka topic列表 #集群需要先执行unset JMX_PORT ./kafka-topics.sh --zookeeper gitee-zookeeper:2181 --list 查看t ...

  4. CSS2基础(part-1)

    CSS2基础 基础 简介 [全称]Cascading Style Sheets,又名层叠样式表 层叠:一层一层涂上去 表:列表 样式:如文字大小,颜色,元素宽高等. CSS 描述了在屏幕.纸质.音频等 ...

  5. JavaScript设计模式样例九 —— 桥接模式

    桥接模式(Bridge Pattern) 定义:是用于把抽象化与实现化解耦,使得二者可以独立变化. 目的:将抽象部分与实现部分分离,使它们都可以独立的变化. 场景:实现系统可能有多个角度分类,每一种角 ...

  6. 使用 setenv 配置文件管理 Tomcat 的自定义环境变量

    1.背景描述 有时候,我们会在 catalina.bat 或 catalina.sh 文件中,自定义一些环境变量,例如额外指定 JDK 路径或设置 JVM 参数. 实际上,直接在 catalina.b ...

  7. 6.24Win&linux&分析后门 勒索病毒分析

    操作系统应急响应 1.常见危害 暴力破解.漏洞利用.流量攻击(危害不确定) 木马控制(Webshell.PC木马等),病毒感染(挖矿.蠕虫.勒索等) 2.常见分析 计算机用户.端口.进程.启动项.计划 ...

  8. Linux 终端运行命令时出现多行带有加号的信息(详见文章内容)

    ++_vte_ prompt_ command +++ HISTTIMEFORMAT= +++ history 1 +++ sed 's/^ *[0-9] \+ *//' ++ local ' com ...

  9. AI 视觉的应用|ZegoAvatar ⾯部表情随动技术解析

    ​ 一.AI"卷"进实时互动 2021年,元宇宙概念席卷全球,国内各大厂加速赛道布局,通过元宇宙为不同的应用场景的相关内容生态进行赋能.针对"身份"." ...

  10. ZEGO 最后一公里网络传输的容灾及优化方案

    作为运维,你是否遇到过一些用户域名解析异常,你是否又遇到过某些区域云商加速节点异常导致业务不可用,此时的你一脸茫然,不知所措?作为运维,你是否被最后一公里问题搞得焦头烂额? 那么今天我们就来探讨一下最 ...