Logz.ioは先頃、インフラストラクチャ監視製品にPrometheus-as-a-Serviceを追加したことを発表した。このサービスには、Prometheusのメトリックコレクションが、Grafana、ELK、および最近追加されたJaegerを含むLogz.ioプラットフォームに組み込まれている。Logz.ioに含まれるデータ相関機能により、メトリック、トレース、およびログをすべて単一のプラットフォーム内で接続できる。
Prometheusは、リアルタイムのメトリックを時系列データベースに記録するオープンソースの監視ソリューションだ。これは、Kubernetesに続いて2016年にCloud Native Computing Foundationに参加する2番目のホストプロジェクトだった。Prometheusのデータモデルは、メトリック名とキー/値のペアで識別される時系列データを格納する。このデータにアクセスして操作するためのクエリ言語としてPromQLが含まれる。
Prometheus-as-a-Serviceは、Prometheusによって収集されたメトリックを保存するためのリモートロケーションを提供する。Logz.ioによると、彼らは長期保存ソリューションとしてM3を活用している。現在のPrometheusユーザの場合、各Prometheusサービスの構成ファイルを拡張することにより、Logz.ioのサービスに切り替えることが可能だ:
remote_write:
- url: http://54.209.186.182:8050
bearer_token: ENfcuKmmnXPtHUPVYhYL
これは、Prometheusのリモート書き込み機能を利用して、ログをLogz.ioのマネージドサービスに転送し、デフォルトで18か月間保存される。url
と bearer_token
は、Logz.ioアカウントからアクセスできる。Prometheusの自動検出やスクレイピングの実装を調整する必要はない。
Logz.ioの製品エバンジェリストであるDotan Horovits氏は、最近のInfoQのアーティクルで、「スケーラビリティはPrometheusのアキレス腱です。現在の監視には、積極的なダウンサンプリングでデータの粒度を犠牲にすることなく、履歴データを長期間保持できるクラスター化されたソリューションが必要です」と述べている。Horovits氏は、時系列データベース (TSDB) を活用して、長期ストレージを提供することでこの課題を克服できることを示すことで、この点を追っている。Logz.ioマネージドサービスと同様の方法で、リモート書き込み機能を使用して、自己ホスト型TSDBに長期ストレージとして書き込むことができる。CNCFインキュベーションプロジェクトのCortexとThanos、前述のM3など、多くのオープンソースTSDBが利用可能だ。
Logz.ioは、可観測性プラットフォームに分散トレースを追加することも発表した。この機能はJaegerに基づいており、Prometheusの発表と同様に、データをトレースするためのホスティングサービスを提供する。Jaegerは、オープンソースの分散トレースツールであり、CNCFを卒業した。
Prometheus-as-serviceと同様に、アプリケーションは、関連するトレースデータを公開して出力するために、最初にインストルメント化する必要がある。Logz.ioは、Jaeger、Zipkin、OpenTracing、OpenCensus、OpenTelemetryなどの最も一般的なトレースプロトコルをサポートする。
データがLogz.io内に入ると、GrafanaまたはJaegerUIを介して表示できる。Logz.ioは、追加機能を提供するために両方の製品を拡張した。アラートは、メトリックとログデータの両方を使用する複数のトリガ条件を使用して構成できる。データ相関機能により、メトリックに関連付けられたログとトレースをすばやく調査できる。これには、GrafanaダッシュボードとJaegerダッシュボード内から [Explore in Kibana] ボタンを使用してアクセスする。
これにより、トレースをKibana内のログとして表示し、Jaeger内に表示されない追加のログを表示することができる。これは、Logz.ioのログ管理サービス内で関連するトレースIDを持つログを検索することで機能する。トレースをログ管理に移植することで、Kibanaの視覚化を活用してデータをさらに調査できる。
ロールベースのアクセスは、Logz.ioのサブアカウント機能を介して実現することもできる。メインアカウントは、追加のサブアカウントを作成および定義できる。各サブアカウントには、独自のアクセス制御、データボリューム、および保持期間を割り当てることができる。
Logz.ioのプラットフォームの一部として、分散トレースとインフラストラクチャ監視の両方を利用できる。詳細については、Logz.ioのWebサイトを参照してください。