本文の内容は、2023年3月22にVICTOR HERNANDO が投稿したブログ(https://sysdig.com/blog/migrating-prometheus-to-sysdig)を元に日本語に翻訳・再構成した内容となっております。
OSS Prometheus、Grafana、Alert Managerのユーザーで、Sysdig Monitorへの移行を考えているが、移行の詳細がわからないという方はいらっしゃいませんか?DIY Prometheus、Grafana、Alert Managerの代わりにSysdig Monitorを使うことでどんなメリットがあるのか気になりませんか?もしそうなら、この記事はあなたのためのものです!
Sysdig Monitorは、OSSのPrometheus、Grafana、Alert Managerと同じ機能だけでなく、それ以上のものを提供するSaaS型のクラウドネイティブ可観測プラットフォームです。Sysdigのおかげで、Kubernetesやクラウド環境における問題の監視やトラブルシューティングの負担を軽減することができます。素晴らしいオンボーディングエクスペリエンスの恩恵を受け、数分後にはインフラストラクチャー全体を監視する準備が整います。観測可能なプラットフォームのメンテナンス、スケーラビリティ、パフォーマンスの問題を心配する必要はなく、Sysdigが対処します。
このブログ記事では、OSS Prometheus、Grafana、Alert ManagerからSysdig Monitorに移行する際に念頭に置くべきことについて詳しく説明します。このプロセス自体は非常に簡単であることにすぐに気がつくでしょう。ほとんどの場合、Sysdig Monitorがアウトオブボックスで提供してくれるものに頼ればいいのです。
DIY Prometheus、Grafana、Alert Managerの代わりにSysdig Monitorを使用するメリット
すでに述べたように、Sysdig MonitorはOSSのPrometheus、Grafana、Alert Managerのバンドルと同じ機能(およびそれ以上)を備えています。OSSスタックからSysdigに移行する際、現在の機能性を失うことはなく、実際にはその逆もあります。Sysdigがアウトオブボックスで提供する膨大な機能のカタログをすぐに実感していただけると思います。
Sysdig Monitorがお客様にもたらすものについて、簡単に説明しましょう:
- Kubernetesとクラウド環境を監視し、トラブルシューティングするための統合ポータルです。Kubernetes、OpenShift、Rancherクラスターだけでなく、AWS、Azure、GCPなどの主要なクラウドプロバイダーも監視することができます。すべてのクラウド環境を一つの画面で監視することができます。
- Prometheusのエンタープライズマネージドサービスです。KubernetesとPrometheusのメトリクスのスケーラビリティ、パフォーマンス、長期保存をSysdigに任せれば、頭を悩ませることはありません。
- Sysdigには、Kubernetes環境における問題のトラブルシューティングを支援するAdvisorが付属しています。
- Cost Advisorは、無駄な支出を減らすためのツールです。過剰に費やしている領域を特定し、提案された改善策を適用してワークロードを適切化します。
- Kubernetesのコントロールプレーンコンポーネントは、アウトオブボックスで監視されます。Sysdigはこのデータをあなたに代わって引き出し、最初からすべてのコントロールプレーンコンポーネントのダッシュボードとアラートを提供します。
- あなたが望むなら、まだあなた自身のDIY Prometheusインスタンスを持つことができますが、Sysdigではもう必要ではありません!Sysdig Agentには、軽量のPrometheusインスタンスが組み込まれています。必要なものはすべてエージェントが管理します。
- Sysdigは、サードパーティ製ソフトウェアのためにPrometheusエクスポーターを提供しているので、Prometheusエクスポータについて心配する必要はありません。Prometheusエクスポーターの選択とテストに時間を費やす必要はありません。Sysdigが最適なエクスポーターを維持・提供します。
- OSS PrometheusとPrometheusエクスポータ以外にも、Grafana、Alert Manager、KSM、ノードエクスポーターなどのソフトウェアをデプロイ、設定、管理する必要がありません。Sysdigの場合、Sysdig Agentをデプロイするだけでよいのです。
- Sysdig Agentが起動したら、すぐにSysdig Monitorポータルにログインして、メトリクスの利用を開始し、すべてのデータを利用することができます。アウトオブボックスのダッシュボードとアラートが最初から用意されています。Kubernetes環境やクラウドプロバイダーだけでなく、自社のワークロード、アプリケーション、その他のサードパーティアプリケーションも監視できます。
- Sysdig AgentはeBPFを活用し、メトリクスやKernel syscallsのようなインフラストラクチャーデータを引き出します。アウトオブボックスで提供されるカーネルインサイトにより、Kubernetesの問題をより深く掘り下げることができます。
- PromQLエクスプローラーにより、メトリクスを独自に調査し、メトリクスのエンリッチメントから利益を得ることができます。メトリクスは、Kubernetesとクラウドのコンテキストを得ることができます。
- リモートライトを使用して、DIY Prometheusと同じようにエンドポイントからPrometheus用のSysdigマネージドサービスにメトリクスをプッシュします。
- DIY Prometheusのデフォルトの60秒の代わりに、10秒ごとにメトリクスをインジェストします。
以下の表は、両アプローチの違いを明確に示すことを目的としています。
DIY Prometheus + Grafana + Alert Manager | Sysdig Monitor | |
Prometheus service discovery | ✅ | ✅ |
prometheus.yaml file support | ✅ | ✅ |
PromQL | ✅ | ✅ |
Form UI for beginners | ❌ | ✅ |
PromQL explore | ❌ | ✅ |
PromQL library | ❌ | ✅ |
Remote write | ✅ | ✅ |
Alerts and recording rules | ✅ | ✅ |
Automatic and assisted third-party software monitoring | ❌ | ✅ |
eBPF granular telemetry | ❌ | ✅ |
Kubernetes and cloud events | ❌ | ✅ |
Metrics enrichment | ❌ | ✅ |
OOTB dashboards | ✅ (1) | ✅ |
OOTB alerts | ❌ | ✅ |
OOTB multi-cluster | ❌ | ✅ |
OOTB multi-cloud | ❌ | ✅ |
Scalable managed Prometheus | ❌ | ✅ |
Scalable long term storage | ❌ | ✅ |
Customizable retention | ✅ | ✅ |
Cost effective custom metrics TSDB | ❌ | ✅ |
Teams and RBAC/SSO | ❌ | ✅ |
Audit | ❌ | ✅ |
(1) Grafanaは巨大なダッシュボード・ライブラリを提供していますが、それらは多様であり、コミュニティによって維持されています。Sysdig Monitorは、最初から利用可能なアウトオブボックスのダッシュボードのセットをキュレーションし、提供しています。
Sysdig AgentとPrometheusの比較
要するに、前述の通り、Sysdig Agentには軽量のPrometheusインスタンスが組み込まれているのです。したがって、DIYのPrometheusインスタンスで行うのと同じことをSysdig Agentで行うことができます。DIYのPrometheus、Grafana、Alert Managerスタックのメンテナンスとサポートを避けることができます。スケーラビリティ、可用性、パフォーマンス、データ保持のための長期保存をSysdigに任せることで、負担を軽減することができます。
さらに、このエージェントにはeBPFインテグレーションが搭載されており、SysdigはKubernetesやPrometheusのメトリクスだけでなく、Kernel syscallsやその他のインフラストラクチャー固有のメトリクスやデータも引き出すことができます。すべてのメトリクスは処理され、Kubernetesとクラウドのコンテキストでエンリッチされます。そのため、Sysdigのお客様は、ご自身のワークロードやカスタムメトリクスを、Kubernetesのイベントやその他のインフラストラクチャーやクラウドデータと容易に相関させることができます。Sysdig Agentは、さらに多くのことを提供します: Kubernetesコントロールプレーンメトリクス、Kubernetesイベント、アウトオブボックスのシステムメトリクス、自動インテグレーション、より低位のメトリクスとデータ取り込み間隔、などなどです。
DIY Prometheusの代わりにSysdig Agentを使用する利点について詳しく知りたい場合は、こちらの記事をご覧ください。
KSM、ノードエクスポーター、cAdvisorのメトリクス移行について
GrafanaやAlert managerとともに独自のOSS Prometheusを運用・管理しているユーザーのほとんどは、Kubernetesクラスターについての洞察を得るために、KSM、Prometheusノードエクスポーター、cAdvisorに依存しています。Sysdigの新しいお客様は、現在のOSS環境からSysdig Monitorに移りましょうとなったとき、どのような道を歩むべきかを考えるかもしれません。
もっと詳しく知りたいですか?読み進めて、Sysdig Monitorへの移り方を発見してください。
KSMメトリクス
OSS KSMのメトリクスに関しては、Sysdig Monitorがアウトオブボックスで提供するものとほぼ同じです。すでにDIY PrometheusをKSMとともに使用しているユーザーは、独自のダッシュボード、アラート、その他のメトリクス関連の設定を移行できます。次の図にあるように、OSS KSMのメトリクス名はSysdig Monitorで一貫しています。
いずれにしても、Sysdig MonitorのアウトオブボックスのKSMメトリクスとダッシュボードのおかげで、移行や新しいダッシュボードの作成は必要ありません。これらはすでに提供されており、最初からアクセス可能です。
また、Sysdigは、Podやコンテナが属するワークロード(DaemonSet、Deployment、StatefulSetなど)を簡単に識別するためのKSMのラベルセットを提供しています。これにより、調査対象のワークロードの種類を知らなくても問題のトラブルシューティングが容易になり、特に重要な場面で時間と労力を節約できます。
たとえば、Pod Status & Performanceダッシュボードはこのように表示され、アウトオブボックスのKSMメトリクスが表示されます。
ノードエクスポーターメトリクス
Sysdigのノードメトリクスの名前は、OSSノードエクスポーターのメトリクスとは異なります。先に述べたように、SysdigはKubernetesノードから独自のメトリクスを収集し、さらにsyscallsから他のKernel関連データを収集します。それらは自動的にメトリクスに収束されます。そのため、Sysdigは独自の命名規則を使用しています。
例えば、OSSのノードエクスポーターから得られる node_memory_MemAvailable_bytes
相当のメトリクスは、Sysdig Monitorでは sysdig_host_memory_available_bytes
です。
Sysdig Monitorには、ノードエクスポーターと同等のメトリクスや関連するメトリクスのための多くのアウトオブボックスが付属しています。ここでは、Sysdigのお客様がアウトオブボックスのダッシュボードを使用して、ノードの状態とパフォーマンスを簡単に監視する方法の例を示します。
Sysdigは、OSS Prometheusのノードエクスポーターと同じユースケースをカバーしています。KSMメトリクスと同様に、ノードエクスポーター関連のメトリクスのためのダッシュボードの移行や新規作成は必要ないはずです。Sysdig Monitorのアウトオブボックスダッシュボードは、すでにほとんどのユーザーニーズをカバーしています。
cAdvisor メトリクス
Sysdig Monitorには、cAdvisorのデータに対する独自のメトリクスも用意されています。例えば、OSS cAdvisorで見られる同等の container_memory_usage_bytes
のメトリクスは、Sysdigでは sysdig_container_memory_used_bytes
です。
さらに、Sysdig Monitorでは、さらに深く掘り下げ、プロセスによって消費されるメモリのような、より詳細な情報を取得することができます。次の図は、 sysdig_program_memory_used_bytes
メトリクスによって、そのようなデータを取得する方法を示しています。
Sysdig Monitor に移りましょうということであれば、Sysdig のメトリクスを気にする必要はありません。Sysdig agentは、これらのメトリクスをすべて自動的に収集します。プラットフォームにログインするとすぐに、cAdvisor 関連の情報がアウトオブボックスのダッシュボードに表示されることがわかります。
カスタムメトリクスの監視
カスタムまたは独自のエンドポイントからメトリクスをスクレイピングする場合、SysdigはDIY Prometheusと同じように、Prometheus互換のサービスディスカバリーを利用します。Sysdigエージェントは、カーネルのシスコールデータをリアルタイムで検査します。そうすることで、監視したいサードパーティーのソフトウェアを検出することができるのです。
次の例では、カスタムメトリクス greeting_seconds_bucket
がSysdig Monitorによって簡単にコンシュームされることがわかります。余計な操作は一切必要なく、Sysdig Monitorプラットフォームにログインしてカスタムメトリクスの探索を開始するだけです。
パフォーマンス、安定性、可用性などの観点から、Sysdigはお客様のカスタム・メトリクスやサードパーティ・ソフトウェアに対して、アウトオブボックスのダッシュボードやアラートを数多く提供しています。これは、SysdigがMongoDBインスタンスに関する情報を、アウトオブボックスのダッシュボードで提供する例です。
アラートの移行
アラートに関しては、ユーザーはいくつかの方法でDIY PrometheusからSysdig Monitorにアラートを移行することができます。利用可能なさまざまなオプションについて説明しましょう。
メトリクスに基づいて独自のアラートを作成したい場合は、Sysdig Monitorのコンソールから支援を受けるフォームインターフェースを通じて、またはその言語に精通している場合はPromQLクエリーから直接、簡単に作成することができます。
一方、独自のPrometheusルールをインポートしたい場合もあるでしょう。その場合は、”Import Prometheus Rules “を選択することで、それを実行することができます。
ガイド付きウィザードから、または独自のPrometheusルール定義から、独自のアラートを作成する方法を説明しましたが、これだけではありません!Sysdig Monitorは、Sysdigエンジニアリングチームによって維持・管理されるライブラリに含まれる、大量の定義済みアラートを提供します。Kubernetes、クラウドプロバイダー(AWS、Azure、GCP)、そして多くのサードパーティ製ソフトウェアのアラートが最初から用意されています。
ここでは、任意のワークロードに対してContainer CPU Throttlingアラートを有効にするのがいかに簡単かを示す例です。アラートを選択し、”Enable alert “をクリックするだけです。これだけです!
前のセクションで述べたように、Sysdigは多くのサードパーティのアプリケーションのインテグレーションを自動で行い、手動で行う必要があるその他のアプリケーションについてはガイド付きのインテグレーションを提供します。サードパーティ製ソフトウェアのインテグレーションと有効化の後、ユーザーはすぐにこれらのアラートの探索と有効化を開始することができます。
まとめ
この記事では、DIY Prometheus、Grafana、Alert ManagerからSysdig Monitorへの移行プロセスについて詳しく学びました。これで、以下の質問に対する回答を得ることができるはずです: DIY Prometheusの代わりにSysdig Monitorを使用するメリットは何ですか?メトリクスに関して、両プラットフォームの主な違いは何ですか?アラートについてはどうでしょうか?また、Sysdig Monitorで独自のアラートを有効にするにはどうすればよいですか?
Sysdig Monitorは、3つの主要なクラウドプロバイダをインテグレーションし、マルチクラウドの監視体験を提供します: AWS、Azure、GCPの3つのクラウドプロバイダーを統合しています。Enterprise Prometheusマネージドサービスは、KubernetesとPrometheusのメトリクスを管理し、長期保存バックエンドに保存する責任を負っています。ユーザーは、Prometheusメトリクスのパフォーマンス、スケーラビリティ、可用性について心配する必要はもうありません。
Sysdig MonitorがKubernetesクラスターの監視とトラブルシューティングにどのように役立つかを知りたい方は、30日間のトライアルアカウントをリクエストして、ご自身で試してみてください。数分で起動し、実行できるようになります!