场景:

有长时间对多个端口访问的日志数据,每天对端口的访问量是稳定的。如果某一天对某个端口的访问量突然增加表示可能出现了问题。现在要通过splunk找到异常值。

思路:

统计每个端口每天的访问量。统计其最大值,平均值,中位数。最大值和平均值比值大的,以及最大值和中位数比值大的就是可能异常的地方。通过一个交互折线图来展示选定端口每天的访问量。

1.统计每个端口每天的访问量。

source="port.csv" |fillnull value=NULL|search port!=NULL port !=  | convert timeformat="%Y-%m-%d" ctime(_time) AS date | stats count as date_count by date,port

关键点:

convert timeformat="%Y-%m-%d" ctime(_time) AS date:数据中时间戳字段为_time,举例:2017-06-26T00:00:00.000+08:00   用convert将时间转换为2017-06-26的日期格式。这样同一天的数据都会有相同的date。

2.统计每个端口每天访问量的最大值,平均值,中位数,以及比值。

source="port.csv" |fillnull value=NULL|search port!=NULL| convert timeformat="%Y-%m-%d" ctime(_time) AS date | stats count as date_count by date,port|stats median(date_count) as median_count max(date_count) as max_count avg(date_count) as avg_count by dport|eval avg_deviation=max_count/avg_count|eval median_deviation=max_count/median_count|sort -avg_deviation

3.获取指定端口的每天访问量

步骤2做表后,点击编辑来源,打开仪表盘xml,在对应的<search></search>标签下添加

<drilldown>
<set token="select_port">$click.value$</set>
</drilldown>

这样,在点击port后,就可以通过$select_port$来获取到对应的port值了。

做折线图:

source="port.csv" port="$select_port$"|convert timeformat="%Y-%m-%d" ctime(_time) AS date|stats count by date

标题设为:$select_port$端口每日访问量

这样当通过表格选择端口后,就可以在折线图上直观看到访问量变化。

效果:

【splunk】按时间统计并找到异常值的更多相关文章

  1. C++高精度计时器——微秒级时间统计

    在C++中,经常需要通过计时来统计性能信息,通过统计的耗时信息,来分析性能瓶颈,通常情况下,可能毫秒级别的时间统计就足够用了,但是在毫厘必争的性能热点的地方,毫秒级别的统计还是不够的,这种情况下,就需 ...

  2. H5性能测试,首屏时间统计(Argus)

    Argus 腾讯质量开发平台,官网链接:https://wetest.qq.com/product/argus 主要针对性:H5的游戏性能测试 主要介绍: 独家首屏时间统计: 告别人工掐秒 自动统计首 ...

  3. MySQL按时间统计每个小时记录数

    MySQL按时间统计每个小时记录数 方案1: ? 1 2 3 4 5 6 7 SELECT  @rownum := @rownum + 1 AS ID,         CONCAT((CASE WH ...

  4. c++程序时间统计

    如下所示,引入<time.h>我们就可以统计时间了: #include<iostream> #include<time.h> #include<windows ...

  5. mysql时间统计,查询月份,周数据

    在mysql数据库中,常常会遇到统计当天的内容.例如,在user表中,日期字段为:log_time 统计当天 sql语句为: select * from user where date(log_tim ...

  6. Golang 1.3 发布时间。最终找到地方下载。

    golang 1.3 已发布 但golang.org官方网站被封锁不能下载. 最终找到一个镜像站点. http://golang.so/ http://tip.golang.so/ golang中国的 ...

  7. 笔试算法题(18):常数时间删除节点 & 找到仅出现一次的两个数字

    出题:给定链表的头指针和一个节点指针,要求在O(1)的时间复杂度下删除该节点 分析: 如果需要删除的节点为A,其前序节点为A-,其后续节点为A+,所以删除A之后,需要使得A-的下一个节点就是A+,常规 ...

  8. shell 时间统计脚本

    #!/bin/sh #Today=`date +%Y%m%d` YEAR=`echo $|cut -c -` MONTH=`echo $|cut -c -` DAY=`echo $|cut -c -` ...

  9. rdtsc获取时间统计程序的运行效率

    __u64 rdtsc() {         __u32 lo,hi;           __asm__ __volatile__         (          "rdtsc&q ...

随机推荐

  1. gitbash使用git 命令的准备工作

    1.git下载 2.git clone http://git.missfresh.cn/... 配置用户名密码 3.git  常用命令简写配置 git config --global alias.st ...

  2. .innerhtml 与.innertext

    示例代码: <div id="test"> <span style="color:red">test1</span> tes ...

  3. 库zlog的使用手册

    库官方网址: 使用手册:    http://hardysimpson.github.io/zlog/UsersGuide-CN.html#htoc11 [formats] simple = &quo ...

  4. day 5 - 1 字典(dict)

    dict dict key 必须是不可变数据类型,可哈希value:任意数据类型 dict 优点:使用二分查询来搜索数据存储了大量的关系型数据特点:无序的 数据类型划分:可变数据类型,不可变数据类型不 ...

  5. git 配置 BeyondCompare

    安装 Beyond Compare 4 配置 git git config --global merge.tool bc3 git config --global mergetool.bc3.path ...

  6. 【Thymeleaf】浅谈Java模板引擎(带更新...)

    什么是模板引擎 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档. 为什么要用模板 ...

  7. 计算价格, java中浮点数精度丢失的解决方案

    计算价格, java中浮点数精度丢失的解决方案

  8. 省市联动-获取资源文件xml 获取nodes的方法要学会

    try { SAXReader reader = new SAXReader(); InputStream input = this.getClass().getResourceAsStream(&q ...

  9. javascript编程基础1

    1,javascript能干什么? 直接写入html中: <script> document.write("<h1>这是一级标题</h1>") ...

  10. Photoshop CS6打开图片后看不到怎么办

    https://jingyan.baidu.com/album/54b6b9c0d45c632d583b4793.html