図 |監視システムPrometheusの原理

図 |監視システムPrometheusの原理

この記事では、Prometheus の原理をグラフィカルに分析します。この記事の主な内容は次のとおりです。

1. プロメテウスとは何ですか?

ELK Stack ログ収集および取得プラットフォーム、Elasticsearch + Filebeat + Logstash + Kibana については、誰もがよく知っているはずです。

ELKアーキテクチャ

Prometheus は ELK 全体に相当しますが、大量のログを保存したり、長期保存したりするには適していません (デフォルトの保存期間は 15 日間です)。その利点は、最新の傾向データとアラームメカニズムを表示できることです。次の図は Prometheus のアーキテクチャ図です。

プロメテウスのアーキテクチャ、公式サイトより

Prometheus は、アプリケーションから時系列データをリアルタイムで取得し、強力なルール エンジンを使用して、環境を監視するために必要な情報を特定するのに役立ちます。

メトリックベースのシステムである Prometheus は、イベントやログなどを保存するのには適していません。傾向の監視に適しています。データの正確性が必要な場合は、ELK またはその他のログ アーキテクチャを検討できます。

プロメテウスの特徴

  • オープンソースの監視ツール。
  • 時系列データベースTSDBストレージをベースに、Golang実装
  • SoundcloudはGoogle Borgmonによって開発されました
  • 多次元(ラベル)
  • プルベースのデータ取得
  • ホワイトボックスとブラックボックスの両方の監視をサポートし、DevOpsに適しています
  • メトリクスとアラートモード、ログ/トレースではない
  • 豊かなコミュニティエコロジー(多言語、多様な輸出業者)
  • 単一マシンのパフォーマンス

数百万の時系列データの消費

数千のターゲットをサポート

プロメテウスの欠点

Prometheus は主にパフォーマンスと可用性の監視に使用され、ログ、イベント、トレースなどの監視には適していません。

最近のデータに重点​​が置かれており、デフォルトでは 15 日間の監視データが保存されます。

2. Prometheus メトリクス収集

次の図は、ターゲットとエンドポイントを表示し、現在 Prometheus でキャプチャできるターゲット サービスを示す Prometheus WebUI インターフェースです。

  • エンドポイント: エンドポイント。キャプチャできるメトリックのソース。
  • ターゲット: エンドポイント アドレス、ポート ステータス、その他の情報を含むターゲット。

Prometheus スクレイピング ターゲットの構成は次のとおりです。

 -ジョブ名: mysqld
静的構成:
-ターゲット: [ '192.168.0.100:9104' ]
ラベル:
インスタンス: mysql -エクスポーター

ジョブ: 同じ役割または機能を持つ目標のグループを表します。

インスタンス: 現在のホストで実行されているエクスポータ監視プログラムはインスタンスと呼ばれます。

ターゲットインジケーターデータがキャプチャされた後、時系列データが生成され、Prometheus サーバーにローカルに保存されます。サーバーから外部ストレージや他の時系列データベースにデータを送信するように設定することもできます。

3. プロメテウス収集方法

Prometheus は、直接収集と間接収集を通じてデータを収集できます。

直接および紹介コレクション

直接収集は追跡タイプです。たとえば、独自のアプリケーションは Prometheus クライアント コードを使用してデータを追跡します。たとえば、etcd、kubenetes、docker が直接収集されます。彼らはすでにポイントを埋め込み、メトリックのブレークポイントを公開しています。これらは Prometheus に対応しており、すでに埋められているため、Prometheus を使用してキャプチャできます。

ただし、オペレーティング システム、Redis、MySQL などの一部のブラック ボックス システムについては、成熟した製品であるため、通常は変更しません。この場合、通常は間接的な収集方法を使用します。

4. 輸出業者監視プログラム

Prometheus が間接コレクションを使用する場合、中国語で exporter を意味する Exporter が必要です。内部からデータをエクスポートするものとして理解できます。

エクスポーターは、次の図に示すように、サイドカーやエージェントに似た Prometheus の概念です。

間接収集モードのエクスポーター

エクスポータは、ブラック ボックス システムからデータを収集するために使用されます。ブラックボックスからデータを取得し、Prometheus が取得するためのメトリック エンドポイントを公開します。 Prometheus は、エクスポーターを介してこれらのターゲット上のデータを間接的に取得できます。

エクスポータは基本的に、収集されたデータを対応するテキスト形式に変換し、Prometheus が定期的にデータを収集するための HTTP インターフェイスを提供します。

オペレーティング システム用の Node-Exporter、MySQL 用の mysql-exporter など、多くのエクスポーターが存在します。

ノード エクスポータ サービスは、Linux サーバー上のディスク、メモリ、およびその他のデータを収集するために Linux サーバー内に展開されます。次にポートが公開され、Prometheus はこのポートを通じてデータをクロールします。

MySQL サーバー上の mysql-exporter についても同様です。実際、mysql-exporter は監視対象の MySQL サーバーにデプロイする必要はなく、異なるマシンに個別にデプロイできます。

Prometheus クライアント インターフェースからは、どのターゲットがキャプチャされているかを確認することもできます。これらのターゲットは、エクスポーター ポートを通じて公開されます。

この公式ウェブサイトのリンクから、多くの輸出業者を見ることができます

 https://prometheus.io/docs/instrumentation/exporters/

