1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 2915字,需瀏覽 6分鐘

         ·

        2021-01-27 01:57

        點擊上方藍色字體,選擇“設為星標

        回復”資源“獲取更多資源

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

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

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


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

        搭建準備

        啟動Redis實例

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

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

        Grafana端口映射

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

        配置redis_exporter

        準備數(shù)據(jù)采集工具redis_exporter,這里默認監(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的地址。

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

        這里需要提前準備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的容器,同時將物理機的/tmp/prometheus.yml文件掛載到容器的/tmp下,將這個/tmp/prometheus.yml作為容器prome的啟動配置文件。配置文件內(nèi)容如下圖:


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

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

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


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


        使用Grafana做圖表展示

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

        配置Prometheus監(jiān)控數(shù)據(jù)源

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

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

        現(xiàn)在就可以創(chuàng)建監(jiān)控數(shù)據(jù)展示圖了,監(jiān)控數(shù)據(jù)的監(jiān)控是由redis_exporter這個服務決定的,我們訪問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ù)查詢指標抓取數(shù)據(jù)的值,如下圖所示:


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

        接下來我將利用prome抓取的數(shù)據(jù)在Grafana上創(chuàng)建一個監(jiān)控Redis運行時間的展示圖形,相關配置如下圖,可以自行學習Grafana和Prometheus相關知識來配置各種各樣的監(jiā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)控模板導入即可:


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


        查看監(jiān)控數(shù)據(jù)

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


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

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


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

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

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            久久婷婷免费视频 | 先锋影音麻豆 | 《乳色吐息》在线观看动画 | 欧美性爱操逼 | 亚洲美女久久久 | 久久成人三级 | 无码免费日韩 | 污网址| 亚洲免费在线观看的高清视频网站 | 夜夜撸日日撸 |