ホームページ  >  記事  >  運用・保守  >  【ナイチンゲール監視】初対面のナイチンゲール、相変わらず強い!

【ナイチンゲール監視】初対面のナイチンゲール、相変わらず強い!

PHPz
PHPz転載
2023-06-09 10:01:211232ブラウズ

【ナイチンゲール監視】初対面のナイチンゲール、相変わらず強い!

序文

可観測性は、ほとんどの中小企業にとって頭痛の種であり、主に次のような点で現れます。側面 :

  1. Skywalking を使用してリンク監視を実装する、ELK を使用してログ収集と監視を実装する、Grafana Prometheus を使用してインジケータ監視を実装するなど、さまざまな機能を実現するには、さまざまなオープンソース ソフトウェアを組み立てる必要があります。 。
  2. 各オープンソース ソフトウェアの背後には独立したシステムがあり、以前は互いに独立していました (Grafana Family Bucket は統合されました)。
  3. データ アイランド、リンク、ログ、インジケーターはすべて分離されており、接続は確立されません。現在市場に出回っているソリューションは、商用製品か自社開発のいずれかです。

この記事の主人公は実は統一されていません。現段階では、さまざまな機能を実装するためにさまざまなオープンソース コンポーネントがまだ使用されています。ただし、N9e ではそれらを同じメイン パネルで表示できますが、データ間の接続はまだ行われていません。

それでは、なぜまだ N9e を勉強する必要があるのでしょうか?

この方向に発展しているからです。

上で述べたように、Grafana ではすでにこれが行われています。Grafana Loki Tempo Prometheus の組み合わせに基づいて、モニタリング、インジケーター、リンクをリンクできます。N9e と Grafana の違いは何ですか?

秦氏の言葉: Grafana は監視パネルの管理に優れており、N9e はアラーム ルールの管理に優れています。

N9e は、異なるビジネス グループやグループに異なるアラーム ルールを送信して、1 つのグループで大量のアラーム メッセージが生成されることを回避できます。これにより、時間の経過とともに泣くオオカミの物語が引き起こされることになります。

ここまで述べてきましたが、N9e はどのようなものでしょうか?

以下は私が導入したシステムです。

【ナイチンゲール監視】初対面のナイチンゲール、相変わらず強い!

ご覧のとおり、このパネルでは次のことを実装できます:

  • アラーム管理
  • 時系列インジケーターのクエリ
  • ログ分析
  • リンク追跡
  • アラーム自己修復
  • 人材管理
  • ....

この方法では、複数のアプリケーション間を行き来する必要がなくなり、高速になります。

システムアーキテクチャ

アーキテクチャを理解していないと理解できなくても無駄です。

次に、N9e のアーキテクチャがどのようなものであるかを見てみましょう。アーキテクチャ ロジックから N9e がどのように動作するかを明確にすることによってのみ、展開と保守の両方に大きなメリットが得られます。

N9e には主に、セントラル コンバージェンス デプロイメント ソリューションと、以下で説明するエッジ シンキング ハイブリッド デプロイメント ソリューションがあります。

集中型展開ソリューション

最初の図:

【ナイチンゲール監視】初対面のナイチンゲール、相変わらず強い!

このソリューションは、N9e クラスターを確立することです。他のリージョンの監視データはこのクラスターに送信されるため、中央クラスターと他のリージョンの間に良好なネットワーク接続が必要です。

中央クラスターの場合、主に次のコンポーネントが含まれます:

  • MySQL: 構成情報とアラーム イベントを保存するために使用されます。
  • Redis: JWT トークン、マシンのメタ情報、その他のデータを保存するために使用されます。
  • TSDB: 監視指標を格納する時系列データベース。
  • N9e: Web リクエストの処理とアラーム エンジンの提供を行うコア サービスです。
  • LB: 複数の N9e にロード機能を提供します。

他のリージョンの場合は、Categraf をデプロイするだけで済みます。これにより、ローカルの監視データが中央クラスターにプッシュされます。

このアーキテクチャは、シンプルさと比較的低いメンテナンスコストを特徴としています。コンピュータ室間のネットワーク接続が比較的良好であることが前提ですが、ネットワークが良好でない場合は、次の解決策を使用する必要があります。

エッジ シンキング ハイブリッド展開ソリューション

【ナイチンゲール監視】初対面のナイチンゲール、相変わらず強い!

このアーキテクチャは、主にネットワーク向けの中央展開ソリューションを補足するものです。悪い状況:

  1. 時系列データベース TSDB、転送ゲートウェイ、アラーム エンジンを特定のリージョンに移動し、リージョン自体で処理できるようにします。ただし、リージョンは依然として中央クラスターとのハートビート接続を確立する必要があり、ユーザーは引き続き中央クラスターの監視パネルを通じて他のリージョンの監視情報を表示できます。
  2. Prometheus をすでにお持ちの場合は、Prometheus をデータ ソースとして直接接続することもできます。

エッジ コンピューター ルームでタイミング ライブラリ、アラーム エンジン、および転送ゲートウェイを展開する場合、アラーム ルールを同期する必要があるため、アラーム エンジンはデータベースに依存する必要があることに注意してください。転送ゲートウェイもデータベースに依存する必要があります。オブジェクトをデータベースに登録するには、関連するネットワークを開く必要があるためです。

!! # PS: この解決策の場合、ネットワーク自体が良好ではないため、ネットワークにはおそらく、まだネットワークの問題の影響を受ける可能性があります。

単一マシンの展開

ここでスタンドアロン展開を選択する必要があるのはなぜですか?

