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ストレージの概念の簡単な紹介
2019 年 11 月 14 日 - エクスペリエンス経済の時代において、オラクルは技術革新にこだわ...
2009年に設立されたblueangelhostは、主にオフショアホスティング関連の事業を運営してお...
新しい技術の登場や時代の変化に合わせて、WOTサミットも歩み続け、今年で7年目を迎えました。 201...
[原文記事:51CTO.com] 中国の中立的クラウドコンピューティングサービスプロバイダーであるU...
新しいメディアの人たちは本当に本当に本当に本当にかわいいです。この小さな箱の中にいる人々は、特定の人...
インターネットマーケティングソフトウェア市場で伝統と革新が対決最近、複合マーケティングソフトウェアと...
Dreamhostは長い間私のブログに登場していませんでした。主な理由は、費用対効果が高くないことと...
【Ebrun Power Networkニュース】5月4日、Ebrun Power Networkは...
正直に言うと、今日のトラフィックをめぐる厳しい市場環境では、主流のチャネルからのトラフィックはますま...
AI駆動型クラウドマネージドサービス(MSP)企業Bespin Globalは、シリーズB資金調達で...
Reversehosts は設立されてから半年以上経った新しい VPS ビジネスです。元のサーバーは...
ユーザー エクスペリエンスの最適化 (UEO) は頭痛の種です。Web サイトが魅力的でなければ、存...
cloudserverは2006年に設立されたアメリカの企業で、現在はロサンゼルス、シカゴ、ニューヨ...
「ワン・ステップ・アウェイ」は悪い映画か、それとも良心的な作品か?この問題は最近激しく議論されており...
spinserversは今月初め、中国電信のネットワークに接続されたサンノゼデータセンターに独立した...