Google Cloudとコンテナの継続的なセキュリティ
本文の内容は、2022年5月5日にDavid de Torres Huertaが投稿したブログTen considerations for securing cloud and containers(https://sysdig.com/blog/prometheus-2-35-whats-new/)を元に日本語に翻訳・再構成した内容となっております。
先月リリースされたPrometheus 2.35では、クラウドプロバイダーとのより良い統合に焦点が当てられています。また、サービスのディスカバリー、パフォーマンス、リソースの使用状況も改善されました。
主要な変更点の1つは、Go v1.18への移行です。TLS 1.0、1.1、およびSHA1ハッシュ関数で署名された証明書のサポートに、いくつかの変更がもたらされました。
第1回 " Prometheus 2.35 - 新機能は? "へようこそ。私たちは、オープンソースのデファクトスタンダードモニタリングツールであるPrometheusを愛しています!
この記事では、いくつかの新機能と、それらがPrometheusコミュニティに与えるであろう影響について分析します。以下は編集者のピックアップ記事です。
Go 1.18がPrometheusをビルドする際のデフォルトバージョンになりました。これは認証において2つの大きな意味を持ちます。
min_version
設定パラメータでTLSの最小バージョンを定義できるようになりました(#10610)。David Lorite - Integrations Engineer at Sysdig
以前のバージョンと同様に、Prometheusはクラウドプロバイダーへのより良いサポートを追加しています。このリリースでは、Kubernetesのサービスディスカバリーで設定すると、Google Cloud Platform(GCP)のKubernetesクラスター(GKEなど)で認証するためのライブラリが含まれています。
Azureのサービスディスカバリーがより安定するようになりました。このリリース以前は、いずれかのノードがリーチャブルでない場合、クラスター全体のサービスディスカバリーが失敗しました。現在では、残りの利用可能なノードでサービスディスカバリーが継続されます。また、サービスディスカバリー中にノードの準備ができていない場合に登録するためのメトリクス(prometheus_sd_azure_failures_total
) が含まれています。この新しいメトリクスを使用して、Azureサービスディスカバリーの問題を検出するアラートを設定することができます。
rate(prometheus_sd_azure_failures_total[5m]) > 0
さらに、Azureサービスディスカバリには、 ResourceGroup
フィルターが含まれるようになりました。これは、特に複数のAKSクラスターを実行している場合、AzureではARM APIリクエストがレート制限されているため、Prometheusサービスディスカバリーの負荷を軽減するのに役立ちます。
Carlos Adiego - Integrations Engineer at Sysdig
このバージョンでは、Kubernetesのサービスディスカバリーに2つのエキサイティングな変更が含まれています。
labelmap
というアクションを使うことができます。
action: labelmap regex: __meta_kubernetes_node_(.+) replacement: 'kubernetes_node_$1'
EndpointSlice
Kubernetes エンドポイントは Kubernetes 1.22 で非推奨となったため、v1Beta1 から v1 へ昇格しました。David de Torres - Engineering manager at Sysdig
もっと詳しく知りたいですか?Kubernetes 1.24における新機能は?をチェックしてください!
Prometheusには、すでにクエリーのタイミング統計がありました。しかし、応答時間をベースにしているため、システムの負荷や他の並列クエリーによって、同じクエリーでも実行時間が異なることがあります。そこで、今回のバージョンアップでは、 totalQueryableSamples
, totalQueryableSamplesPerStep
, and peakSamples
という3つの新しい統計情報を搭載することにしました。
これは、複雑なクエリーの最適化に取り組んでいるエンジニアにとって大きなニュースです。これにより、構築したクエリーの性能を評価し、比較することができるようになりました。
Aleksandar Ponjavic - Engineering Manager at Sysdig
このバージョンでは、TSDBの起動に関わる2つの機能強化が行われています。
Jesús Ángel Samitier - Integrations Engineer at Sysdig
Prometheus 2.35では、Goの GOMAXPROCS
環境変数をコンテナCPUリミットに設定する新機能が追加されました。この機能により、プロセスがリミット値を超えて消費することがなくなります。この機能はまだ実験的なもので、 --enable-feature=auto-gomaxprocs
で有効にすることができます。
Carlos Arilla, Technical product manager at Sysdig
以上が私たちのチームによって選ばれた新機能ですが、他にもまだまだあります。Prometheus 2.35の公式リリースノートには、変更点の全リストが掲載されています。