K8sにVictoriametricsをインストールする

K8sにVictoriametricsをインストールする

背景

前回は、victoriametrics とそのインストール時の注意事項について紹介しました。今日は、k8s にインストールする方法を紹介します。今回はクラウド上のk8sにvictoriametricsのクラスターバージョンをインストールし、クラウド上での負荷分散を使用する必要があります。

注: victoriametrics は今後 vm と呼ばれます。

インストールの準備

  • k8s クラスター、私の k8s バージョンは v1.20.6 です
  • クラスター上にストレージクラスを準備します。ここでは NFS を使用します。
  • オペレーター イメージ タグは v0.17.2、vmstorage、vmselect、vminsert イメージ タグは v1.63.0 です。事前にイメージをプルしてローカルイメージウェアハウスに保存することができます

インストールに関する注意事項

vm は、バイナリ、Docker イメージ、ソース コードなど、さまざまな方法でインストールできます。シーンに合わせてお選びいただけます。 k8s にインストールする場合は、オペレーターを使用して直接インストールできます。以下では、インストール プロセス中の注意事項について説明します。

最小のクラスターには次のノードが含まれている必要があります。

  • 単一のvmstorageノードで、-retentionPeriodおよび-storageDataPathパラメータを指定します。
  • 単一のvminsertノードの場合は、-storageNode=を指定します。
  • vmselect 単一ノードの場合は、-storageNode= を指定します。注: 高可用性の場合、各サービスに少なくとも2つのノードがあることが推奨されます。

vmselect および vminsert の前には、vmauth や nginx などのロード バランサが必要です。ここではクラウド上の負荷分散を使用します。以下も必須:

  • /insert で始まるリクエストは、vminsert ノードのポート 8480 にルーティングする必要があります。
  • /select で始まるリクエストは、vmselect ノードのポート 8481 にルーティングする必要があります。注: 各サービスのポートは -httpListenAddr を使用して指定できます。

クラスタの監視をインストールすることをお勧めします

単一のホストにテスト クラスターをインストールする場合、vminsert、vmselect、および vmstorage の -httpListenAddr パラメーターは一意である必要があり、vmstorage の -storageDataPath、-vminsertAddr、および -vmselectAddr パラメーターは一意の値を持つ必要があります。

-storageDataPath で指定された vmstorage ディレクトリのサイズが -storage.minFreeDiskSpaceBytes で指定された使用可能なスペースより小さい場合、読み取り専用モードに切り替わります。 vminsert はそのようなノードへのデータ送信を停止し、代わりに他の利用可能な vmstorage ノードにデータを送信します。

インストールプロセス

VMをインストールする

1. crdを作成する

  1. # インストールファイルをダウンロードする
  2. VM_VERSION=`basename $(curl -fs -o/dev/ null -w %{redirect_url} https://github.com/VictoriaMetrics/operator/releases/latest)`をエクスポートします。
  3. https://github.com/VictoriaMetrics/operator/releases/download/$VM_VERSION/bundle_crd.zip を実行します。
  4. bundle_crd.zip を解凍します。
  5. kubectl apply -f リリース/crds
  6.  
  7. # CRD をチェック
  8. [root@test opt]# kubectl get crd |grep vm
  9. vmagents.operator.victoriametrics.com 2022-01-05T07:26:01Z
  10. vmalertmanagerconfigs.operator.victoriametrics.com 2022-01-05T07:26:01Z
  11. vmalertmanagers.operator.victoriametrics.com 2022-01-05T07:26:01Z
  12. vmalerts.operator.victoriametrics.com 2022-01-05T07:26:01Z
  13. vmauths.operator.victoriametrics.com 2022-01-05T07:26:01Z
  14. vmclusters.operator.victoriametrics.com 2022-01-05T07:26:01Z
  15. vmnodescrapes.operator.victoriametrics.com 2022-01-05T07:26:01Z
  16. vmpodscrapes.operator.victoriametrics.com 2022-01-05T07:26:01Z
  17. vmprobes.operator.victoriametrics.com 2022-01-05T07:26:01Z
  18. vmrules.operator.victoriametrics.com 2022-01-05T07:26:01Z
  19. vmservicescrapes.operator.victoriametrics.com 2022-01-05T07:26:01Z
  20. vmsingles.operator.victoriametrics.com 2022-01-05T07:26:01Z
  21. vmstaticscrapes.operator.victoriametrics.com 2022-01-05T07:26:01Z
  22. vmusers.operator.victoriametrics.com 2022-01-05T07:26:01Z

