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

推薦する

クラウドコンピューティングとビッグデータは業界標準となっている

大学や研究機関が毎年独自にプロジェクトを開発することから始まり、オープンソースを通じてソースコードを...

ハイパーリンクのないURLが最適化に効果的かどうかを2つの側面から分析する

ハイパーリンクのないURLが最適化に効果的かどうかを2つの側面から分析するSEO担当者は、説明的なテ...

ウェブサイトの乾癬が再浮上、ブラックリンクとの戦いが加速

最近、一部のネットユーザーがWeiboで、Dedecmsで構築された多くのウェブサイトがハッキングさ...

データ主権への中道:独自のクラウドを導入する

従来のクラウド サービスでは、データ主権と完全に管理されたエクスペリエンスのどちらかを選択する必要が...

A局は倒産寸前、B局はアメリカで株式公開中。同じ二次元世界なのに、なぜこんなにも差があるのか​​?

諺にあるように、三日月が九つの州を照らし、喜ぶ人もいれば悲しむ人もいます。どちらも二次元の世界ですが...

トップ SEO 戦略 - Google の 1 ページ目に目立つ

ジョン・ログネルド更新日: 2007 年 5 月 11 日午後 12:00 (東部標準時)翻訳:方林...

より安全でプロフェッショナルな Government Cloud 3.0 により、Inspur は「乳母」から「スチュワード」へとアップグレードできます。

[51CTO.comより引用] 近年、クラウドコンピューティング、ビッグデータ、人工知能などの新技術...

Baidu の重みをどのように改善できますか?

サードパーティのウェブマスターツールにおける「Baidu の重み」の提供に関する声明: Baidu ...

SEOに加えて、ウェブサイトのプロモーション中に学ぶべき知識がいくつかあります。

ウェブサイトのプロモーションは、決して単純な SEO ではありません。同様に、SEO の専門家は、「...

伝統的な広告に社会的要素がどのように適用されるかについての簡単な議論

広告には千年近い歴史があります。今日、伝統的な広告は大きな変化を遂げています。伝統的な広告の形態は何...

斗宇には闘志がない

第2四半期の財務報告が発表された後、斗玉の株価は同日11.01%急落した。これは斗玉の上場以来の株価...

マーケティング担当者が備えるべき資質についての個人的な議論

優れた製品とサービスを提供するだけでなく、すべての業界にとって最も重要なことは、独自のマーケティング...

abcvg: OVHは、あらゆるデータセンターでさまざまな専用サーバーを超低価格で提供しています

abcvg は非常に典型的で長年営業している再販業者で、主に OVH、Hetzner、online、...

クラウドコンピューティングがアプリケーション開発に与える影響を探る

クラウド コンピューティングは、今日の企業がアプリケーションを構築および実行する方法を変革しました。...

#おすすめ# webhostinghub - 仮想ホスティング 33% オフ/$2.99/無制限のウェブサイト構築/無料ドメイン名/SS サポート

旧仮想ホスティング ブランド webhostinghub は、現在から 8 月 31 日まで最大 7...