5. プロムQL

PromQL は SQL と非常によく似ていますが、実際には別のクエリ言語です。

Prometheus は強力な式言語 PromQL (Prometheus Query Language) を提供します。 PromQL を使用すると、ユーザーは時系列データをリアルタイムで選択して集計できます。これは、Prometheus 自体によって開発されたデータ クエリ DSL (ドメイン固有言語) です。このクエリ言語を使用すると、さまざまな集計、分析、計算を実行できるため、管理者は指標に基づいてシステムのパフォーマンスをより深く理解できます。

下の図に示すように、PromQL は Prometheus に組み込まれています。 Prometheus WebUI、Grafana、API クライアントを介してクエリを実行します。

以下は Prometheus WebUI インターフェースです。

以下はGrafanaのインターフェースです。通常は、Grafana を使用して一緒に監視します。

6. 監視と警報

アラートを送信する

Prometheus アラーム ルールがトリガーされると、情報は独立したコンポーネント Alertmanager に送信されます。アラームが処理されると、受信者(電子メールなど)を通じてユーザーに通知されます。 (アラームルールはPrometheusサーバー上で定義されます)

警報回路図

Prometheus 監視システムでは、インジケーターの収集と保存はアラームから分離されています。

Prometheus サーバーを使用してさまざまな監視指標を収集し、PromQL に基づいてこれらの指標のしきい値アラーム ルール (ルール) を定義します。

Prometheus サーバーは定期的にアラーム ルールを計算します。アラームのトリガー条件が満たされると、アラーム メッセージが生成され、Alertmanager コンポーネントにプッシュされます。

アラート情報を受け取った後、Alertmanager はアラートを処理し、グループ化して電子メール、DingTalk などの適切な受信者にルーティングし、最後に異常なイベントの通知を受信者に送信します。

七。結論

Prometheus のメリットとデメリット、インジケーターの収集、収集方法、エクスポーター、PromQL、監視アラームなどをグラフィックで紹介します。クラウド ネイティブ モニタリングに取り組むすべての人にとって、これがインスピレーションをもたらすことを願っています。

<<:  天一クラウドは、企業のデジタル変革を支援するために独自のクラウドオペレーティングシステムTeleCloudOS4.0を開発しました。

>>:  「クラウドネイティブ」Apache Livy on k8s 解説と実践的な運用

推薦する

AlibabaはOpenJDKの長期サポート版であるAlibaba Dragonwellをオープンソース化し、コミュニティへの還元を継続します。

3月19日のメディア報道によると、アリババはOpenJDKの長期サポート版であるAlibaba Dr...

Lu Songsong: ウェブサイトの品質評価基準

ウェブサイトの品質を測る基準がウェブサイト品質です。現在、検索エンジンには公開された統一基準はありま...

信頼できる「香港の格安VPS」業者をいくつか推薦します

信頼できる香港の VPS 業者をいくつかお勧めします。その多くは (安価な香港 VPS) 香港の安価...

4つの主要な分散トランザクションソリューションの詳細な説明

分散トランザクションは分散システムでよく見られ、大企業でも頻繁に調査されています。以下では、4つの主...

サーバー仮想化ソリューションについて話す

1. 中小企業における仮想化導入の重要性今日の x86 サーバーは、一度に 1 つのオペレーティング...

ブランドマーケティングプログラム運用マニュアル

私自身の業務経験や情報をもとにまとめたブランドマーケティング運用マニュアルです。ブランド マーケティ...

SaaS アプリケーションで AI スノーボールはどのように大きくなるのでしょうか?

Shopify の不正防止機械学習から Salesforce の Einstein まで、過去数年間...

PBレベルの分散ストレージであるCephを見てみましょう

最近、友人からストレージ アプリケーションにブロックチェーンを使用するというトピックについて尋ねられ...

世界のDevOps業界における最新の給与動向

Puppet は世界中の 2,600 人以上の技術専門家を対象に調査を実施し、高所得層の報酬レベルが...

Apple Music、映画、書籍サービスが中国に進出

アップルは9月30日、中国本土のユーザー向けにApple Music、iTunesムービー、iBoo...

ニーズに合ったウェブサイトのページタイトルを書くための4つのステップ

キーワード素材を使用して、次に行うことは、Web サイトとターゲット ユーザー グループに適したタイ...

AlibabaはRISC-Vアーキテクチャの成熟を促進するためにXuantie RISC-Vシリーズプロセッサをオープンソース化しました

10月19日、2021年雲奇カンファレンスにおいて、アリババクラウドインテリジェンスの張建鋒社長は、...

安定した VPS の推奨: ServerHub / SSD ハードドライブ / Phoenix データセンター

ServerHub は、ドメイン名登録、仮想ホスティング、VPS、サーバーレンタルなど、さまざまなサ...

UCloud が BFSU Online と提携し、教育の情報化を強化

習近平総書記は「誰もが学び、どこでも学び、いつでも学べる」学習社会の構築を提案した。同時に、第19回...

スーパーマーケットは新しいマーケティング戦略を考案しました。オンライン マーケティングの新しい戦略を考案しましたか?

みなさんこんにちは。私はHongtu Internetです。私は週に一度スーパーマーケットに買い物に...