2. オペレータをインストールする

  1. # オペレータをインストールします。事前にオペレータのミラーアドレスを変更することを忘れないでください
  2. kubectl apply -f リリース/オペレーター/
  3.  
  4. # インストール後、オペレータが正常かどうかを確認します
  5. [root@test opt]# kubectl get po -n 監視システム
  6. vm-operator-76dd8f7b84-gsbfs 1/1 実行中 0 25h

3. vmcluster オペレーターをインストールした後、ニーズに応じて独自の cr を構築する必要があります。ここで vmcluster をインストールします。まずvmclusterインストールファイルを見てみましょう

  1. # vmcluster-install.yaml を cat します
  2. APIバージョン: operator.victoriametrics.com/v1beta1
  3. 種類: VMCluster
  4. メタデータ:
  5. 名前: vmcluster
  6. 名前空間: 監視システム
  7. 仕様:
  8. レプリケーション係数: 1
  9. 保持期間: "4"  
  10. vminsert:
  11. 画像:
  12. プルポリシー: IfNotPresent
  13. リポジトリ: images.huazai.com/release/vminsert
  14. タグ: v1.63.0
  15. ポッドメタデータ:
  16. ラベル:
  17. victoriaMetrics: vminsert
  18. レプリカ数: 1
  19. リソース:
  20. 制限:
  21. CPU: "1"  
  22. メモリ: 1000Mi
  23. リクエスト:
  24. CPU: 500m
  25. メモリ: 500Mi
  26. vmselect:
  27. キャッシュマウントパス:/ -cacheを選択
  28. 画像:
  29. プルポリシー: IfNotPresent
  30. リポジトリ: images.huazai.com/release/vmselect
  31. タグ: v1.63.0
  32. ポッドメタデータ:
  33. ラベル:
  34. victoriaメトリクス: vmselect
  35. レプリカ数: 1
  36. リソース:
  37. 制限:
  38. CPU: "1"  
  39. メモリ: 1000Mi
  40. リクエスト:
  41. CPU: 500m
  42. メモリ: 500Mi
  43. ストレージ:
  44. ボリュームクレームテンプレート:
  45. 仕様:
  46. アクセスモード:
  47. -一度だけ読み書き可能
  48. リソース:
  49. リクエスト:
  50. ストレージ: 2G
  51. ストレージクラス名: nfs-csi
  52. ボリュームモード: ファイルシステム
  53. 仮想マシンストレージ:
  54. 画像:
  55. プルポリシー: IfNotPresent
  56. リポジトリ: images.huazai.com/release/vmstorage
  57. タグ: v1.63.0
  58. ポッドメタデータ:
  59. ラベル:
  60. victoriaMetrics: vmstorage
  61. レプリカ数: 1
  62. リソース:
  63. 制限:
  64. CPU: "1"  
  65. メモリ: 1500Mi
  66. リクエスト:
  67. CPU: 500m
  68. メモリ: 750Mi
  69. ストレージ:
  70. ボリュームクレームテンプレート:
  71. 仕様:
  72. アクセスモード:
  73. -一度だけ読み書き可能
  74. リソース:
  75. リクエスト:
  76. ストレージ: 20G
  77. ストレージクラス名: nfs-csi
  78. ボリュームモード: ファイルシステム
  79. ストレージデータパス: /vm-data
  80.   
  81. # vmcluster をインストールする
  82. kubectl を適用 -f vmcluster-install.yaml
  83.   
  84. # vmcluster のインストール結果を確認する
  85. [root@test opt]# kubectl get po -n 監視システム
  86. 名前準備完了 ステータス 再起動 年齢
  87. vm-operator-76dd8f7b84-gsbfs 1/1 実行中 0 26h
  88. vminsert-vmcluster-main-69766c8f4-r795w 1/1 実行中 0 25h
  89. vmselect-vmcluster-main-0 1/1 実行中 0 25h
  90. vmstorage-vmcluster-main-0 1/1 実行中 0 25h

