您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何使用Sentinel+InfluxDB+Chronograf實現監控大屏,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
前言
在上一篇推文中,我們使用時序數據庫 InfluxDb
做了流控數據存儲,但是數據存儲不是目的,分析監控預警才是最終目標,那么問題來了,如何更好的實現呢?用過阿里巴巴 Sentinel 控制臺的小伙伴,是不是覺得它的控制臺丑爆了,而且只有短短的五厘米,顯然不能滿足大部分人或者場景的使用。
架構
工具
sentinel-dashboard(控制臺,收集數據) Influxdb(時序數據庫,存儲數據) Chronograf (展示控制臺,顯示數據并實現預警)
安裝
Sentinel 控制臺 和 時序數據庫 Influxdb 的安裝方式前面已經聊過,這里不再贅述,簡單說下 Chronograf 展示控制臺的安裝方式,這里推薦使用 Docker 安裝方式。
$ docker run -p 8888:8888 \ -v $PWD:/var/lib/chronograf \ chronograf
安裝成功以后,瀏覽器訪問 http://ip:8888
你應該看到一個歡迎頁面:
然后,自行配置數據源,根據業務場景組裝監控大屏。
大屏
這里根據 Sentinel 限流組件采集的數據,組裝了一個簡單的監控大屏,可以監控歷史訪問總量、最近一小時的訪問量、限流數以及最近幾分鐘或者幾小時的訪問曲線等等,相比于阿里演示版是不是瞬間高大上的些許。
總訪問量
SELECT SUM("successQps") AS "總訪問量" FROM "sentinel_log"."autogen"."sentinelInfo"
最近一小時訪問量
SELECT SUM("successQps") AS "訪問量"FROM "sentinel_log"."autogen"."sentinelInfo"WHERE TIME > NOW() - 1h
最近一小時限流數
SELECT SUM("blockQps") AS "限流數"FROM "sentinel_log"."autogen"."sentinelInfo"WHERE time > now() - 1h
最近一小時異常數
SELECT SUM("exceptionQps") AS "異常數"FROM "sentinel_log"."autogen"."sentinelInfo"WHERE time > now() - 1h
最近一小時的訪問趨勢圖(秒級別)
SELECT SUM("successQps") AS "訪問量"FROM "sentinel_log"."autogen"."sentinelInfo"WHERE time > now() - 1hGROUP BY time(1s)
最近12小時資源訪問排名
SELECT SUM("successQps") AS "成功qps", SUM("blockQps") AS "限流qps"FROM "sentinel_log"."autogen"."sentinelInfo"WHERE time > now() - 12hGROUP BY resource
預警
后期我們在 Chronograf 中接入 Kapacitor ,Chronograf會自動打開該Configure Alert Endpoints部分,Kapacitor支持多個警報端點/事件處理程序。有興趣的小伙伴也可以在 Sentinel 控制臺中根據流控數據進行更智能化的設置,比如根據限流失敗數以及機器指標動態調整流控規則。
源碼
https://gitee.com/52itstyle/sentinel-dashboard
有了她,小哥哥、小姐姐們再也不用擔心凌晨一點的鬧鐘了,是不是很爽?以上只是冰山一角,目前我們上線的監控系統平臺,通過各種第三方組件庫(Telegraf、InfluxDB、Chronograf、Kapacitor、Grafana、Prometheus、Consul、Elasticsearch、Kibana
),接入了 1000 臺服務器實時監控,200個監控大屏,上千個監控指標,每日處理成噸的數據。是不是很吊!?我唧唧都佩服我自己的想象力。
看完上述內容,你們對如何使用Sentinel+InfluxDB+Chronograf實現監控大屏有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。