<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      py腳本---將Prometheus數據寫入es

      定時將Prometheus監控數據取出寫入到es

      import requests
      import json
      import schedule
      import time
      from elasticsearch import Elasticsearch
      from datetime import datetime

      Prometheus URL

      prometheus_url = "http://100.64.0.40:9090/api/v1/query"

      Elasticsearch 配置

      es_host = "http://100.64.0.5:9200"
      es_index_prefix = "gpu_metrics" # 設置索引名稱前綴

      創建 Elasticsearch 客戶端

      es = Elasticsearch([es_host])

      定義需要查詢的指標

      queries = [
      'DCGM_FI_DEV_POWER_USAGE', # GPU 功率使用情況
      'DCGM_FI_DEV_SM_CLOCK', # GPU SM 時鐘
      'DCGM_FI_DEV_GPU_UTIL', # GPU 使用率
      'DCGM_FI_DEV_FB_USED' # GPU 內存使用量
      ]

      定義查詢參數

      def query_prometheus(query):
      params = {'query': query}
      try:
      response = requests.get(prometheus_url, params=params)
      response.raise_for_status() # 如果返回代碼不是 200,會拋出異常
      return response.json()
      except requests.exceptions.RequestException as e:
      print(f"Failed to query Prometheus for {query}: {e}")
      return None

      處理查詢結果并寫入 Elasticsearch

      def write_to_es(query, data):
      if data and 'data' in data and 'result' in data['data']:
      results = data['data']['result']
      for result in results:
      metric = result.get("metric", {})
      gpu_device = metric.get("device", "Unknown")
      gpu_uuid = metric.get("UUID", "Unknown")
      gpu_name = metric.get("modelName", "Unknown")
      pci_bus_id = metric.get("pci_bus_id", "Unknown")
      timestamp = result.get("value", [None])[0]
      value = result.get("value", [None, None])[1]

              # 如果數據無效,則跳過該項
              if value is None:
                  continue
      
              # 轉換為小寫的索引名稱
              index_name = f"{es_index_prefix}_{query.lower()}_{gpu_device.lower()}"
      
              # 構建 Elasticsearch 文檔
              doc = {
                  "timestamp": datetime.utcfromtimestamp(float(timestamp)),
                  "gpu_device": gpu_device,
                  "gpu_uuid": gpu_uuid,
                  "gpu_name": gpu_name,
                  "pci_bus_id": pci_bus_id,
                  "query": query,
                  "value": value
              }
      
              # 寫入 Elasticsearch
              try:
                  es.index(index=index_name, body=doc)
                  print(f"Data for GPU {gpu_device} written to Elasticsearch in index {index_name}.")
              except Exception as e:
                  print(f"Error writing to Elasticsearch: {e}")
      else:
          print(f"No valid data found for {query}.")
      

      定時任務:每小時執行一次

      def job():
      print("Starting the data collection and writing to Elasticsearch...")
      for query in queries:
      data = query_prometheus(query)
      if data is not None:
      write_to_es(query, data)
      else:
      print(f"Skipping {query} due to failed data retrieval.")
      print("Data collection and writing completed.")

      設置定時任務:每小時執行一次 job 函數

      schedule.every(1).hour.do(job)

      啟動并持續運行

      if name == "main":
      while True:
      schedule.run_pending() # 檢查并執行已安排的任務
      time.sleep(1) # 每秒檢查一次任務

      posted @ 2025-04-02 18:34  A學無止境A  閱讀(29)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 麻豆蜜桃av蜜臀av色欲av| 在线观看国产成人av天堂| 波多野结衣无内裤护士| 蜜臀av人妻国产精品建身房| 成人一区二区不卡国产| 91色老久久精品偷偷蜜臀 | 精品无码专区久久久水蜜桃| 国产在线亚州精品内射| 怡红院一区二区三区在线| 亚洲自偷自拍熟女另类| 国产av寂寞骚妇| 成人拍拍拍无遮挡免费视频 | 日本免费一区二区三区日本| 亚洲人妻精品中文字幕| 久久人人爽人人人人爽av| 国精偷拍一区二区三区| 亚洲伊人精品久视频国产| 内射干少妇亚洲69XXX| 元码人妻精品一区二区三区9 | 亚洲国产长腿丝袜av天堂| 国产最新精品系列第三页| 日土县| 视频一区二区不中文字幕| 欧美中文字幕在线看| 狠狠亚洲色一日本高清色| 日韩午夜福利视频在线观看| 国产无套粉嫩白浆在线| 最新国产精品拍自在线播放| 免费人成无码大片在线观看| 成人一区二区三区久久精品| 樱桃熟了a级毛片| 少妇伦子伦情品无吗| 欧洲精品色在线观看| 精品人妻中文无码av在线| 国产精品制服丝袜第一页| 猫咪AV成人永久网站在线观看| 人人做人人妻人人精| 国产超高清麻豆精品传媒麻豆精品| 性色高清xxxxx厕所偷窥| 四虎影院176| 国产成人AV一区二区三区无码|