<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          使用Prometheus和Grafana構(gòu)建Redis實(shí)時監(jiān)控平臺

          共 2915字,需瀏覽 6分鐘

           ·

          2021-01-27 01:57

          點(diǎn)擊上方藍(lán)色字體,選擇“設(shè)為星標(biāo)

          回復(fù)”資源“獲取更多資源

          Redis作為緩存系統(tǒng),在整個后端體系中是較為重要的一環(huán),需要實(shí)時監(jiān)控運(yùn)行狀態(tài)。

          現(xiàn)在有各種各樣的工具都可以對Redis進(jìn)行監(jiān)控,例如:redis-stat、RedisLive等,在使用過各種各樣的監(jiān)控工具后,個人感覺redis_exporter較為好用,配合Prometheus+Grafana,不僅監(jiān)控靈活、展現(xiàn)直觀還可以進(jìn)行自行封裝來獲取各種特別關(guān)注的數(shù)據(jù)指標(biāo)。

          今天就和大家分享redis-exporter+Grafana+Prometheus構(gòu)建Redis實(shí)時監(jiān)控。


          由于在物理機(jī)中搭建redis-exporter+Grafana+Prometheus較為繁瑣,下面直接利用Docker來搭建這一套監(jiān)控體系作為實(shí)例。不熟悉Docker也不要緊,這里只是熟悉監(jiān)控流程。

          搭建準(zhǔn)備

          啟動Redis實(shí)例

          首先準(zhǔn)備兩個Redis作為監(jiān)控實(shí)例,打開Docker Hub官網(wǎng)搜索Redis,會有啟動Redis實(shí)例的命令提示,這里按照最簡單的方法啟動兩個Redis(后臺運(yùn)行的方式按照最新的redis鏡像啟動兩個名為redis1/redis2的容器實(shí)例):

          網(wǎng)站地址:https://hub.docker.com/_/redis
          ??~?docker?run?-d?--name?redis1?redis
          ??~?docker?run?-d?--name?redis2?redis
          Redis實(shí)例準(zhǔn)備好了以后我們需要查看并記錄容器所屬的IP地址,以便redis_exporter來監(jiān)控。
          ??~?docker?inspect?redis1|grep?IPAddress?172.17.0.5
          ??~?docker?inspect?redis2|grep?IPAddress?172.17.0.6

          Grafana端口映射

          準(zhǔn)備監(jiān)控?cái)?shù)據(jù)展示工具Grafana。
          ??~?docker?run?-d?--name=grafana?-p?3000:3000?grafana
          這里由于需要在外部訪問Grafana圖形展示工作,所以做個端口映射,將物理機(jī)的3000端口和容器Grafana的3000端口關(guān)聯(lián)起來。

          配置redis_exporter

          準(zhǔn)備數(shù)據(jù)采集工具redis_exporter,這里默認(rèn)監(jiān)聽端口9121。
          ??~?docker?run?-d?--name?redis_exporter?-p?9121:9121?oliver006/redis_exporter?--redis.addr=172.17.0.5:6379,172.17.0.6:6379
          --redis_addr為redis_exporter指定參數(shù),可以指定多個監(jiān)控的Redis地址,以逗號分隔,這里填入之前兩個Redis的地址。

          準(zhǔn)備數(shù)據(jù)抓取工具Prometheus

          這里需要提前準(zhǔn)備Prometheus配置文件,抓取redis_exporter收集到的數(shù)據(jù),最簡單的配置如下圖所示:
          ??~?docker?run?-d?--name?prome?-p?9090:9090?-v?/tmp/prometheus.yml:/tmp/prometheus.yml?quay.io/prometheus/prometheus?--config.file=/tmp/prometheus.yml
          這里根據(jù)普羅米修斯鏡像創(chuàng)建一個prome的容器,同時將物理機(jī)的/tmp/prometheus.yml文件掛載到容器的/tmp下,將這個/tmp/prometheus.yml作為容器prome的啟動配置文件。配置文件內(nèi)容如下圖:


          這里創(chuàng)建了兩個抓取數(shù)據(jù)的任務(wù):

          • 監(jiān)控本容器的9090端口即容器prome本身的數(shù)據(jù)

          • 監(jiān)控容器redis_exporter的9121端口獲取數(shù)據(jù)


          前為止我們創(chuàng)建了五個容器,如下圖所示:


          使用Grafana做圖表展示

          下面開始創(chuàng)建監(jiān)控?cái)?shù)據(jù)展示圖,由于創(chuàng)建容器時已經(jīng)將容器端口于物理機(jī)端口映射起來,我們可以直接利用127.0.0.1:port來訪問容器內(nèi)的服務(wù)。

          配置Prometheus監(jiān)控?cái)?shù)據(jù)源

          例如訪問http://127.0.0.1:3000來訪問Grafana圖形展示工具,默認(rèn)用戶密碼均為admin,登錄進(jìn)去以后配置grafana數(shù)據(jù)來源,Choose data source type中點(diǎn)擊選擇Prometheus。

          下一步配置數(shù)據(jù)源名稱prometheus-redis和url地址,這里的數(shù)據(jù)源是本機(jī)里面的容器prome抓取上來的數(shù)據(jù),所以url地址填默認(rèn)選項(xiàng)即可。

          現(xiàn)在就可以創(chuàng)建監(jiān)控?cái)?shù)據(jù)展示圖了,監(jiān)控?cái)?shù)據(jù)的監(jiān)控是由redis_exporter這個服務(wù)決定的,我們訪問http://127.0.0.1:9121/metrics時可以發(fā)現(xiàn)很多數(shù)據(jù),可以理解為key-value的形式,key是數(shù)據(jù)查詢維度,value是值。

          例如數(shù)據(jù)維度是redis_up,那么我們可以在訪問http://127.0.0.1:9090執(zhí)行redis_up這個數(shù)據(jù)查詢指標(biāo)抓取數(shù)據(jù)的值,如下圖所示:


          創(chuàng)建監(jiān)控圖表

          接下來我將利用prome抓取的數(shù)據(jù)在Grafana上創(chuàng)建一個監(jiān)控Redis運(yùn)行時間的展示圖形,相關(guān)配置如下圖,可以自行學(xué)習(xí)Grafana和Prometheus相關(guān)知識來配置各種各樣的監(jiān)控圖形及告警相關(guān)內(nèi)容。

          下圖中一個簡單的監(jiān)控Redis啟動時間的圖形就構(gòu)建完成了。


          如果嫌一個個配置監(jiān)控圖麻煩,也可以利用開源已有的模板來構(gòu)建Redis監(jiān)控圖,將https://grafana.com/api/dashboards/763/revisions/1/download監(jiān)控模板導(dǎo)入即可:


          填入url后自動跳轉(zhuǎn)到監(jiān)控面板名稱、數(shù)據(jù)源填寫頁面:


          查看監(jiān)控?cái)?shù)據(jù)

          load以后現(xiàn)成的監(jiān)控圖就有了,Redis命中率、Redis數(shù)據(jù)量、Redis內(nèi)存、Redis命令執(zhí)行相關(guān)的監(jiān)控應(yīng)有盡有,可以自行修改監(jiān)控指標(biāo)來滿足業(yè)務(wù)需求。最終監(jiān)控成品如下圖:


          Prometheus+Grafana是一套十分強(qiáng)大的監(jiān)控工具,這里僅僅是收集了redis_exporter采集的數(shù)據(jù)監(jiān)控Redis作為示例,我們還可以添加其他數(shù)據(jù)采集工具來監(jiān)控更多的業(yè)務(wù),有興趣的小伙伴可以自行研究。

          原文你可以參考這里,一個專注于監(jiān)控的技術(shù)人。
          https://blog.csdn.net/weixin_33060757/article/details/112356293
          ????
          ????
          ????所以說讀者們才是最優(yōu)秀的 | 某讀者喜提offer(+85%)后的分享
          ????一站式大數(shù)據(jù)解決方案分析與設(shè)計(jì)實(shí)踐 | BI無縫整合Apache Kylin
          ????后起之秀Pulsar VS. 傳統(tǒng)強(qiáng)者Kafka?誰更強(qiáng)


          歡迎點(diǎn)贊+收藏+轉(zhuǎn)發(fā)朋友圈素質(zhì)三連

          文章不錯?點(diǎn)個【在看】吧!?
          瀏覽 104
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  围产精品久久久久久久 | 亚洲中文字幕一区二区 | 操逼下载软件 | 成人做爰黄级A片免费看土方 | 亚洲日本中文字幕 |