プロメテウス+領事自動検出サービスの監視

A、プロメテウスのサポート、複数のサービスディスカバリメカニズム(一般的には以下)

  1. static_configs:静的サービス検出
  2. file_sd_configs:ファイルサービス検出
  3. dns_sd_configs:DNSサービス検出
  4. kubernetes_sd_configs:Kubernetesサービス検出
  5. consul_sd_configs:領事サービス検出

二、プロメテウスは、主要な構成prometheus.yml scrape_configsconsul_sd_configs、次の

scrape_configs:
  ジョブ名が#される追加としてラベル`仕事= <JOB_NAME>`掻き取っ任意の時系列にから 、この設定。
  - JOB_NAME:' プロメテウス' 
    #のmetrics_pathのデフォルト設定に' /メトリクス' 
    に#スキームのデフォルトは' HTTP ' 
    static_configs:
     -対象:[ ' localhostを:9090 ' ]

   - JOB_NAME:' 領事' 
    consul_sd_configs:
       -サーバー:' localhostの:8500 ' 
    relabel_configs:
      - source_labels:[__meta_consul_tags] 
        正規表現:。*、prome、*。
        アクション:キープ
       - source_labels:[__meta_consul_service] 
        target_label:仕事

リロードしprometheus.yml配置添加

--config.file = ./prometheus " prometheus.yml " --web.listenアドレス= " 0.0.0.0:9090 " --web.enable-ADMIN-API --- web.enableライフサイクル&

--web。管理者-有効(空のデータ削除操作)Web管理プロメテウスを介して実行するAPIを
ウェブプロメテウスの構成によって--web.enableライフサイクルリロード操作(リロードに対応)

 

三つは、達成するための環境をK8S

秘密はプロメテウスを生成するためにハングアップするように設定します

1、書き込みプロメテウス-追加-consul.yaml

scrape_configs:
  ジョブ名が#される追加としてラベル`仕事= <JOB_NAME>`掻き取っ任意の時系列にから 、この設定。
  - JOB_NAME:' プロメテウス' 
    #のmetrics_pathのデフォルト設定に' /メトリクス' 
    に#スキームのデフォルトは' HTTP ' 
    static_configs:
     -対象:[ ' localhostを:9090 ' ]

   - JOB_NAME:' 領事' 
    consul_sd_configs:
       -サーバー:' localhostの:8500 ' 
    relabel_configs:
      - source_labels:[__meta_consul_tags] 
        正規表現:。*、prome、*。
        アクション:キープ
       - source_labels:[__meta_consul_service] 
        target_label:仕事

2、秘密を作ります

秘密の一般的な追加・領事・コンフィグを作成kubectl - から -file =プロメテウス-追加-consul.yaml -n監視

3、ポッドプロメテウスの構成に加えプロメテウス-prometheus.yaml修飾、およびリソースを更新しています

apiVersion:monitoring.coreos.com/のV1の
種類:プロメテウスの
メタデータ:
  ラベル:
    プロメテウス:K8S 
  名:K8S 
  名前空間:監視
仕様:
  警告:
    alertmanagers:
     -名前:alertmanager- メイン
       の名前空間:監視
      ポート:ウェブ
  baseImage:quay.io /プロメテウス/ プロメテウス
  nodeSelector:
    kubernetes.io / OS:Linuxの
  podMonitorNamespaceSelector:{} 
  podMonitorSelector:{} 
  複製:2つの
  リソース:
    リクエスト:
      メモリ:400Mi 
  ruleSelectorました:
    matchLabels:
      プロメテウス:K8S 
      役割:アラートが - ルール
  たSecurityContext:
    fsGroup:2000 
    runAsNonRoot:
    runAsUser:1000年
  serviceAccountName:プロメテウス - K8S 
  serviceMonitorNamespaceSelector:{} 
  serviceMonitorSelector:{} 
  バージョン:V2。11.0 
  additionalScrapeConfigs:
    名前:追加の-領事-コンフィグ
    キー:プロメテウス-追加-consul.yaml

4注:十分な特権(コンフィギュレーションの更新が、該当する監視タスクの発生はありません)

プロメテウス-K8Sおよび更新リソースと呼ばれる修正ClusterRole権限

apiVersion:rbac.authorization.k8s.io/のV1の
種類:ClusterRoleの
メタデータ:
  名前:プロメテウス - K8S 
ルール:
 - apiGroups:
   - "" 
  リソース:
   - ノード
   - サービス
   - エンドポイント
   - ポッド
   -ノード/ プロキシ
  動詞:
   - 取得 
  - リスト
   - 腕時計
 - apiGroups:
   - "" 
  リソース:
   - configmaps
   -ノード/ メトリック
  動詞:
   - 取得 
-nonResourceURLs:
   - / メトリクスの
  動詞:
   - GET

おすすめ

転載: www.cnblogs.com/jayce9102/p/12074361.html