4. vminsert および vmselect サービスを作成する

  1. # 作成されたSVCを表示する
  2. [root@test opt]# kubectl get svc -n 監視システム
  3. 名前タイプ クラスター IP 外部 IP ポート 年齢
  4. vminsert-vmcluster-main ClusterIP 10.0.182.73 <なし> 8480/TCP 25h
  5. vmselect-vmcluster-main ClusterIP なし <なし> 8481/TCP 25h
  6. vmstorage-vmcluster-main ClusterIP なし <なし> 8482/TCP、8400/TCP、8401/TCP 25h
  7.  
  8. # ここでは、異なる k8s クラスターからのデータをこの VM に保存することができ、後続のデータ クエリに便利です。
  9. # nodeport タイプの 2 つの svc、つまり vminsert-lbsvc と vmselect-lbsvc を再作成します。同時に、クラウド上の lb がポート 8480 と 8481 をリッスンするように構成し、バックエンド サーバーは、VM が配置されているクラスターのノード IP になります。
  10. # ポートは、2 つのサービス vminsert-lbsvc と vmsleect-lbsvc によって公開されるノードポートです。
  11. # ただし、OpenTelemetry など、VM と同じ k8s クラスターにデータを保存する必要がある場合は、以下を使用できます。
  12. # vminsert-vmcluster-main.kube-system.svc.cluster。市内番号:8480
  13. # VMとは異なり、opentelemetryなどのk8sクラスターはlb:8480を使用してデータを保存します
  14.  
  15. # cat vminsert-lb-svc.yaml
  16. APIバージョン: v1
  17. 種類: サービス
  18. メタデータ:
  19. ラベル:
  20. app.kubernetes.io/component: モニタリング
  21. app.kubernetes.io/インスタンス: vmcluster-main
  22. app.kubernetes.io/名前: vminsert
  23. 名前: vminsert-vmcluster-main-lbsvc
  24. 名前空間: 監視システム
  25. 仕様:
  26. 外部トラフィックポリシー: クラスター
  27. ポート:
  28. -名前: http
  29. ノードポート: 30135
  30. ポート: 8480
  31. プロトコル: TCP
  32. ターゲットポート: 8480
  33. セレクタ:
  34. app.kubernetes.io/component: モニタリング
  35. app.kubernetes.io/インスタンス: vmcluster-main
  36. app.kubernetes.io/名前: vminsert
  37. セッションアフィニティ: なし
  38. タイプ: NodePort
  39.    
  40. # cat vmselect-lb-svc.yaml
  41. APIバージョン: v1
  42. 種類: サービス
  43. メタデータ:
  44. ラベル:
  45. app.kubernetes.io/component: モニタリング
  46. app.kubernetes.io/インスタンス: vmcluster-main
  47. app.kubernetes.io/名前: vmselect
  48. 名前: vmselect-vmcluster-main-lbsvc
  49. 名前空間: 監視システム
  50. 仕様:
  51. 外部トラフィックポリシー: クラスター
  52. ポート:
  53. -名前: http
  54. ノードポート: 31140
  55. ポート: 8481
  56. プロトコル: TCP
  57. ターゲットポート: 8481
  58. セレクタ:
  59. app.kubernetes.io/component: モニタリング
  60. app.kubernetes.io/インスタンス: vmcluster-main
  61. app.kubernetes.io/名前: vmselect
  62. セッションアフィニティ: なし
  63. タイプ: NodePort
  64.   
  65. # サービスを作成
  66. kubectl を適用 -f vmselect-lb-svc.yaml
  67. kubectl を適用 -f vminsert-lb-svc.yaml
  68.   
  69. # ! !クラウド上で LB を構成します。
  70. 自己構成
  71.   
  72. # 最後に、VM に関連するポッドとサービスをチェックします
  73.  
  74. [root@test opt]# kubectl get po,svc -n 監視システム
  75. 名前準備完了 ステータス 再起動 年齢
  76. pod/vm-operator-76dd8f7b84-gsbfs 1/1 実行中 0 30h
  77. pod/vminsert-vmcluster-main-69766c8f4-r795w 1/1 実行中 0 29h
  78. pod/vmselect-vmcluster-main-0 1/1 実行中 0 29h
  79. pod/vmstorage-vmcluster-main-0 1/1 実行中 0 29h
  80.  
  81. 名前タイプ クラスター IP 外部 IP ポート 年齢
  82. service/vminsert-vmcluster-main ClusterIP 10.0.182.73 <なし> 8480/TCP 29h
  83. service/vminsert-vmcluster-main-lbsvc ノードポート 10.0.255.212 <なし> 8480:30135/TCP 7h54m
  84. service/vmselect-vmcluster-main ClusterIP なし <なし> 8481/TCP 29h
  85. service/vmselect-vmcluster-main-lbsvc ノードポート 10.0.45.239 <なし> 8481:31140/TCP 7h54m
  86. service/vmstorage-vmcluster-main ClusterIP なし <なし> 8482/TCP、8400/TCP、8401/TCP 29h

