プロメテウスの監視K8Sノード監視
NodeExporterプロメテウス計画のコミュニティは、主要指標のホストは、ホストのパフォーマンスデータの制御を達成するために、各ホスト、唯一のNodeExporter例のノードのDeamonSet Kubernetesで展開することができ、監視することであってもよいが、コンテナので、原因を特定することができますディスク情報をホストする権利を取得しないNodeExporterコンテナを使用し、したがって、このコースはNodeExporterホストに展開されます。
node_exporter:モニタリングのための* NIXシステム、囲碁言語コレクターを使用
- ドキュメントを使用します。https://prometheus.io/docs/guides/node-exporter/
- GitHubのします。https://github.com/prometheus/node_exporter
- 輸出国リストします。https://prometheus.io/docs/instrumenting/exporters/
公式文書ます。https://github.com/kubernetes/kube-state-metrics
インデックス・ノード・輸出収集されます。
node_cpu_* node_disk_* node_entropy_* node_filefd_* node_filesystem_* node_forks_* node_intr_total_* node_ipvs_* node_load_* node_memory_* node_netstat_* node_network_* node_nf_conntrack_* node_scrape_* node_sockstat_* node_time_seconds_* node_timex _* node_xfs_*
プロファイル
素敵なプロファイルを変更
- #プロメテウスのプロフィール
- プロメテウス-configmap.yaml
-
#プロメテウス形式https://prometheus.io/docs/prometheus/latest/configuration/configuration/設定 apiVersion:V1 種類:ConfigMap メタデータ: 名前:プロメテウス - コンフィグ 名前空間:KUBE - システム ラベル: kubernetes.io /クラスタで修理:" 真の" addonmanager.kubernetes.io / MODE:EnsureExists データ: #ストアプロメテウスプロファイル prometheus.yml:| #1 のconfigure取得対象 scrape_configs: - JOB_NAME:プロメテウス static_configs: - 対象: #のコレクション自体 -はlocalhost:9090 prometheus.yml: | #設定取得対象 scrape_configs: - JOB_NAME:kubernetes- ノード static_configs: - ターゲット: #のコレクション自体 - 192.168.1.110:9100 - 192.168.1.111:9100 #買収:Apiserver生存指数#apiservers-Kubernetes用に作成されたジョブ名名 - JOB_NAME:kubernetes- apiserversの #の発見に基づくK8Sサービス kubernetes_sd_configs: - 役割:エンドポイント #通信マークアップタグを使用して relabel_configsを: # 予約済みの正規一致するタグ - アクション:キープの #はすでに含まれている 正規表現:デフォルトは、Kubernetes; HTTPS source_labels: - __meta_kubernetes_namespace - __meta_kubernetes_service_name - __meta_kubernetes_endpoint_port_nameの #のHTTPSとして使用する、デフォルトのHTTP スキーム:HTTPS tls_config: #使用認証Apiserverプロメテウスのアクセス は/ var /:ca_file RUN /秘密/ kubernetes.io / serviceaccount / ca.crt #HTTPS認証スキップ insecure_skip_verifyを:trueに #を使用認定Apiserverプロメテウスアクセス bearer_token_file:/var/run/secrets/kubernetes.io/serviceaccount/ トークン #のコレクション:Kubelet生存率 - JOB_NAME:Kubernetes-nodes- kubeletの :kubernetes_sd_configs #は、すべてのノードのクラスタ見つけ - :ノードロール relabel_configs: #の正規表現によるキーへのアクセスを情報 - アクション:labelmap :正規表現__meta_kubernetes_node_label_(。+ ) スキーム:HTTPS tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ ca.crt insecure_skip_verify:trueに bearer_token_file:/var/run/secrets/kubernetes.io/serviceaccount/ トークン #采集:ノード-cadvisorの信息 - JOB_NAME:kubernetes-nodes- cadvisor kubernetes_sd_configs: - 役割:ノード relabel_configs: - アクション:labelmap 正規表現:__meta_kubernetes_node_label_(+。 )# 重命名标签 - target_label:__metrics_path__ 交換: /メトリクス/ cadvisorの スキーム:HTTPS tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ ca.crt bearer_token_file: insecure_skip_verify:真 /var/run/secrets/kubernetes.io/serviceaccount/ トークン #のコレクション:サービス・エンドポイントの情報 - JOB_NAME:Kubernetesで修理エンドポイント #選択の指標 kubernetes_sd_configs: - 役割:エンドポイントの relabel_configs: - アクション:キープの 正規表現:trueに #ソースラベルを指定 source_labelsを: - __meta_kubernetes_service_annotation_prometheus_io_scrape - アクション:交換する 正規表現:(HTTPS?) source_labels: - __meta_kubernetes_service_annotation_prometheus_io_scheme #リネームタグ取得 :target_label __scheme__ - アクション:置き換え (。:正規表現 + ) source_labels: - __meta_kubernetes_service_annotation_prometheus_io_path target_label:__metrics_path__ - アクション:置き換える 正規表現を:([ ^:] +)?(?:: \ D +);(\ D + ) の交換:$ 1の:$ source_labels: - __address__ - __meta_kubernetes_service_annotation_prometheus_io_port target_label:__address__ - アクション:labelmap 正規表現:__meta_kubernetes_service_label_(+。 ) - アクション:置き換え source_labelsを: - __meta_kubernetes_namespaceの target_label:kubernetes_namespace - アクション:置き換え source_labelsを: - __meta_kubernetes_service_nameの target_label:kubernetes_nameの #のコレクション:kubernetes-サービスのサービス・インジケータ - JOB_NAME:kubernetes- サービス kubernetes_sd_configs: - 役割:サービス #ブラックボックス、プロービングIPを探査し、ポートが使用可能である metrics_path:/ プローブ のparams: モジュール: - http_2xx relabel_configs: - アクション:キープ 正規表現を:真 source_labels: - __meta_kubernetes_service_annotation_prometheus_io_probe - source_labels: - __address__ target_label:__param_target #の使用のブラックボックス进行黑盒探测 - 交換:ブラックボックス target_label:__address__ - source_labels: - __param_target target_label:インスタンス - アクション:labelmap 正規表現:__meta_kubernetes_service_label_(。+ ) - source_labels: - __meta_kubernetes_namespaceの target_label:kubernetes_namespace - source_labels: - __meta_kubernetes_service_name target_label:kubernetes_nameの #采集:kubernetes-ポッド信息 - JOB_NAME:kubernetes- ポッド kubernetes_sd_configs: - 役割:ポッド relabel_configs: - アクション:キープ 正規表現:真 source_labels: #只保留采集的信息 - __meta_kubernetes_pod_annotation_prometheus_io_scrape - アクション:置き換えます 正規表現:(。 + ) source_labels: - __meta_kubernetes_pod_annotation_prometheus_io_path target_label:__metrics_path__ - アクション:交換する 正規表現:([ ^:] +);(\ D +(:: \ D +?)? ) の交換:$ 1:$ 2 source_labels: #采集地址 - __address__ #采集端口 - __meta_kubernetes_pod_annotation_prometheus_io_port target_label:__address__ - アクション:labelmap 正規表現:__meta_kubernetes_pod_label_(。+ ) - アクション:置き換えます source_labels: - __meta_kubernetes_namespaceの target_label:kubernetes_namespace - アクション:置き換え source_labelsを: - __meta_kubernetes_pod_name target_label:kubernetes_pod_nameは アラート: #の警告プロファイル alertmanagers: - kubernetes_sd_configs: #ダイナミック取得 - 役割:PODの tls_config: ca_file:は/ var / RUN /秘密/ Kubernetes。 IO / serviceaccount / ca.crt bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/トークン relabel_configs: - source_labels:[ __meta_kubernetes_namespace ] 正規表現:KUBE - システム・ アクション:保つ - source_labelsを:[ __meta_kubernetes_pod_label_k8s_app ] 正規表現:のAlertManager アクション:保つ - source_labels:[ __meta_kubernetes_pod_container_port_number ] 正規表現: アクション:ドロップ
Node部署:node_exporter
1、設定ファイルを有効にします
-fプロメテウス-configmap.yamlを適用kubectl
発効かどうかを確認するために2、
3、Grafana視覚化テンプレートを使用して:9276
4、グループを選択
図5に示すように、ノード情報(その表示に従って調整可能)