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>

        使用 Loki 繪制 Traefik 監(jiān)控面板

        共 1698字,需瀏覽 4分鐘

         ·

        2021-01-30 11:45

        前段時(shí)間在Loki2.0發(fā)布時(shí),更新了一個(gè)配套的用LogQL語法繪制Nginx監(jiān)控面板的Demo。今天小白準(zhǔn)備用同樣的手法炮制一個(gè)基于Traefik日志的監(jiān)控面板。還不清楚之前Nginx面板操作的同學(xué)可以看參考文末后的推薦閱讀。

        Traefik

        Traefik是一個(gè)用Golang實(shí)現(xiàn)的云原生輕量級(jí)HTTP反向代理工具。由于它支持配置適配多種后端服務(wù)(docker,kubernetes,Mesos,redis)來做動(dòng)態(tài)的路由配置。當(dāng)前Rancher的邊緣產(chǎn)品K3S也默認(rèn)把Traefik作為默認(rèn)的Ingress管理器,足以可見traefik也越來越受到廣大開發(fā)者的喜愛。

        那么,Traefik的可觀察性除了打開默認(rèn)的Metrics之外,我們還可以通過日志方式繪制實(shí)時(shí)監(jiān)控面板。

        配置Access Logs

        traefik默認(rèn)的access log格式如下:

        ?-??[]?"??"???""?""??""?""?ms

        雖然看起來比較直觀,不過這樣的日志存入在Loki中,我們還需要通過正則表達(dá)式解析,非常的不方便。所以我們還是將日志格式改為json,方便logql解析。

        按如下方式修改traefik.yaml

        accessLog:
        ??format:?json

        默認(rèn)traefik的日志輸出為stdout,如果你的采集端是通過讀取文件的話,則需要用filePath參數(shù)將traefik的日志重定向到文件目錄

        繪制Grafana面板

        大體的監(jiān)控面板,小白已經(jīng)繪制好并發(fā)布到Grafana Lab,我們?cè)L問頁面https://grafana.com/grafana/dashboards/13713就可以將面板下載到本地

        將下載的面板json文件導(dǎo)入到Grafana,導(dǎo)入后更換uidLoki源

        導(dǎo)入后你將獲得一個(gè)空白的面板,如下

        別急,空白的原因是logql沒有查詢到合適日志,我們需要修改每個(gè)panel的查詢語句,讓他定位到合適的日志。面板默認(rèn)的日志標(biāo)簽是{job="/var/log/traefik.log"},我們需要改成適應(yīng)自己環(huán)境的label

        最后就能得到如下面板,在這里我們可以看到經(jīng)過Treafik的HTTP請(qǐng)求狀態(tài),請(qǐng)求耗時(shí)以及路由分布等信息。

        總結(jié)

        Traefik的面板僅僅只是依葫蘆畫瓢的抄襲了官方的Nginx面板,不過在"抄襲"的過程中也能學(xué)習(xí)到幾個(gè)LogQL的重要語句的使用場(chǎng)景。

        • 樣本排序統(tǒng)計(jì)百分位

        在TP95的面板中我們使用了如下語法,主要的意思是將traefik日志中的Duration值按照時(shí)間變量$__interval進(jìn)行排序,取第95%位上的值

        quantile_over_time(0.95,{job="xxx"}?
        |=?"RequestProtocol"
        |?json?
        |?unwrap?Duration?
        |??__error__=""??[$__interval])?by?(ServiceName)
        • 統(tǒng)計(jì)請(qǐng)求異常率

        在異常請(qǐng)求率的面板中,我們不光使用了Label filters來過濾狀態(tài)中大于400的請(qǐng)求,同時(shí)還用除法/來計(jì)算整體的異常百分比。

        sum(rate({job="xxx"}?
        |~?"RequestProtocol"?
        |?json?
        |?OriginStatus?>=?400?
        |__error__=""[$__interval]))?
        /?(sum(rate({job="xxx"}?
        |~?"RequestProtocol"?
        |?json?
        |?__error__=""[$__interval]))?
        /?100)

        可以看到,LogQL v2強(qiáng)大的日志查詢分析能力讓日志的可玩性大幅提升。和Prometheus一樣,Loki作為云原生可觀測(cè)性下的日志一環(huán),其后續(xù)發(fā)展也越來越值得關(guān)注。


        CKA 認(rèn)證培訓(xùn)


        ?點(diǎn)擊屏末?|??|?即刻學(xué)習(xí)

        瀏覽 78
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        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>
            男人天堂色色 | 国产大尺度视频 | 亚洲第十页色逼 | 男女视频免费观看 | 国产精品91一区二区三区 | 成人毛片18女人免费视频 | 星空传媒视频 | 搡的我好爽在线观看免费视频 | 高h重口激h慎宫交h | 无码不卡永久视频自拍 |