prometheus-expoterをインストールする

ここでも、ノード エクスポーターをインストールして k8s ノード データを公開します。このデータは、後続の opentelemetry によって収集され、vminsert を通じて vmstorage に保存されます。データはvmselectを通じて照会される

  1. # kubectl apply -f prometheus-node-exporter-install.yaml
  2. APIバージョン: アプリ/v1
  3. 種類: DaemonSet
  4. メタデータ:
  5. ラベル:
  6. アプリ: prometheus-node-exporter
  7. リリース: prometheus-node-exporter
  8. 名前: prometheus-node-exporter
  9. 名前空間: kube-system
  10. 仕様:
  11. 改訂履歴制限: 10
  12. セレクタ:
  13. 一致ラベル:
  14. アプリ: prometheus-node-exporter
  15. リリース: prometheus-node-exporter
  16. テンプレート:
  17. メタデータ:
  18. ラベル:
  19. アプリ: prometheus-node-exporter
  20. リリース: prometheus-node-exporter
  21. 仕様:
  22. コンテナ:
  23. -引数:
  24. - --path.procfs=/host/proc  
  25. - --path.sysfs=/ホスト/sys  
  26. - --path.rootfs=/ホスト/root  
  27. - --web.listen-address=$(HOST_IP):9100  
  28. 環境:
  29. -名前:HOST_IP
  30. 値: 0.0.0.0
  31. 画像: images.huazai.com/release/node-exporter:v1.1.2
  32. イメージプルポリシー: IfNotPresent
  33. ライブネスプローブ:
  34. 失敗しきい値: 3
  35. httpGet:
  36. パス: /
  37. ポート: 9100
  38. スキーム: HTTP
  39. 期間秒数: 10
  40. 成功しきい値: 1
  41. タイムアウト秒数: 1
  42. 名前: ノードエクスポーター
  43. ポート:
  44. - コンテナポート: 9100
  45. ホストポート: 9100
  46. 名前: メトリック
  47. プロトコル: TCP
  48. 準備プローブ:
  49. 失敗しきい値: 3
  50. httpGet:
  51. パス: /
  52. ポート: 9100
  53. スキーム: HTTP
  54. 期間秒数: 10
  55. 成功しきい値: 1
  56. タイムアウト秒数: 1
  57. リソース:
  58. 制限:
  59. CPU: 200m
  60. メモリ: 50Mi
  61. リクエスト:
  62. CPU: 100m
  63. メモリ: 30マイル
  64. 終了メッセージパス: /dev/termination-log
  65. 終了メッセージポリシー: ファイル
  66. ボリュームマウント:
  67. - マウントパス: /host/proc
  68. 名前: プロセス
  69. 読み取り専用: true  
  70. - マウントパス: /host/sys
  71. 名前: sys
  72. 読み取り専用: true  
  73. - マウントパス: /host/root
  74. マウント伝播: ホストからコンテナへ
  75. 名前: ルート
  76. 読み取り専用: true  
  77. dnsポリシー: ClusterFirst
  78. ホストネットワーク: true  
  79. ホストPID: true  
  80. 再起動ポリシー: 常に
  81. スケジューラ名:デフォルト-scheduler
  82. セキュリティコンテキスト:
  83. グループ: 65534
  84. 実行グループ: 65534
  85. 非ルートとして実行: true  
  86. 実行ユーザー: 65534
  87. サービスアカウント: prometheus-node-exporter
  88. サービスアカウント名: prometheus-node-exporter
  89. 終了猶予期間秒数: 30
  90. 許容範囲:
  91. - 効果: NoSchedule
  92. 演算子: 存在する
  93. ボリューム:
  94. - ホストパス:
  95. パス: /proc
  96. タイプ: ""  
  97. 名前: プロセス
  98. - ホストパス:
  99. パス: /sys
  100. タイプ: ""  
  101. 名前: sys
  102. - ホストパス:
  103. パス: /
  104. タイプ: ""  
  105. 名前: ルート
  106. 更新戦略:
  107. ローリングアップデート:
  108. 最大利用不可: 1
  109. タイプ: ローリングアップデート
  110.  
  111. # ノードエクスポーターをチェックする
  112. [root@test ~]# kubectl get po -n kube-system |grep prometheus
  113. prometheus-node-exporter-89wjk 1/1 実行中 0 31h
  114. prometheus-node-exporter-hj4gh 1/1 実行中 0 31h
  115. prometheus-node-exporter-hxm8t 1/1 実行中 0 31h
  116. prometheus-node-exporter-nhqp6 1/1 実行中 0 31h