実際には、各コンポーネントを並べて展開したいと考えています。これは、N9e 動作モード全体を理解するのに役立ちます。

!! ヒント: 私は Ubuntu 22.04.1 システムを使用しています

MySQL のインストール

##!! ヒント :速度を上げるために、Maridb

# 更新镜像源
$ sudo apt-get update
# 更新软件
$ sudo apt-get upgrade
# 安装Mariabd
$ sudo apt-get install mariadb-server-10.6
をインストールしました。インストールが完了すると、自動的に開始されます。次に、データベースのユーザー パスワードを設定します。

# 连接数据库
$ sudo mysql
# 设置权限和密码
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '1234';
>flush privileges;

Redis をインストールします
# 更新镜像源
$ sudo apt-get update
# 更新软件
$ sudo apt-get upgrade
# 安装Redis
$ sudo apt install redis-server

デフォルトでは自動的に開始されます。

TSDB のインストール

N9e 用 TSDB には多くのオプションがあります:

    Prometheus
  • M3DB
  • VictoriaMetrics
  • InfluxDB
  • Thanos
ここでは VictoriaMetrics を選択します。

# 下载二进制包
$ wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.90.0/victoria-metrics-linux-amd64-v1.90.0.tar.gz
# 解压
$ tar xf victoria-metrics-linux-amd64-v1.90.0.tar.gz
# 启动
$ nohup ./victoria-metrics-prod &>victoria.log &

8428 が開始されているかどうかを確認します。

N9e をインストールします
# 下载最新版本的二进制包
$ wget https://github.com/ccfos/nightingale/releases/download/v6.0.0-ga.3/n9e-v6.0.0-ga.3-linux-amd64.tar.gz
# 解压
$ mkdir n9e
$ tar xf n9e-v6.0.0-ga.3-linux-amd64.tar.gz -C n9e/
# 检验目录如下
$ ll
total 35332
drwxrwxr-x7 jokerbai jokerbai 40964月 12 14:05 ./
drwxr-xr-x4 jokerbai jokerbai 40964月 12 14:05 ../
drwxrwxr-x3 jokerbai jokerbai 40964月 12 14:05 cli/
drwxrwxr-x 10 jokerbai jokerbai 40964月 12 14:05 docker/
drwxrwxr-x4 jokerbai jokerbai 40964月 12 14:09 etc/
drwxrwxr-x 20 jokerbai jokerbai 40964月 12 14:05 integrations/
-rwxr-xr-x1 jokerbai jokerbai 252805124月6 19:05 n9e*
-rwxr-xr-x1 jokerbai jokerbai 108380164月6 19:05 n9e-cli*
-rw-r--r--1 jokerbai jokerbai297844月6 19:04 n9e.sql
drwxrwxr-x6 jokerbai jokerbai 40964月 12 14:05 pub/

次に、N9e データベースをインポートします。

# 导入数据库
$ mysql -uroot -p <n9e.sql

現在のディレクトリの etc/config.toml ファイルにある N9e 構成ファイルを変更します。

[[Pushgw.Writers]]
# Url = "http://127.0.0.1:8480/insert/0/prometheus/api/v1/write"
Url = "http://127.0.0.1:8428/api/v1/write"

次に、N9e サービスを開始します。

# 启动服务
$ nohup ./n9e &>n9e.log &
# 检测17000端口是否启动
$ ss -ntl | grep 17000
LISTEN 04096 *:17000*:*

ブラウザに http://127.0.0.1:17000 と入力し、ユーザー名 root とパスワード root.2020 を入力してシス​​テムにログインします。

【ナイチンゲール監視】初対面のナイチンゲール、相変わらず強い!

Categraf のインストール

Categraf は、収集された情報を TSDB にプッシュする監視および収集エージェントです。

# 下载
$ wget https://download.flashcat.cloud/categraf-v0.2.38-linux-amd64.tar.gz
# 解压
$ tar xf categraf-v0.2.38-linux-amd64.tar.gz
# 进入目录
$ cd categraf-v0.2.38-linux-amd64/

設定ファイルを変更します conf/config.toml の変更箇所は以下の通りです:

[[writers]]
url = "http://127.0.0.1:17000/prometheus/v1/write"

[heartbeat]
enable = true

そしてCategrafを起動します。

$ nohup ./categraf &>categraf.log &

そうすると、メインインターフェイスの基本情報が表示されます。

【ナイチンゲール監視】初対面のナイチンゲール、相変わらず強い!

#データ ソースの追加

ここで、時系列データ インジケーターを表示しようとしても、次のことはできません。データ ソースが追加されていないため、クエリを実行します。

【ナイチンゲール監視】初対面のナイチンゲール、相変わらず強い!#次のように、[システム構成] -> [データ ソース] にデータ ソースを追加します。

##これで、対応するインジケーター データが表示されます。 【ナイチンゲール監視】初対面のナイチンゲール、相変わらず強い!

次のように、組み込みダッシュボードを通じてホストの監視データを表示することもできます。 【ナイチンゲール監視】初対面のナイチンゲール、相変わらず強い!

概要

この記事では、主に Nightingale の予備的な印象を提供し、その全体的なアーキテクチャを簡単に紹介し、その後、インストールした人をゼロからインストールするまでを説明します。 1 ナイチンゲールのコンポーネントを誰もが明確に理解できるようにするため。 【ナイチンゲール監視】初対面のナイチンゲール、相変わらず強い!

現在、Nightingale は V6 バージョンに更新されており、ELK へのアクセス、Jaeger へのアクセスなど、多くの新しい機能が試みられています。

以上が【ナイチンゲール監視】初対面のナイチンゲール、相変わらず強い!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。