Grafana Mimir は、Grafana Labs によって開発された AGPLv3 ライセンスのオープン ソース ソフトウェア プロジェクトであり、オブジェクト ストレージと組み合わせて使用することで、Prometheus メトリック用のスケーラブルな長期ストレージを提供します。 Mimir は、マイクロサービス ベースの水平スケーラブルなアーキテクチャを使用して構築されています。各マイクロサービスはコンポーネントと呼ばれ、Mimir はこれらのコンポーネントで構成される単一のバイナリとして実行されます。ほとんどのコンポーネントはステートレスであり、再起動間でデータを保持する必要はありません。ここでは、Grafana Mimir を MinIO と組み合わせて使用します。 ミミールの特徴
Grafana Mimir の主な利点は次のとおりです。
Mimir は 10 億メトリック以上に簡単に拡張でき、クエリ パフォーマンスは Cortex の 40 倍高速です。TSDB Mimir は Cortex の代替として構築されました。 Cortex は 2018 年から CNCF プロジェクトであり、Prometheus メトリックの保存に広く使用されています。 Grafana Labs は、Mimir の作成において、AGPLv3 ライセンス、アクセス制御、パフォーマンス、スケーラビリティ、使いやすさの向上を通じて、エンタープライズ グレードの可観測性の基盤を築きました。 Grafana Labs の Mimir の目標は、メトリック形式に関係なく、最もスケーラブルな時系列データベースになることです。企業は、既存のコードを変更することなく、Prometheus メトリック (および連携している他のベンダーのメトリック) を使用できる必要があります。これは、可観測性におけるメトリック バックエンド ストレージの究極のソリューションとして位置付けられており、図に示すように、さまざまなメトリック プロトコルと互換性があります。 ミミール建築全体として、Grafana Mimir には 2 つのデプロイメント モードがあります。
デプロイメント モードは -target パラメータによって決定され、CLI フラグまたは YAML 構成を介して設定できます。 シングルモードモノリシック モードは、必要なすべてのコンポーネントを単一のプロセスで実行します。これはデフォルトの操作モードであり、 -target=all を指定して設定できます。シングル モードは Grafana Mimir をデプロイする最も簡単な方法であり、すぐに開始したい場合や開発環境で Grafana Mimir を使用したい場合に便利です。 -target が all に設定されている場合に実行されるコンポーネントのリストを表示するには、./mimir -modules を使用して次を表示します。 モノリシック モードは、 -target=all を使用して複数の Grafana Mimir バイナリをデプロイすることで水平方向にスケーリングできます。このアプローチにより、完全なマイクロサービス展開の構成の複雑さがなく、高可用性と大規模な拡張性が実現します。 マイクロサービスパターンマイクロサービス モデルでは、コンポーネントはさまざまなプロセスにデプロイされます。スケーリングはコンポーネントごとに行われるため、柔軟性が向上し、障害ドメインを細かく設定できるようになります。マイクロサービス パターンは、本番環境の展開に適したアプローチですが、最も複雑でもあります。 マイクロサービス モードでは、各 Grafana Mimir プロセスは、-target パラメータを特定の Grafana Mimir コンポーネント (たとえば、-target=ingester または -target=distributor) に設定して呼び出されます。 Grafana Mimir インスタンスを動作させるには、必要な各コンポーネントをデプロイする必要があります。 Grafana Mimir をマイクロサービス パターンでデプロイすることに興味がある場合は、Kubernetes と mimir 分散 Helm Chart の使用をお勧めします。 読み取り書き込み分離モード
読み取り/書き込み分離パターンは、モノリシック パターンとマイクロサービス パターンの代替手段を提供します。読み取り/書き込み分割モードでは、コンポーネントが 3 つのサービスに分割され、読み取りパスと書き込みパスの独立したスケーリングを可能にしながら、運用オーバーヘッドを削減します。これらのサービスは、コンポーネントを次のようにグループ化します。
他のモードと同様に、各 Grafana Mimir プロセスは、-target パラメータを特定のサービス (-target=read、-target=write、または -target=backend) に設定することによって呼び出されます。 ミミールコンポーネントMimir のコンポーネントは、上記のさまざまなアーキテクチャで説明されています。ここでは、Mimir のコンポーネントについて見ていきます。 圧縮機(必須)
販売代理店(必須)
インジェスター(必須)
クエリー(必須)
クエリフロントエンド(オプション)
クエリスケジューラ(オプション)
ストアゲートウェイ(必須)
定規(オプション)
アラートマネージャー (オプション)
overrides-exporter (オプション)
MimirをインストールするMimir の使い方を説明するために、ここでは Docker 経由で Mimir を使用します。 まず、次のコマンドを使用して Mimir コードを取得します。 チュートリアル ディレクトリに移動します。 ディレクトリには docker-compose.yml ファイルが含まれています。 docker-compose を直接使用して、MinIO、Mimir、Prometheus、Grafana、NGINX を起動できます。 このコマンドは次のコンテナを起動します。
起動後は、次のポートを使用してアクセスできます。
上記で開始したサービスの全体的なアーキテクチャは次のとおりです。 ここで開始する Grafana Mimir 構成ファイルは次のとおりです。 http://localhost:9009 にアクセスすると、各 Mimir コンポーネントのステータスを表示できます。 ミミルの使用Grafana にアクセスするには、ブラウザを起動して http://localhost:9000 を開きます。 Grafana を使用して、Mimir クラスターのステータスを示すダッシュボードを表示します。ダッシュボードは、表示するメトリックについて Mimir にクエリを実行します。左上隅のメニューから [ダッシュボード] をクリックし、[参照] をクリックして、このチュートリアル用にプリロードされているダッシュボードを表示します。これらのダッシュボードは、Grafana Labs のベスト プラクティス ダッシュボード、記録ルール、および Mimir を監視するためのアラートをパッケージ化した Grafana Mimir ミックスインから提供されます。 コンテナを起動した後、メトリックが Grafana ダッシュボードに表示されるまでに通常 3 ~ 5 分かかります。また、Mimir は Ingress ゲートウェイ、クエリ スケジューラ、または memcache なしで実行されるため、関連するダッシュボードは空になります。 まず、書き込み、読み取り、クエリ、およびオブジェクト ストレージのダッシュボードを参照します。たとえば、Object Storage ダッシュボードには、Mimir の起動後に発生した操作が表示されます。 記録ルールの設定記録ルールは、頻繁に必要となる式やコストのかかる式を事前に計算し、その結果を新しい時系列セットとして保存するメカニズムです。以下の手順に従って、Grafana を使用して Mimir で記録ルールを設定できます。 たとえば、sum:up ログ ルールでは、稼働していてスクレイピング可能な Mimir インスタンスの数が表示されます。ルールを作成したら、それをクエリしてダッシュボードに含めることができます。 左側のツールバーからアラート メニュー ページを開き、[アラート ルールの作成] ボタンをクリックして新しいアラート ルールを作成します。 録画ルールを構成するには、次の手順に従います。
新しい録画ルールが正しく機能していることを確認するには、左側のメニューから [探索] ページを開きます。 「メトリック」ドロップダウン リストで sum:up を選択し、右上隅の「クエリの実行」をクリックして、「インスペクター」ボタンをクリックします。下にある「データ」をクリックすると、時間リストとクエリ結果が表示されます。結果は 3 となり、Mimir のローカル インスタンスが 3 つ実行されていることを示します。 アラームルールを設定するMimir 上に構築されたアラート ルールは、Prometheus および Loki 上に構築されたアラート ルールと同じ PromQL 形式に従います。 Grafana は式を評価し、必要に応じて Alertmanager を使用してアラートを発します。 ここでは、Mimir インスタンスの数が 3 未満になったときに発生するアラームを作成します。また、左側のメニューで「アラート」をクリックし、「アラート ルール」ページに切り替えて「アラート ルールの作成」をクリックします。 ここで、Mimir または Loki アラートを選択し、アラート ルールを次のように設定する必要があります。
作成されると、Mimir のログ記録ルールとアラート ルールが表示されます。すべての Mimir コンテナがまだ実行中であるため、アラートの横に大きくてわかりやすい緑色の OK ステータスが表示されていることに注意してください。 次に、3 つの Mimir インスタンスのうちの 1 つを終了して、エラー状況をシミュレートしてみましょう (docs/sources/mimir/get-started/play-with-grafana-mimir/ ディレクトリにいることを確認してください)。 Mimir インスタンスを突然終了したため、ルールをクエリするときに Grafana が一時的にエラーを表示しました。 Mimir の内部ヘルスチェックによって、終了したインスタンスが正常でないことが検出されると、この問題は自動的に解決されます。 約 1 分後、アラームはすぐに黄色の保留ステータスを表示します。 さらに 1 分後、アラームは赤色の「発火中」状態に変わります。 Alertmanager の通知チャネルを構成すると、適切なメカニズムと連絡先にアラートが送信されます。 終了した Mimir インスタンスを復元する前に、Grafana の Explorer ページに戻り、sum:up ログ記録ルールをクエリします。 Mimir インスタンスがシャットダウンされていても、Mimir は引き続きメトリックを正しく記録していることがわかります。 最後に、Mimir インスタンスを再開します。 アラーム ページに戻ると、アラームの状態がすぐに正常に戻ることがわかります。 ここでは、Mimir 自体の Prometheus メトリックを使用し、それらを Grafana でクエリして視覚化します。また、記録ルールとアラートを設定し、条件が満たされたときにアラートが期待どおりに発生することを確認しました。また、Mimir と Grafana を構成して、MinIO から Prometheus メトリックを取得し、AlertManager を通じてアラートを発行することもできます。 Mimir は永続性のためにデータをオブジェクト ストレージに保存し、MinIO の普遍性、コスト効率、および高い耐久性を活用できるようにします。 |
<<: コンテナ化技術の進化: Docker から Kubernetes へ
>>: Kubernetesストレージ101: データ駆動型のパワーを解き放つKubernetesストレージの概念の簡単な紹介
Bilibiliは最近話題になっており、ブランド動画マーケティングや動画セルフメディアの好まれるプラ...
1月10日、Hostcatは「prometeus-2.73 Euro/KVM/512Mメモリ/120...
郭静静と霍其剛の離婚がついに終結し、ネットマーケティングの強大な力を改めて示した。数日前、新浪のブロ...
HudsonValleyHost (略して HVH) は、聖パトリックデー[注]を祝うためにフルサー...
ウェブマスターによって、ブランド構築に関する意見や実践は異なります。具体的な操作は実際の状況に基づい...
最近、淘宝網で売れているのは『童謡三百首』だけではない。国華、合中、紅康の3つの生命保険会社の金融商...
クラウドネイティブ テクノロジーを採用する組織が増えるにつれ、Kubernetes はコンテナ オー...
昨日、文化観光省がゲーム業界の主要企業15社と「報告会」を開催し、今後の「オンラインチェスおよびカー...
北京の新華社通信が12月19日に伝えたところによると(楊維漢記者)、インターネット技術の広範な応用と...
ウェブサイトの内部ページは含まれていますが、ホームページは Baidu スナップショットから消えます...
競争が激しいクラウド コンピューティング業界において、現在第 3 位のクラウド コンピューティング ...
scalahosting を紹介します。2007 年に設立され、主に米国とヨーロッパで仮想ホスト (...
7月27日のニュースによると、Emergen Researchの最新の分析によると、2027年までに...
5月9日、北京で開催されたアリババクラウドAIリーダーズサミットで、アリババクラウドCTOの周景仁氏...
Baidu の Green Radish Algorithm 2.0 が発表されて以来、インターネッ...