opentelemetryをインストールする

Prometheus ノードエクスポーターをインストールしたら、opentelemetry をインストールします(後で紹介します)

  1. # opentelemetry 構成ファイル。データの受信、処理、エクスポートを定義する
  2. # 1. レシーバーはデータの取得元です
  3. # 2.プロセッサは取得したデータの処理です
  4. # 3. 輸出業者は処理したデータをどこに輸出しますか?このデータは最終的にvminsertを通じてvmstorageに書き込まれます。
  5. # kubectl apply -f opentelemetry-install-cm.yaml
  6. APIバージョン: v1
  7. データ:
  8. リレー: |
  9. 輸出業者:
  10. プロメテウスリモート書き込み:
  11. # ここで lb_ip:8480 を設定します。これは vminsert アドレスです
  12. エンドポイント: http://lb_ip:8480/ /0/prometheusを挿入
  13. # 異なるクラスターに異なるラベルを追加します (例: cluster: uat/prd)
  14. 外部ラベル:
  15. クラスター: uat
  16. 拡張子:
  17. ヘルスチェック: {}
  18. プロセッサ:
  19. バッチ: {}
  20. メモリ制限:
  21. バラストサイズMIB: 819
  22. チェック間隔: 5秒
  23. 制限MIB: 1638
  24. スパイク制限MIB: 512
  25. 受信者:
  26. プロメテウス:
  27. 設定:
  28. scrape_configs:
  29. - ジョブ名: opentelemetry-collector
  30. スクレイプ間隔: 10秒
  31. 静的設定:
  32. - ターゲット:
  33. - ローカルホスト:8888
  34. ...省略...
  35. - ジョブ名: kube-state-metrics
  36. kubernetes_sd_configs:
  37. - 名前空間:
  38. 名前:
  39. - kubeシステム
  40. 役割: サービス
  41. メトリック再ラベル設定:
  42. - 正規表現: レプリカセット;([\w|\-]+)\-[0-9|az]+
  43. 交換: $$1
  44. ソースラベル:
  45. - 作成者
  46. - 作成者名
  47. ターゲットラベル: 作成者名
  48. - 正規表現: レプリカセット
  49. 代替: 展開
  50. ソースラベル:
  51. - 作成者
  52. ターゲットラベル: created_by_kind
  53. 再ラベル設定:
  54. -アクション: 維持
  55. 正規表現: kube-state-metrics
  56. ソースラベル:
  57. - __meta_kubernetes_サービス名
  58. - ジョブ名: ノードエクスポーター
  59. kubernetes_sd_configs:
  60. - 名前空間:
  61. 名前:
  62. - kubeシステム
  63. 役割: エンドポイント
  64. 再ラベル設定:
  65. -アクション: 維持
  66. 正規表現: ノードエクスポーター
  67. ソースラベル:
  68. - __meta_kubernetes_サービス名
  69. - ソースラベル:
  70. - __meta_kubernetes_pod_node_name
  71. ターゲットラベル: ノード
  72. - ソースラベル:
  73. - __meta_kubernetes_pod_host_ip
  74. ターゲットラベル: ホストIP
  75. ...省略...
  76. サービス:
  77. # 上記で定義したレシーバー、プロセッサー、エクスポーター、拡張機能はここで設定する必要があります。設定しないと動作しません。
  78. 拡張子:
  79. - ヘルスチェック
  80. パイプライン:
  81. メトリクス:
  82. 輸出業者:
  83. -プロメテウスリモートライト
  84. プロセッサ:
  85. -メモリリミッター
  86. - バッチ
  87. 受信者:
  88. - プロメテウス
  89. 種類: ConfigMap
  90. メタデータ:
  91. 注釈:
  92. meta.helm.sh/リリース: opentelemetry-collector-hua
  93. meta.helm.sh/release-namespace: kube-system
  94. ラベル:
  95. app.kubernetes.io/インスタンス: opentelemetry-collector-hua
  96. app.kubernetes.io/名前: opentelemetry-collector-hua
  97. 名前: opentelemetry-collector-hua
  98. 名前空間: kube-system
  1. # opentelemetryをインストールする
  2. # kubectl apply -f opentelemetry-install.yaml
  3. APIバージョン: アプリ/v1
  4. 種類: デプロイメント
  5. メタデータ:
  6. ラベル:
  7. app.kubernetes.io/インスタンス: opentelemetry-collector-hua
  8. app.kubernetes.io/名前: opentelemetry-collector-hua
  9. 名前: opentelemetry-collector-hua
  10. 名前空間: kube-system
  11. 仕様:
  12. 進捗期限秒数: 600
  13. レプリカ: 1
  14. 改訂履歴制限: 10
  15. セレクタ:
  16. 一致ラベル:
  17. app.kubernetes.io/インスタンス: opentelemetry-collector-hua
  18. app.kubernetes.io/名前: opentelemetry-collector-hua
  19. 戦略:
  20. ローリングアップデート:
  21. 最大サージ: 25%
  22. 最大利用不可: 25%
  23. タイプ: ローリングアップデート
  24. テンプレート:
  25. メタデータ:
  26. ラベル:
  27. app.kubernetes.io/インスタンス: opentelemetry-collector-hua
  28. app.kubernetes.io/名前: opentelemetry-collector-hua
  29. 仕様:
  30. コンテナ:
  31. - 指示:
  32. - /ホテル
  33. - --config=/conf/relay.yaml  
  34. - --metrics-addr=0.0.0.0:8888  
  35. - --mem-ballast-size-mib=819  
  36. 環境:
  37. -名前: MY_POD_IP
  38. 値:
  39. フィールド参照:
  40. APIバージョン: v1
  41. フィールドパス: status.podIP
  42. 画像: images.huazai.com/release/opentelemetry-collector:0.27.0
  43. イメージプルポリシー: IfNotPresent
  44. ライブネスプローブ:
  45. 失敗しきい値: 3
  46. httpGet:
  47. パス: /
  48. ポート: 13133
  49. スキーム: HTTP
  50. 期間秒数: 10
  51. 成功しきい値: 1
  52. タイムアウト秒数: 1
  53. 名前: opentelemetry-collector-hua
  54. ポート:
  55. - コンテナポート: 4317
  56. 名前: otlp
  57. プロトコル: TCP
  58. 準備プローブ:
  59. 失敗しきい値: 3
  60. httpGet:
  61. パス: /
  62. ポート: 13133
  63. スキーム: HTTP
  64. 期間秒数: 10
  65. 成功しきい値: 1
  66. タイムアウト秒数: 1
  67. リソース:
  68. 制限:
  69. CPU: "1"  
  70. メモリ: 2Gi
  71. リクエスト:
  72. CPU: 500m
  73. メモリ: 1Gi
  74. ボリュームマウント:
  75. - マウントパス: /conf
  76. # 上記でoepntelnemetry用に作成されたconfigmap
  77. 名前: opentelemetry-collector-configmap-hua
  78. - マウントパス: /etc/otel-collector/secrets/etcd-cert/
  79. 名前: etcd-tls
  80. 読み取り専用: true  
  81. dnsポリシー: ClusterFirst
  82. 再起動ポリシー: 常に
  83. スケジューラ名:デフォルト-scheduler
  84. セキュリティコンテキスト: {}
  85. # sa ここで自分で作成する
  86. サービスアカウント: opentelemetry-collector-hua
  87. サービスアカウント名: opentelemetry-collector-hua
  88. 終了猶予期間秒数: 30
  89. ボリューム:
  90. - 構成マップ:
  91. デフォルトモード: 420
  92. アイテム:
  93. -キー:リレー
  94. パス: relay.yaml
  95. # 上記でoepntelnemetry用に作成されたconfigmap
  96. 名前: opentelemetry-collector-hua
  97. 名前: opentelemetry-collector-configmap-hua
  98. -名前: etcd-tls
  99. 秘密:
  100. デフォルトモード: 420
  101. シークレット名: etcd-tls
  102.            
  103. # opentelemetry の実行ステータスを確認します。 opentelemetryとVMが同じk8sクラスタ内にある場合は、サービスセットを記述し、lbを使用しないでください(クラウドによって制約されます)
  104. # 4 層リスナーのバックエンド サーバーは現在、クライアントとサーバーの両方をサポートできません)
  105. [root@kube-control-1 ~]# kubectl get po -n kube-system |grep opentelemetry-collector-hua
  106. opentelemetry-collector-hua-647c6c64c7-j6p4b 1/1 実行中 0 8h

