NATS測量士による高度モニタリング
8744 ワード
この記事では、我々は設定されますnats-surveyor 高度監視のためにNATS servers 通しPrometheus and Grafana .
NATS測量士はNATSサーバを投票しますStatz プロメテウスのデータを生成するメッセージ.これは、単一の輸出国は、任意のNATSサーバーに接続し、余分な監視コンポーネントやサイドカーを必要とせずにNATS展開の全体像を取得することができます.
これは本当に私たちは今のために生成されたデータを接続できるように強力ですPrometheus と同様に可観測プラットフォームのセットアップダッシュボードGrafana .
地元のスーパークラスターを設定して測量サービスを始めましょう.
ローカルクラスター
ローカルスーパークラスタを設定するにはthis repo . トポロジーです.
測量士
私たちのローカルスーパークラスタが稼働しているので、セットアップができますnats-surveyor .
今のところ、我々はそれを行うdocker and docker-compose .
注:また、インストールすることができます
デモデータの生成
トラフィックを生成するために
注:以前のNATS CLIについてもっと学びましょう.
また、使用することができます
今、我々は行くことができるはずですGrafana 走る
注:ログイン画面が表示される可能性があります
クライアント
クライアントダッシュボードでは、遅い消費者、サブスクリプション、1秒あたりの接続、および大いに多くのようなものを監視することができます.
クラスター
クラスタダッシュボードでは、帯域幅とメッセージ数秒で何クラスタを実行しているかを見ることができます.
概要
概要ダッシュボードは、ルートやゲートウェイの接続で実行されているどのように多くのサーバーとクラスタについての基本的な情報を提供します.
その非常識な300 Kのメッセージ/秒をチェックアウトし、それが開発マシンにある!
ネットワーク使用
ネットワークダッシュボードは、どのくらいのデータが送られているか、または我々のクラスタで受信されているすべてについてです.
ノードリソースの使用
このダッシュボードは個々のノードに関する情報を提供し、CPUのようなメトリックやノードのメモリ使用量を提供します.
スーパークラスター
このダッシュボードは、スーパークラスタレベルで動作し、スーパークラスタの帯域幅、接続、メッセージレートなどのメトリクスを提供し、はるかに.
これは本当に簡単に複数のスーパークラスタを監視することができます.
この記事では、NATS Surveyorをセットアップします.そして、それは簡単に1つのコマンドとして我々のNATsサービスのためにセットアップ・モニタリングを簡単にします.それはあなたがスケールでNATSと分散システムを実行している場合が必要です.チェックアウトしてくださいdocs を参照してください.
私は、この記事が有用であることを望みますreachout あなたがどんな問題にでも直面するならば、私に.良い一日を!
NATS測量士とは何か
NATS測量士はNATSサーバを投票しますStatz プロメテウスのデータを生成するメッセージ.これは、単一の輸出国は、任意のNATSサーバーに接続し、余分な監視コンポーネントやサイドカーを必要とせずにNATS展開の全体像を取得することができます.
これは本当に私たちは今のために生成されたデータを接続できるように強力ですPrometheus と同様に可観測プラットフォームのセットアップダッシュボードGrafana .
セットアップ
地元のスーパークラスターを設定して測量サービスを始めましょう.
ローカルクラスター
ローカルスーパークラスタを設定するにはthis repo . トポロジーです.
$ git clone https://github.com/ColinSullivan1/nats-local-supercluster.git
$ cd nats-local-supercluster
$ ./start_supercluster.sh
測量士
私たちのローカルスーパークラスタが稼働しているので、セットアップができますnats-surveyor .
今のところ、我々はそれを行うdocker and docker-compose .
注:また、インストールすることができます
nats-surveyor
から直接Github releases も$ git clone https://github.com/nats-io/nats-surveyor.git
$ cd nats-surveyor/docker-compose
$ ./survey.sh "nats://$(ipconfig getifaddr en0):4000" 9 ../../nats-local-supercluster/auth/nkeys/creds/myoperator/SYS/SYS.creds
[+] Running 3/0
⠿ Container nats-surveyor Created 0.0s
⠿ Container prometheus Created 0.0s
⠿ Container grafana Created 0.0s
Attaching to grafana, nats-surveyor, prometheus
...
使用方法通知ipconfig getifaddr en0
システムの現在のIPアドレスを取得するSYS.creds
NATS測量士と.デモデータの生成
トラフィックを生成するために
nats bench
コマンド注:以前のNATS CLIについてもっと学びましょう.
$ nats bench -s 127.0.0.1:4000 --msgs 100000000 --pub 1 --sub 1 --creds ../../nats-local-supercluster/auth/nkeys/creds/myoperator/myaccount/myuser.creds subject
16:38:53 Starting pub/sub benchmark [subject=subject, msgs=100,000,000, msgsize=128 B, pubs=1, subs=1]
16:38:53 Starting subscriber, expecting 100,000,000 messages
16:38:53 Starting publisher, publishing 100,000,000 messages
Finished 40s [==========================================] 100%
Finished 40s [==========================================] 100%
NATS Pub/Sub stats: 4,924,665 msgs/sec ~ 601.16 MB/sec
Pub stats: 2,462,354 msgs/sec ~ 300.58 MB/sec
Sub stats: 2,462,346 msgs/sec ~ 300.58 MB/sec
はい、私たちはちょうど同じマシン上でスーパークラスタを実行しながら、わずか40秒で1億のメッセージを転送!NATSは驚くべきパフォーマンスを持っています.また、使用することができます
nats bench
with --pubsleep
ダッシュボードを見ながら、バックグラウンドでリアルタイムトラフィックをシミュレートするフラグ.$ nats bench -s 127.0.0.1:4000 --msgs 100000000 --pubsleep 1ms --pub 1 --sub 1 --creds ../../nats-local-supercluster/auth/nkeys/creds/myoperator/myaccount/myuser.creds subject
14:24:20 Starting pub/sub benchmark [subject=subject, msgs=100,000,000, msgsize=128 B, pubs=1, subs=1, js=false, pubsleep=1ms, subsleep=0s]
14:24:20 Starting subscriber, expecting 100,000,000 messages
14:24:20 Starting publisher, publishing 100,000,000 messages
Receiving 18s [--------------------------------------------------------------] 0%
Publishing 18s [--------------------------------------------------------------] 0%
モニタリング
今、我々は行くことができるはずですGrafana 走る
[localhost:3000/dashboards](http://localhost:3000/dashboards)
すべての利用可能な監視ダッシュボードを参照してください.注:ログイン画面が表示される可能性があります
admin
パスワードはadmin
ここでは、クライアント、クラスタ、NATSの概要、ネットワークの使用方法、スーパークラスタなどのような別のダッシュボードを見ることができます.クライアント
クライアントダッシュボードでは、遅い消費者、サブスクリプション、1秒あたりの接続、および大いに多くのようなものを監視することができます.
クラスター
クラスタダッシュボードでは、帯域幅とメッセージ数秒で何クラスタを実行しているかを見ることができます.
概要
概要ダッシュボードは、ルートやゲートウェイの接続で実行されているどのように多くのサーバーとクラスタについての基本的な情報を提供します.
その非常識な300 Kのメッセージ/秒をチェックアウトし、それが開発マシンにある!
ネットワーク使用
ネットワークダッシュボードは、どのくらいのデータが送られているか、または我々のクラスタで受信されているすべてについてです.
ノードリソースの使用
このダッシュボードは個々のノードに関する情報を提供し、CPUのようなメトリックやノードのメモリ使用量を提供します.
スーパークラスター
このダッシュボードは、スーパークラスタレベルで動作し、スーパークラスタの帯域幅、接続、メッセージレートなどのメトリクスを提供し、はるかに.
これは本当に簡単に複数のスーパークラスタを監視することができます.
結論
この記事では、NATS Surveyorをセットアップします.そして、それは簡単に1つのコマンドとして我々のNATsサービスのためにセットアップ・モニタリングを簡単にします.それはあなたがスケールでNATSと分散システムを実行している場合が必要です.チェックアウトしてくださいdocs を参照してください.
私は、この記事が有用であることを望みますreachout あなたがどんな問題にでも直面するならば、私に.良い一日を!
Reference
この問題について(NATS測量士による高度モニタリング), 我々は、より多くの情報をここで見つけました https://dev.to/karanpratapsingh/advanced-monitoring-with-nats-surveyor-4cefテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol