<kbd id="5sdj3"></kbd>
<th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>

    Loki 告警的正確姿勢

    共 3011字,需瀏覽 7分鐘

     ·

    2020-10-15 20:56

    小白之前有通過Grafana設(shè)置Loki數(shù)據(jù)源的騷操作來做日志告警,雖然能直接在Grafana面板上配置告警,但它們還是沒辦法集中維護(hù)和管理。小白前面介紹了那么多關(guān)于Loki的文章,那么它有沒有像Prometheus一樣的rules來管理策略呢?答案是肯定的!

    根據(jù)Loki的RoadMap,Ruler組件將于Loki 1.7.0版本正式推出。那么小白今天先帶大家嘗嘗鮮,體驗(yàn)下在Loki里日志告警的正確姿勢。

    Loki Ruler

    Loki1.7將包含一個(gè)名為Ruler的組件,它是從Crotex項(xiàng)目里面引入進(jìn)來的(還記得Loki分集群的架構(gòu)嗎?)Ruler的主要功能是持續(xù)查詢r(jià)ules規(guī)則,并將超過閾值的事件推送給Alert-Manager或者其他Webhook服務(wù)。結(jié)合Cortex,Loki的Ruler組件也是如上的架構(gòu)??梢钥吹絣oki和cortex的架構(gòu)主要區(qū)別只剩下Configs API了。?不過,牛逼的是借助注冊(cè)到consul的一致性hash環(huán),Loki的ruler同樣支持多實(shí)例的分布式部署,實(shí)例和實(shí)例之間會(huì)自己根據(jù)分片協(xié)調(diào)需要使用的rules。不過這是一個(gè)動(dòng)態(tài)的過程,任何ruler實(shí)例的添加或刪除都會(huì)導(dǎo)致rules的重新分片。

    當(dāng)前啟用Loki的ruler組件比較簡單,只要將下列的相關(guān)配置引入,并在Loki啟動(dòng)的參數(shù)里面加入-target=ruler即可。

    ruler:
    # 觸發(fā)告警事件后的回調(diào)查詢地址
    # 如果用grafana的話就配置成grafana/explore
    external_url:

    # alertmanager地址
    alertmanager_url:
    enable_alertmanager_v2: true

    # 啟用loki rules API
    enable_api: true

    # 對(duì)rules分片,支持ruler多實(shí)例
    enable_sharding: true

    # ruler服務(wù)的一致性哈希環(huán)配置,用于支持多實(shí)例和分片
    ring:
    kvstore:
    consul:
    host: :8500
    store: consul

    # rules臨時(shí)規(guī)則文件存儲(chǔ)路徑
    rule_path: /tmp/rules

    # rules規(guī)則存儲(chǔ)
    # 主要支持本地存儲(chǔ)(local)和對(duì)象文件系統(tǒng)(azure, gcs, s3, swift)
    storage:
    type: local
    local:
    directory: /loki/rules

    # rules規(guī)則加載時(shí)間
    flush_period: 1m

    想快速體驗(yàn)Ruler的同學(xué),可以用小白之前docker-compose來部署demo

    https://github.com/CloudXiaobai/loki-cluster-deploy/tree/master/demo/docker-compose

    Alert配置

    Loki的rulers規(guī)則和結(jié)構(gòu)與Prometheus完全兼容,唯一的區(qū)別在于查詢語句不同。在Loki中我們用logQL來查詢?nèi)罩局笜?biāo)。一個(gè)典型的rules配置說明如下:

    groups:
    # 組名稱
    - name:
    rules:
    # Alert名稱
    - alert:
    # logQL查詢語句
    expr:
    # 產(chǎn)生告警的持續(xù)時(shí)間
    pending.
    [ for: | default = 0s ]
    # 自定義告警事件的label
    labels:
    [ : ]
    # 告警時(shí)間的注釋
    annotations:
    [ : ]

    舉個(gè)栗子,如果小白想通過日志查到某個(gè)業(yè)務(wù)日志的錯(cuò)誤率大于5%就觸發(fā)告警,那么可以配置成這樣:

    groups:
    - name: should_fire
    rules:
    - alert: HighPercentageError
    expr: |
    sum(rate({app="foo", env="production"} |= "error" [5m])) by (job)
    /
    sum(rate({app="foo", env="production"}[5m])) by (job)
    > 0.05
    for: 10m
    labels:
    severity: page
    annotations:
    summary: High request latency

    當(dāng)告警事件產(chǎn)生時(shí),我們?cè)赼lert-manager上就能收到該事件的推送。

    Ruler用途

    • 還沒用metrics做應(yīng)用監(jiān)控告警時(shí)

    對(duì)于有些業(yè)務(wù)可能沒有暴露自己程序運(yùn)行時(shí)的metrics時(shí),這個(gè)時(shí)候我們可以借助查詢?nèi)罩镜姆椒ㄈ?gòu)建相關(guān)的指標(biāo)告警是比較容易的。比如上面提到的應(yīng)用錯(cuò)誤率的告警。

    • 黑匣子監(jiān)控

    對(duì)于完全不受我們控制的應(yīng)用(開源服務(wù)或者三方閉源產(chǎn)品),在他們不提供監(jiān)控指標(biāo)時(shí),我們采用查詢?nèi)罩局笜?biāo)的方式不失為一個(gè)快速的方法。

    下面這個(gè)就是某大佬利用nginx日志和logQL做的監(jiān)控和告警大盤,簡直不要太炫酷。

    • 響應(yīng)應(yīng)用的事件

    對(duì)于有些應(yīng)用的特殊的事件,我們也可以利用Loki的ruler來做相關(guān)的通知,比如檢查日志中的base auth認(rèn)證泄漏事件

    - name: credentials_leak
    rules:
    - alert: http-credentials-leaked
    annotations:
    message: "{{ $labels.job }} is leaking http basic auth credentials."
    expr: 'sum by (cluster, job, pod) (count_over_time({namespace="prod"} |~ "http(s?)://(\\w+):(\\w+)@" [5m]) > 0)'
    for: 10m
    labels:
    severity: critical
    • High-Cardinality高基告警

    看過小白之前《Loki最佳實(shí)踐》的同學(xué)知道,在Loki中high-cardinality會(huì)嚴(yán)重拖慢查詢效率。這部分查詢會(huì)在接下來的LogQL v2語法中實(shí)現(xiàn)。




    K8S進(jìn)階訓(xùn)練營,點(diǎn)擊下方圖片了解詳情


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

    手機(jī)掃一掃分享

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

    手機(jī)掃一掃分享

    分享
    舉報(bào)

    <kbd id="5sdj3"></kbd>
    <th id="5sdj3"></th>

  • <dd id="5sdj3"><form id="5sdj3"></form></dd>
    <td id="5sdj3"><form id="5sdj3"><big id="5sdj3"></big></form></td><del id="5sdj3"></del>

  • <dd id="5sdj3"></dd>
    <dfn id="5sdj3"></dfn>
  • <th id="5sdj3"></th>
    <tfoot id="5sdj3"><menuitem id="5sdj3"></menuitem></tfoot>

  • <td id="5sdj3"><form id="5sdj3"><menu id="5sdj3"></menu></form></td>
  • <kbd id="5sdj3"><form id="5sdj3"></form></kbd>
    国产操逼AV电影 | 免费草逼网站 | 97色爱| 翔田千里无码av 想看国产操逼视频 | AV黄色网址 |