インストールチェック

すべてのコンポーネントがインストールされたら、ブラウザにhttp://lb:8481/select/0/vmuiと入力し、次のように入力します。サーバー URL に http://lb:8481/select/0/prometheus を指定します。最後に、対応するインジケーターを入力してデータを照会し、左上隅で自動更新をオンにすることができます。

要約する

インストールプロセス全体は比較的簡単です。インストールが完了すると、複数の k8s クラスターの監視データを保存できるようになります。 vm は PromeQL に基づく MetricsQL をサポートしており、Grafana のデータ ソースとしても使用できます。考えてみてください。以前は、各 k8s クラスターに Prometheus を手動で個別にインストールし、ストレージを構成する必要がありました。データをクエリする必要がある場合は、各クラスターの Prometheus UI を個別に開く必要があります。ちょっと面倒じゃないですか? vm が良いと思ったら、ぜひ試してみてください!

全文参照

  • https://github.com/VictoriaMetrics/VictoriaMetrics/tree/cluster
  • https://docs.victoriametrics.com/
  • https://opentelemetry.io/docs/
  • https://prometheus.io/docs/prometheus/latest/configuration/configuration/

<<:  Gラインクラウドコンピューティング:フルスタッククラウドアプリケーションクラウド

>>:  これら3つの方法を覚えておいてください。 Zookeeper なしで Kafka を実行する

