步驟拆解:使用ES做分桶聚合又聚合

題目

已知:es里存儲了一套在線數(shù)據(jù)索引:log_online
存儲了從多個服務器按每分鐘一次的頻率統(tǒng)計的呵晨,各服務器在線人數(shù)
求:系統(tǒng)內(nèi)在線人數(shù)的曲線圖數(shù)據(jù)

規(guī)則:

  1. 在線人數(shù)的最小統(tǒng)計粒度是1分鐘磺陡。在線人數(shù) = 某一時刻,所有服務器的在線人數(shù)總和
  2. 如果按每10分鐘統(tǒng)計墨吓,按10分鐘內(nèi)的最高在線人數(shù)統(tǒng)計

思路

  1. 需要先統(tǒng)計出每分鐘,在線人數(shù)總和sum
    第一個聚合:group_by_min,聚合方式:時間接癌,每分鐘
    聚合后的統(tǒng)計方式:sum
"aggs": {
  "group_by_min": {
     "date_histogram": {
       "field":  "log_time",
       "fixed_interval": "1m",
       "min_doc_count": 0
     },
   "aggs": {
     "sum_online": {
       "sum": {
          "field": "online"
       }
     }
   }
  }
}
  1. 基于步驟1的結(jié)果蕊玷,再根據(jù)要統(tǒng)計的粒度:比如每小時邮利,再聚合。用max_bucket找出每個分桶的最大值
 "aggs": {
    "group_by_hour": {
      "date_histogram": {
        "field": "log_time",
        "fixed_interval": "1h",
        "format": "yyyy-MM-dd HH",
        "time_zone": "+08:00", 
        "min_doc_count": 0
      },
      "aggs": {
        "group_by_min": {
          "date_histogram": {
            "field": "log_time",
            "fixed_interval": "1m",
            "format": "yyyy-MM-dd HH:mm:ss",
            "time_zone": "+08:00",
            "min_doc_count": 0
          },
          "aggs": {
            "sum_online": {
              "sum": {
                "field": "online"
              }
            }
          }
        },
        "max_aggs": {
          "max_bucket": {
            "buckets_path": "group_by_min>sum_online"
          }
        }
      }
    }
  }
  1. 進過兩次聚合垃帅,數(shù)據(jù)已經(jīng)非常多了延届,而實際要返回的數(shù)據(jù)其實只是每個時段的最高在線人數(shù),和時段的值贸诚,這個需要通過filter_path
GET /log_online/_search?filter_path=aggregations.group_by_hour.buckets.max_aggs.value,aggregations.group_by_hour.buckets.key,aggregations.group_by_hour.buckets.key_as_string
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末方庭,一起剝皮案震驚了整個濱河市厕吉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌械念,老刑警劉巖头朱,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異龄减,居然都是意外死亡项钮,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進店門希停,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烁巫,“玉大人,你說我怎么就攤上這事宠能⊙窍叮” “怎么了?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵违崇,是天一觀的道長阿弃。 經(jīng)常有香客問我,道長羞延,這世上最難降的妖魔是什么渣淳? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮肴楷,結(jié)果婚禮上水由,老公的妹妹穿的比我還像新娘。我一直安慰自己赛蔫,他們只是感情好砂客,可當我...
    茶點故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著呵恢,像睡著了一般鞠值。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上渗钉,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天彤恶,我揣著相機與錄音,去河邊找鬼鳄橘。 笑死声离,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的瘫怜。 我是一名探鬼主播术徊,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鲸湃!你這毒婦竟也來了赠涮?” 一聲冷哼從身側(cè)響起子寓,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎笋除,沒想到半個月后斜友,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡垃它,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年鲜屏,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗤瞎。...
    茶點故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡墙歪,死狀恐怖听系,靈堂內(nèi)的尸體忽然破棺而出贝奇,到底是詐尸還是另有隱情,我是刑警寧澤靠胜,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布掉瞳,位于F島的核電站,受9級特大地震影響浪漠,放射性物質(zhì)發(fā)生泄漏陕习。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一址愿、第九天 我趴在偏房一處隱蔽的房頂上張望该镣。 院中可真熱鬧,春花似錦响谓、人聲如沸损合。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嫁审。三九已至,卻和暖如春赖晶,著一層夾襖步出監(jiān)牢的瞬間律适,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工遏插, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留捂贿,地道東北人。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓胳嘲,卻偏偏與公主長得像厂僧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子胎围,可洞房花燭夜當晚...
    茶點故事閱讀 43,554評論 2 349