今日PV

nginx日志查看今日的PV和昨日的对比,先通过count函数计算总的pv,再用compare函数得出今日的pv和昨日的同比。

通过单值图进行展示,显示值为20.381Mil,对比值为-2%

 *   |
select
diff [] as today,
round((diff [] -1.0) * 100, 2) as growth
FROM
(
SELECT
compare(pv, 86400) as diff
FROM
(
SELECT
COUNT( 1 ) AS pv
FROM
log
)
)

pv、uv展示

展示tomcat访问的pv、uv随时间变化的曲线

使用time_series 函数根据日志时间做两分钟对齐,然后对时间聚合计算COUNT即访问数量,使用approx_distinct(remote_addr) 计算 remote_addr去重之后的数量,然后跟据时间排序展示。

图中x轴为时间,y轴表示数量,两条线分别是uv、pv的情况。

 * |
select
time_series(__time__,'2m','%H:%i','') as time,
COUNT(1) as pv,
approx_distinct (remote_addr) as uv
GROUP BY
time
ORDER BY
time
LIMIT
1000

tomcat错误请求占比

先在sql内部获取到请求status超过400的错误请求数量,以及总的请求数量,然后再外部计算比值,

展示时使用单值图中的刻度盘,单位改为 %

 * |
select
round((errorCount * 100.0 / totalCount), 2) as errorRatio
from
(
select
sum(
case
when status >= 400 then 1
else 0
end
) as errorCount,
count(1) as totalCount
from
log
)

付费类型

展示付费类型各自产生的费用,

按时间月和计费方式聚合计算总费用,并按照时间排序,再使用case when为付费方式起中文别名进行展示。

图中使用流图的柱状图展示,聚合列是付费类型,x轴时间,y轴费用。

[     date_format(timestamp , format )   含义:把timestamp 转化成以 format 形式表示         ]

 source  :bill  |
select
date_format(day, '%Y-%m-%d') as day,
total, case
when Item = 'PayAsYouGoBill' then '后付费'
when Item = 'SubscriptionOrder' then '预付费'
when Item = 'Refund' then '退款'
when Item = 'Adjustment' then '调账'
else Item
end as "付费类型"
from(
select
date_trunc('month' , __time__) as day,
sum(PretaxAmount) as total,
Item
from
log
group by
day,
Item
order by
day
)
limit
10000

在线人数

在线人数,内层通过approx_distinct函数获取client_ip唯一数,然后通过compare获取昨天的uv以及昨天的比值。

结果使用单值图中的同比环比图展示,可以同时看到当时的uv及与昨天的比值。

 *  |
select
diff [],
diff [],
round (diff [] - 1,4) * 100
from
(
select
compare(uv, 86400) as diff
from
(
select
approx_distinct() as uv
from
log
)
)

统计具体时间  request_method

用date_trunc 把时间戳转化为时间格式,用map_agg 把时间做为key, 把request_method 作为value,  返回的是json格式

 |
select
map_agg(date_trunc('minute', __time__), request_method) as request_method

请求错误按客户端分布

先通过return_code 进行过滤,return_code大于400表示请求错误。然后通过user_agent 聚合计算请求数,按照请求数量倒叙排列,取前10个。

 return_code > 400 |
select
user_agent as "客户端版本",
count(*) as "错误次数"
group by
user_agent
order by
"错误次数" desc
limit
10

。。。后续继续总结,按每一个可视化来分布