推薦する

Baiduは、掲載する価値があるウェブサイトのみを掲載する。

ウェブマスターは、自分のウェブサイトが百度に認識され、インデックスされることを望んでいますが、百度は...

Bocai Network: ウェブサイト構築の後期段階で予算が不足することが多いのはなぜでしょうか?

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますウェブサイ...

キーワードランキングの停滞に影響を与える理由

あなたのウェブサイトのキーワードランキングは停滞していますか?しかし、その理由がわかりません。今日は...

コンテナ、コンテナ クラウド、コンテナ化された PaaS プラットフォームの関係は何ですか?

多くの人は、コンテナが IaaS レイヤーに属するべきか、それとも PaaS レイヤーに属するべきか...

エッジの台頭 - いつでもどこでも分析とコンピューティング

[[435346]]データの重要性の高まりは、おそらくインターネット革命の最も重要な副作用の 1 つ...

実用的なヒント:商人が望む618のテキストメッセージを送信するための完全なガイド

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています618 電...

ローカルウェブサイトはユーザーのニーズに合わせる必要がある

合肥フォーラムが南京365.comを活用して株式を公開するにつれ、ますます多くのウェブマスターが地元...

クラウドコンピューティングがIoTソリューションにもたらすもの

[[407671]]組織は、IoT によって生成されたデータを効率的に保存および管理するために、Io...

エッジコンピューティングの課題にどう対処するか

エッジ コンピューティングを、データ取得やローカル デジタル プロセス制御の高度な形式と見なす人もい...

クラウドファースト戦略: 何がそんなに話題になっているのでしょうか?

アクセンチュアは昨年9月、企業のデジタル変革を加速させるクラウドファーストのインフラ構築を支援するた...

オートナビは、何千人もの将来の交通専門家を育成することを目標に、産業界、学界、研究機関の統合に取り組んでいます。

[51CTO.com からのオリジナル記事] 今日、都市の急速な発展は都市統治に大きな課題をもたらし...

マーケティングプロモーションレビュー:NetEase、Snowballなどのスクリーンを席巻するテストゲームの裏側!

この記事では、NetEase と Snowball の 2 つのテスト ゲームをレビューして比較し、...

ウェブマスターはどのようにしてページの適時性価値を生み出し、ウェブサイト全体のトラフィックを増やすことができるのでしょうか?

検索エンジン最適化技術が発達するにつれて、ページの価値がランキングにおいてますます決定的になり、ウェ...

Baidu スナップショットが更新されず撤回される理由の詳細説明 (I)

Baidu のアルゴリズムは現在、非常に迅速に更新されています。Baidu の基準を満たせなくなった...

Baidu の入札プロモーションは詐欺サイトによって利用されました。他者を正すには、まず自分自身を正さなければなりません。

11月23日夜、中央テレビの「フォーカスインタビュー」欄で「家電修理の詐欺に注意」という番組が放送...