SLS案例中心
今日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案例中心的更多相关文章
- SaltStack 部署案例 02
远程执行 salt '*' state.sls apache '*':代表所有主机 state.sls :是一个模块 apache : 状态 ,表示需要部署的内容,后缀.sls YAML:三板斧 1. ...
- [DeviceOne开发]-轮播图和多模板的简单示例
一.简介 这个例子是利用Slideview组件实现循环轮播的效果,同时这个slideview作为一个listview的最上面的一行数, 1. listview有2个模板,一个是以slideview为核 ...
- 小爬虫。爬取网站多页的通知标题并存取在txt文档里。
爬取网页中通知标题的内容展示: this is 1 page!<精算学综合>科目考试参考大纲2016年上半年研究生开题报告评议审核结果公示[答辩]2016下半年研究生论文答辩及学位评定 ...
- Office 365系列 (1)概览:完整的云中Office
Office365(以下简称O365)是一个集Office,企业邮箱,日历,日程管理,音视频会议 ,企业网盘 ,企业协作平台为一体的,旨在提高团队办公效率,减少基础设施投资和IT运维压力的解决方案.在 ...
- YourPHP笔记
http://blog.sina.com.cn/s/blog_7c54793101016qq1.htm 基础认识: Ø yourphp安装为子目录时不可以以"yourphp"为文 ...
- Mongodb 5节点异地两中心故障转移恢复测试案例
Mongodb5节点异地两中心故障转移恢复测试案例 架构方式:5节点,主中心(2数据1仲裁),备中心(1数据1仲裁) 1基本情况 操作系统:Red Hat Enterprise Linux Serve ...
- SpringBoot开发案例Nacos配置管理中心
前言 在开发过程中,通常我们会配置一些参数来实现某些功能,比如是否开启某项服务,告警邮件配置等等.一般会通过硬编码.配置文件或者数据库的形式实现. 那么问题来了,如何更加优雅的实现?欢迎来到 Naco ...
- Spring Boot 2.x 基础案例:整合Dubbo 2.7.3+Nacos1.1.3(配置中心)
本文原创首发于公众号:Java技术干货 1.概述 本文将Nacos作为配置中心,实现配置外部化,动态更新.这样做的优点:不需要重启应用,便可以动态更新应用里的配置信息.在如今流行的微服务应用下,将应用 ...
- 数据可视化案例 | 如何打造数据中心APP产品
意识到数据探索带来的无尽信息,越来越多的企业开始建立自有的数据分析平台,打造数据化产品,实现数据可视化. 在零售商超行业,沃尔玛"啤酒与尿布"的故事已不再是传奇.无论是大数据还是小 ...
随机推荐
- 了不起的Node.js 5/16
Chapter 1 安装 1.Node.js的设计理念之一,只维护较少量的依赖,这使得安装node.js变得非常简单. 2.执行文件console.log没问题,但是node执行http静态服务器的时 ...
- PHP array_uintersect_uassoc() 函数
实例 比较两个数组的键名和键值(使用用户自定义函数进行比较),并返回交集: <?phpfunction myfunction_key($a,$b){if ($a===$b){return 0;} ...
- PHP date_interval_format() 函数
------------恢复内容开始------------ 计算两个日期间的间隔,然后格式化时间间隔: 实例 <?php $date1=date_create("2013-01-01 ...
- PHP strftime() 函数
------------恢复内容开始------------ 实例 根据区域设置格式化本地日期和时间: <?php echo(strftime("%B %d %Y, %X %Z&quo ...
- PDO::query
PDO::query — 执行 SQL 语句,返回PDOStatement对象,可以理解为结果集(PHP 5 >= 5.1.0, PECL pdo >= 0.2.0) 说明 语法 publ ...
- Skill 脚本演示 ycAutoSnap.skl
https://www.cnblogs.com/yeungchie/ ycAutoSnap.skl 版图编辑中自动吸附 Path 的 "垂直线头",也可以批量对齐 Bus 走线,也 ...
- 集合:List接口的实现类(ArrayList、LinkedList、Vector)
1.List接口 (1)特点 有序(插入和取出的顺序相等,因为有一个整数索引记录了元素的插入的位置) 允许有重复的元素(调用equals方法返回true,允许有多个null) @Test public ...
- 重温这几个屌爆的Python技巧!
我已经使用Python编程有多年了,即使今天我仍然惊奇于这种语言所能让代码表现出的整洁和对DRY编程原则的适用.这些年来的经历让我学到了很多的小技巧和知识,大多数是通过阅读很流行的开源软件,如Djan ...
- spring data jpa 代码生成!!(精华帖)
通过数据库动态生成自己想要生成的各种模板,需要了解grovery. view -> Tool Windows -> Database + -> Data source -> M ...
- Canal v1.1.4版本避坑指南
前提 在忍耐了很久之后,忍不住爆发了,在掘金发了条沸点(下班时发的): 这是一个令人悲伤的故事,这条情感爆发的沸点好像被屏蔽了,另外小水渠(Canal意为水道.管道)上线一段时间,不出坑的时候风平浪静 ...