SLS案例中心的更多相关文章

  1. SaltStack 部署案例 02

    远程执行 salt '*' state.sls apache '*':代表所有主机 state.sls :是一个模块 apache : 状态 ,表示需要部署的内容,后缀.sls YAML:三板斧 1. ...

  2. [DeviceOne开发]-轮播图和多模板的简单示例

    一.简介 这个例子是利用Slideview组件实现循环轮播的效果,同时这个slideview作为一个listview的最上面的一行数, 1. listview有2个模板,一个是以slideview为核 ...

  3. 小爬虫。爬取网站多页的通知标题并存取在txt文档里。

    爬取网页中通知标题的内容展示: this is  1  page!<精算学综合>科目考试参考大纲2016年上半年研究生开题报告评议审核结果公示[答辩]2016下半年研究生论文答辩及学位评定 ...

  4. Office 365系列 (1)概览:完整的云中Office

    Office365(以下简称O365)是一个集Office,企业邮箱,日历,日程管理,音视频会议 ,企业网盘 ,企业协作平台为一体的,旨在提高团队办公效率,减少基础设施投资和IT运维压力的解决方案.在 ...

  5. YourPHP笔记

    http://blog.sina.com.cn/s/blog_7c54793101016qq1.htm 基础认识: Ø  yourphp安装为子目录时不可以以"yourphp"为文 ...

  6. Mongodb 5节点异地两中心故障转移恢复测试案例

    Mongodb5节点异地两中心故障转移恢复测试案例 架构方式:5节点,主中心(2数据1仲裁),备中心(1数据1仲裁) 1基本情况 操作系统:Red Hat Enterprise Linux Serve ...

  7. SpringBoot开发案例Nacos配置管理中心

    前言 在开发过程中,通常我们会配置一些参数来实现某些功能,比如是否开启某项服务,告警邮件配置等等.一般会通过硬编码.配置文件或者数据库的形式实现. 那么问题来了,如何更加优雅的实现?欢迎来到 Naco ...

  8. Spring Boot 2.x 基础案例:整合Dubbo 2.7.3+Nacos1.1.3(配置中心)

    本文原创首发于公众号:Java技术干货 1.概述 本文将Nacos作为配置中心,实现配置外部化,动态更新.这样做的优点:不需要重启应用,便可以动态更新应用里的配置信息.在如今流行的微服务应用下,将应用 ...

  9. 数据可视化案例 | 如何打造数据中心APP产品

    意识到数据探索带来的无尽信息,越来越多的企业开始建立自有的数据分析平台,打造数据化产品,实现数据可视化. 在零售商超行业,沃尔玛"啤酒与尿布"的故事已不再是传奇.无论是大数据还是小 ...

随机推荐

  1. let、const、var的区别

    1.使用var声明的变量,其作用域为全局或者该语句所在的函数内,且存在变量提升现象. 下面使用node.js演示,也可以插入到html文件中使用以下代码 var a = 10; function te ...

  2. format 进阶

    '''format(数字,str(算术式)+"d或者f") d 表示 int f 表示 float ''' format(5,str(2*4)+"d") '' ...

  3. 自学java,学多久可以自己找到工作?

    先以肯定的语气说明一下自学Java,多久可以找到工作:   按照目前Java的体系来说,Java的几个重点在于Javase.数据库.Spring全家桶系列的框架.而其他的在Java体系之内,会基础的操 ...

  4. HTML <html> xmlns 属性

    实例 一个简单的 XHTML 文档,带有最少的必需标签: <html xmlns="http://www.w3.org/1999/xhtml"><head> ...

  5. Java和C语言谁是编程语言的老大?

    最近,TIOBE 公布了 2020 年 7 月的编程语言排行榜. 本次排行榜的最大亮点就是:C语言击败Java,稳坐老大宝座! 这两年,编程语言排行榜榜首位置,不是C语言,就是Java. 以下为具体榜 ...

  6. 008_go语言中的Arrays数组

    代码演示 package main import "fmt" func main() { var a [5]int fmt.Println("emp:", a) ...

  7. JS 移动端笔记

    移动端的网页特效     移动端触屏事件概述 触屏touch事件     touchstart 手指触摸到一个DOM元素时触发     touchmove 手指在一个DOM上滑动时触发     tou ...

  8. Java实现获取一个随机的两位数

    import java.util.Random; //获取一个随机的 两位数public class getrandomdouble { public static void main(String[ ...

  9. C#LeetCode刷题-哈希表

    哈希表篇 # 题名 刷题 通过率 难度 1 两数之和 C#LeetCode刷题之#1-两数之和(Two Sum) 42.8% 简单 3 无重复字符的最长子串   24.2% 中等 18 四数之和   ...

  10. python设计模式之状态模式

    python设计模式之状态模式 面向对象编程着力于在对象交互时改变它们的状态.在很多问题中,有限状态机(通常名为状态机)是一个非常方便的状态转换建模(并在必要时以数学方式形式化)工具.首先,什么是状态 ...