bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

prometheus基本概念用法記錄-創(chuàng)新互聯(lián)

Prometheus

  1. 基本概念

    promethues是一套開源的系統(tǒng)監(jiān)控報警框架。

    成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設計、網(wǎng)站建設與策劃設計,北流網(wǎng)站建設哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設十載,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:北流等地區(qū)。北流做網(wǎng)站價格咨詢:028-86922220

    ? Prometheus 所有采集的監(jiān)控數(shù)據(jù)均以指標(metric)的形式保存在內(nèi)置的時間序列數(shù)據(jù)庫當中(TSDB):屬于同一指標名稱,同一標簽集合的、有時間戳標記的數(shù)據(jù)流。除了存儲的時間序列,Prometheus 還可以根據(jù)查詢請求產(chǎn)生臨時的、衍生的時間序列作為返回結果。

    ? 特點:

    • 強大的多為數(shù)據(jù)模型
    • 靈活的查詢語言
    • 易于管理
    • 高效
    • 使用pull模式采集時間序列數(shù)據(jù)
    • 多種可視化圖形界面
    • 易于伸縮
  2. prometheus組成和架構:

    prometheus基本概念用法記錄

    • prometheus server: 主要負責數(shù)據(jù)采集和存儲,提供promQL查詢語言支持。prometheus是一個時序數(shù)據(jù)庫,將采集到的監(jiān)控數(shù)據(jù)按照時間序列的方式存儲到本地磁盤。
    • Push Gateway: 支持臨時性job主動推送指標的中間網(wǎng)關。
    • PromDash: 使用rails開發(fā)的dashboard,用于可視化指標數(shù)據(jù)。
    • Exporters: 負責監(jiān)控機器運行狀態(tài),提供被監(jiān)控組件信息的 HTTP 接口被叫做 exporter。
      • 直接采集: exporter內(nèi)置了prometheus支持,直接向prometheus暴露數(shù)據(jù)端點。
      • 間接采集:原不支持prometheus。通過prometheus提供的clien library編寫的目標監(jiān)控采集程序。
    • Altermanager: 從 Prometheus server 端接收到 alerts 后,會進行去除重復數(shù)據(jù),分組,并路由到對收的接受方式,發(fā)出報警。常見的接收方式有:電子郵件,pagerduty,OpsGenie, webhook 等。
    • WebUI:9090提供圖形化界面功能。
  3. 基本工作原理

    • Prometheus server 定期從配置好的 jobs 或者 exporters 中拉 metrics,或者接收來自 Pushgateway 發(fā)過來的 metrics,或者從其他的 Prometheus server 中拉 metrics。
    • Prometheus server 在本地存儲收集到的 metrics,并運行已定義好的 alert.rules,記錄新的時間序列或者向 Alertmanager 推送警報。
    • Alertmanager 根據(jù)配置文件,對接收到的警報進行處理,發(fā)出告警。
    • 在圖形界面中,可視化采集數(shù)據(jù)。
  4. 基本概念

    數(shù)據(jù)模型:prometheus中存儲的數(shù)據(jù)為時間序列,是由Metric的名字和一系列的標簽(鍵值對)唯一標識的,不同的標簽代表不同的時間序列。

    ? 樣本:實際時間序列,每個序列包括一個float64的值和一個毫秒級的時間戳。(指標+時間戳+樣本值)

    ? metric名字: 具有語義,表示功能:例如:http_requeststotal, 表示 http 請求的總數(shù)。其中,metric 名字由 ASCII 字符,數(shù)字,下劃線,以及冒號組成,且必須滿足正則表達式 [a-zA-Z:][a-zA-Z0-9_:]*。

    ? 標簽:使一個時間序列有不同未讀的識別。例如 http_requeststotal{method="Get"} 表示所有 http 請求中的 Get 請求。當 method="post" 時,則為新的一個 metric。標簽中的鍵由 ASCII 字符,數(shù)字,以及下劃線組成,且必須滿足正則表達式 [a-zA-Z:][a-zA-Z0-9_:]*。

    ? 格式:<metric name>{<label name>=<label value>, …},例如:http_requests_total{method="POST",endpoint="/api/tracks"}。

    Metric類型

    counter: 累加性metirc。

    Gauge:可增減性metric

    Histogram:樹狀圖

    summary: 匯總

  5. PromQL查詢
    1. 數(shù)據(jù)類型

      瞬時向量(instant vector):一組時間序列,每個時間序列包含單個樣本。
      區(qū)間向量(range vector):一組時間序列,每個時間序列包含一段時間范圍內(nèi)的樣本數(shù)據(jù)。
      標量(scalar): 一個浮點型數(shù)據(jù)值。
      字符串(string): 一個簡單的字符串值。
    2. 時間序列過濾器

      瞬時向量過濾器:
      eg: http_requests_total ,通過{}里附件一組標簽過濾時間序列。
      標簽匹配云算符:
        = : 選擇與提供的字符串完全相同的標簽。
        != : 選擇與提供的字符串不相同的標簽。
        =~ : 選擇正則表達式與提供的字符串(或子字符串)相匹配的標簽。
        !~ : 選擇正則表達式與提供的字符串(或子字符串)不匹配的標簽。
      區(qū)間向量過濾器:
      eg:http_requests_total{job="prometheus"}[5m],通過[]指定區(qū)間提取數(shù)值。
      時間單位:
      s - 秒
        m - 分鐘
        h - 小時
        d - 天
        w - 周
        y - 年
      時間位移操作:
      在瞬時向量表達式或者區(qū)間向量表達式中,都是以當前時間為基準.
      eg:http_requests_total offset 5m "offset 關鍵字需要緊跟在選擇器({})后面"
    3. 操作符

      算數(shù)二次元運算符
      eg:加減乘除
      布爾運算符:
      eg:= ,!= ,< , > ,<= ,>= 
      集合運算符:
      and,or,unless
      匹配模式
    4. 聚合操作

      語法:<aggr-op>([parameter,] <vector expression>) [without|by (<label list>)]  只有count_values, quantile, topk, bottomk支持參數(shù)(parameter)
      sum (求和);min (最小值);max (大值);avg (平均值);stddev (標準差);stdvar (標準差異);count (計數(shù));count_values (對 value 進行計數(shù));bottomk (樣本值最小的 k 個元素);topk (樣本值大的k個元素);quantile (分布統(tǒng)計)
      eg:<aggr-op>([parameter,] <vector expression>) [without|by (<label list>)]
      without 用于從計算結果中移除列舉的標簽,而保留其它標簽。by 則正好相反,結果向量中只保留列出的標簽,其余標簽則移除。通過 without 和 by 可以按照樣本的問題對數(shù)據(jù)進行聚合。
    5. 任務和實例

      ? 采集不同的監(jiān)控指標,我們需要運行相應的監(jiān)控采集程序,并且讓prometheus server知道這些export實例的訪問地址。每一個監(jiān)控樣本的http服務稱之為一個實例。node exporter可以稱之為一個實例。

      ? 一組用于相同采集目的的實例,或者一個采集進程的多個副本則通過一個一個任務管理。

      * job: node
        * instance 2: 1.2.3.4:9100
        * instance 4: 5.6.7.8:9100
    6. HTTP API中響應格式

      瞬時數(shù)據(jù)查詢:
      url請求參數(shù):
      eg:'http://localhost:9090/api/v1/query?query=up&time=2015-07-01T20:10:51.781Z'
            query=:PromQL表達式。
            time=<rfc3339 | unix_timestamp>:用于指定用于計算PromQL的時間戳。可選參數(shù),默認情況下使用當前系統(tǒng)時間。
            timeout=:超時設置。可選參數(shù),默認情況下使用-query,timeout的全局設置
      區(qū)間數(shù)據(jù)查詢:
      url請求參數(shù):
      eg:'http://localhost:9090/api/v1/query_range?query=up&start=2015-07-01T20:10:30.781Z&end=2015-07-01T20:11:00.781Z&step=15s'
      query=: PromQL表達式。
        start=<rfc3339 | unix_timestamp>: 起始時間。
        end=<rfc3339 | unix_timestamp>: 結束時間。
        step=: 查詢步長。
        timeout=: 超時設置。可選參數(shù),默認情況下使用-query,timeout的全局設置。
  6. Prometheus告警

    1. 告警規(guī)則定義(Alertrule difinition)

      告警名稱: 自定義名稱.

      告警規(guī)則:基于PromQL表達式定義告警觸發(fā)條件.定義在配置文件中

       groups:
       - name: example
         rules:
         - alert: HighErrorRate
           expr: job:request_latency_seconds:mean5m{job="myjob"} > 0.5
           for: 10m
           labels:
             severity: page
           annotations:
             summary: High request latency
             description: description info
        #group:定義一組相關規(guī)則
        #alert:告警規(guī)則名稱
        #expr:基于PromQL的觸發(fā)條件
        #for 等待評估時間
        #label 自定義標簽
        #annotation: 指定一組附加信息Alertmanger特性
    2. Altermanager特性

      分組:可以將詳細的告警機制合并成一個通知
       抑制:當發(fā)出一個警告時,可以停止重復發(fā)送此告警的引發(fā)的其他告警機制
       靜默:將告警進行靜默處理
    3. 安裝啟動Altermanger

      wget https://github.com/prometheus/alertmanager/releases/download/v0.15.3/alertmanager-0.15.3.linux-amd64.tar.gz
       cd alertmanager-0.15.3.linux-amd64/
       ./alertmanager
    4. altermanager.yml配置文件介紹

       global:
         resolve_timeout: 5m
      
       route:
         group_by: ['alertname']
         group_wait: 10s
         group_interval: 10s
         repeat_interval: 1h
         receiver: 'web.hook'
       receivers:
       - name: 'web.hook'
         webhook_configs:
         - url: 'http://127.0.0.1:5001/'
       inhibit_rules:
         - source_match:
             severity: 'critical'
           target_match:
             severity: 'warning'
           equal: ['alertname', 'dev', 'instance']
       路由(route)以及接收器(receivers)。所有的告警信息都會從配置中的頂級路由(route)進入路由樹,根據(jù)路由規(guī)則將告警信息發(fā)送給相應的接收器。
       全局配置(global):用于定義一些全局的公共參數(shù),如全局的SMTP配置,Slack配置等內(nèi)容;
       模板(templates):用于定義告警通知時的模板,如HTML模板,郵件模板等;
       告警路由(route):根據(jù)標簽匹配,確定當前告警應該如何處理;
       接收人(receivers):接收人是一個抽象的概念,它可以是一個郵箱也可以是微信,Slack或者Webhook等,接收人一般配合告警路由使用;
       抑制規(guī)則(inhibit_rules):合理設置抑制規(guī)則可以減少垃圾告警的產(chǎn)生
    5. 重啟prometheus

      killall -9 prometheus
      nohup prometheus &
  7. prometheus 安裝
    1. 安裝prometheus server

      wget https://github.com/prometheus/prometheus/releases/download/v2.6.0/prometheus-2.6.0.linux-amd64.tar.gz
      tar -zxvf prometheus-2.6.0.linux-amd64.tar.gz
      cd prometheus-2.6.0.linux-amd64
      ./prometheus &
      ln -s /root/prometheus/prometheus-2.6.0.linux-amd64/prometheus /usr/local/bin/prometheus
      設置開機啟動
          cat >> /usr/lib/systemd/system/multi-user.target.wants/prometheus.service <<EOF
          [Unit]
          Description=prometheus
          After=network.target
      
          [Service]
          Type=forking
          ExecStart=/usr/local/bin/prometheus --config.file="/root/prometheus-2.6.0.linux-amd64/prometheus.yml" --storage.tsdb.path=/root/prometheus-2.6.0.linux-amd64/data
          PrivateTmp=true
      
          [Install]
          WantedBy=multi-user.target
          EOF
          systemctl enable prometheus
          systemctl start  prometheus
    2. 安裝Node Exporter 采集主機運行數(shù)據(jù)(采集主機運行指標比如cpu,內(nèi)存和磁盤等信息)

      wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
      tar -zxvf node_exporter-0.17.0.linux-amd64.tar.gz 
      cd node_exporter-0.17.0.linux-amd64/
      mv node_exporter  /usr/local/bin/
      nohup  node_exporter &
      
      curl -l -H "Content-type: application/json" -X POST -d '{"msgtype": "markdown","markdown": {"title":"Prometheus告警信息","text": "#### 監(jiān)控指標\n> 監(jiān)控描述信息\n\n> ###### 告警時間 \n"},"at": {"isAtAll": false}}' https://oapi.dingtalk.com/robot/send?access_token=51345145d106753486bd71614bf881283f91e2124535276b257f99327e41dc87
      {"errcode":0,"errmsg":"ok"}
    3. Prometheus中添加收集的監(jiān)控數(shù)據(jù),修改prometheus.yml文件,并在scrape_configs添加一下內(nèi)容。

      scrape_configs:
      - job_name: 'prometheus'
        static_configs:
          - targets: ['localhost:9090']
      # 采集node exporter監(jiān)控數(shù)據(jù)
      - job_name: 'node'
        static_configs:
          - targets: ['localhost:9100']
    4. 使用Grafana創(chuàng)建可視化Dashboard

      docker run -d -p 3000:3000 grafana/grafana
      #訪問http://localhost:3000 默認用戶名admin 密碼admin

先記錄,后補充。

參考文章如下:

prometheus非官方手冊

prometheus-book

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

文章名稱:prometheus基本概念用法記錄-創(chuàng)新互聯(lián)
瀏覽地址:http://vcdvsql.cn/article4/jgpie.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站用戶體驗動態(tài)網(wǎng)站營銷型網(wǎng)站建設云服務器網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設