図 |監視システム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 解説と実践的な運用

推薦する

タオバオストアレビューウェブサイトを3か月間運営した経験

タオバオアフィリエイトは2009年に登場しました。安定性、収益性、評判の良さ、プロモーション方法の多...

モバイルインターネットの状況に直面して、Baidu は混乱するべきでしょうか?

最近、インターネット技術製品をめぐる合併や買収が相次いでおり、アリババグループがUCの株式を増やして...

エッジでのコンピュータビジョンの 7 つの主要アプリケーション

エッジ コンピューティングは、コンピューター ビジョンをインテリジェント システム、スマート デバイ...

OVH スーパーハイディフェンス VPS: シンガポール、シドニー、半額プロモーション、2.88 ドルから

OVH のアジア太平洋データセンターの VPS がセール中です: シンガポール VPS、オーストラリ...

raksmart: 米国サンノゼデータセンターのプレミアムネットワークラインVPSの簡単なレビュー

raksmartは、米国の老舗データセンターとしてよく知られているはずです。同社は、CN2 ONLY...

sugarhosts-ウェブサイトの改訂、台湾データセンター、香港サーバー+VPSなどを追加。

長年使用されてきたsugarhostsの以前のウェブサイトがついに置き換えられました。新しいバージョ...

BandwagonHost VPS: 米国東海岸のニュージャージーデータセンター「US - New Jersey (USNJ)」の簡単な評価

現在、米国東海岸でまだ販売中の唯一のデータセンターは「米国ニュージャージー(USNJ)」です。中国か...

Kubernetes で絶対にしてはいけない 10 の間違い

DevOps 開発モデルの普及により、Kubernetes はテクノロジーの世界を急速に席巻していま...

非営利のウェブサイトの価値はクリック数だけで測れるというのは本当ですか?

最近、私の友人が非営利のウェブサイトを売りたいと考えており、交渉中の買い手がいたものの、価格に合意で...

対外貿易促進サービスプラットフォームは、どうすれば企業ユーザーを迅速に獲得できるのでしょうか?

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています過去2年間...

ロサンゼルスのデータセンターにあるshockhostingのVPSの簡単なレビューでshockhostingの仕組みを説明します

shockhosting は広告もほとんどなく、非常に控えめな中小規模のサーバー業者ですが、製品の品...

英語の文字を含む大文字と小文字のキーワードの違い

細部が成功と失敗を決めると言われますが、SEO にも同じことが当てはまります。今では、このことを深く...

インタビューシリーズ再開:JVM編

[[428155]]この記事はWeChatの公開アカウント「三太子敖冰」から転載したもので、著者は三...

AppleとMicrosoftのWebサイトのユーザビリティからマーケティング重視のWebサイト構築を考える

起業家および事業主の皆様へ:こんにちは、マーケティング反逆者です。ここで皆さんにシェアするのは、Pi...

新しい仮想ネットワーク アーキテクチャ - ケーブルの導入

この記事では主に、さまざまなオーケストレーション システムのネットワーク モジュールの管理を統合し、...