開発者ドキュメント

FreeBSD11でSmokePingを使用してネットワーク遅延を追跡する方法

序章

SmokePing は、ネットワーク遅延追跡ツールです。 サーバーのネットワーク遅延を追跡すると、サーバーの全体的な状態と可用性を把握するのに役立ちます。 たとえば、ネットワークが過負荷であるかどうかを判断したり、パケット損失を警告したりするのに役立ちます。これは、ルーター構成が正しくないか、デバイスがダウンしていることを示している可能性があります。

SpokePingの作成者であるTobiasOetikerは、RDDtoolと呼ばれるデータロギングおよび時系列グラフ作成ユーティリティも作成しました。 SmokePingはRDDtoolを使用するため、高度なグラフ作成機能にもアクセスできます。

このチュートリアルでは、FreeBSDでApacheを使用してSmokePingをインストールおよび構成する方法を説明します。

Note: As of July 1, 2022, DigitalOcean no longer supports FreeBSD Droplets through the Control Panel or API. However, you can still spin up FreeBSD Droplets using a custom image. Learn how to import a custom image to DigitalOcean by following our product documentation.

前提条件

このチュートリアルに従うには、次のものが必要です。

A FreeBSD server requires an SSH key for remote access. SSHキーの設定については、FreeBSDサーバーでSSHキーベースの認証を設定する方法をお読みください。 To learn more about FreeBSD servers and basic management, check out the Getting Started with FreeBSD tutorial series.

ステップ1—FastCGIをサポートするApacheのインストール

まず、Apache WebサーバーとそのFastCGIモジュールをインストールします。これは、SmokePingがWebインターフェイスに電力を供給するために使用します。

まず、サーバーのリポジトリ情報を更新します。

  1. sudo pkg update

FastCGIをサポートするApacheをインストールするには、次のように伝えることができます。 pkg FastCGIモジュールをインストールします。 pkg モジュール自体に必要なすべての依存関係を処理するため、メインのApacheパッケージも自動的にインストールされます。

  1. sudo pkg install ap24-mod_fcgid

を押してインストールを確認します Y. Apacheをインストールしたら、それを機能させるためにカスタマイズする必要があります。

ステップ2—Apacheの構成

Apacheに加える必要のある2つの小さな変更があります。 httpd.conf FastCGIモジュールを有効にします。

まず、開く /usr/local/etc/apache24/httpd.conf 編集用。

  1. sudo ee /usr/local/etc/apache24/httpd.conf

以下の2つのディレクティブを編集します。 設定 ServerAdmin あなたのメールアドレスに、そしてコメントを外します(前の部分を削除することによって #)編集します ServerName サーバーのIPアドレスに。

httpd.conf
. . .
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.  e.g. admin@your-domain.com
#
ServerAdmin your_email_address

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName your_server_ip
. . .

ファイルを保存して閉じます。

FastCGIはデフォルトのモジュールではないため、ロードするにはApacheの構成に追加する必要があります。 モジュールをロードするには、で新しい構成ファイルを作成する必要があります /usr/local/etc/apache24/modules.d/ モジュール情報を追加します。

にあるモジュールREADME /usr/local/etc/apache24/modules.d/README_modules.d、「名前が3桁の数字で始まり、その後に続く場合、ファイルは自動的に含まれます。 _ で終わる .conf」。 これに準拠するために、というファイルを作成します 001_fcgid.conf.

  1. sudo ee /usr/local/etc/apache24/modules.d/001_fcgid.conf

以下をファイルに貼り付けます。これにより、Apacheにモジュールをロードするように指示し、モジュールの場所を指定します。

/usr/local/etc/apache24/modules.d/001_fcgid.conf
LoadModule	fcgid_module			libexec/apache24/mod_fcgid.so

ファイルを保存して閉じます。

FastCGIを使用したApacheがセットアップされたので、SmokePing自体をインストールできます。

ステップ3—SmokePingのインストールと構成

SmokePingはパッケージリポジトリにあるため、インストールは簡単です。

  1. sudo pkg install smokeping

SmokePingの構成は /usr/local/etc/smokeping/config デフォルトでは。 いくつかのフィールドをカスタマイズするには、このファイルを編集する必要があります。

  1. sudo ee /usr/local/etc/smokeping/config

***一般***セクションの4つのフィールドを編集する必要があります。

完了すると、ファイルは次のようになります。

/ usr / local / etc / smokeping / config
*** General ***

owner    = your_name
contact  = your_email_address
mailhost = my.mail.host
. . .
imgcache = /usr/local/smokeping/htdocs/img
imgurl   = http://your_server_ip/smokeping/img
datadir  = /usr/local/var/smokeping
piddir  = /usr/local/var/smokeping
cgiurl   = http://your_server_ip/smokeping.fcgi
. . .

SmokePingは、それらの用語を使用するために、マスター/スレーブアーキテクチャをサポートしています。 このチュートリアルでは、1台のマシンでSmokePingを設定するだけです。 したがって、構成の *** Slaves *** セクションの前に、各行の前に #.

/ usr / local / etc / smokeping / config
. . .
# *** Slaves ***
# secrets=/usr/local/etc/smokeping/smokeping_secrets
# +boomer
# display_name=boomer
# color=0000ff
#
# +slave2
# display_name=another
# color=00ff00
. . .

次のステップで編集を続けてSmokePingのターゲットを設定するため、このファイルは開いたままにしておきます。

ステップ4—ターゲットを定義する

SmokePingの構成ファイルに最後に追加するのはターゲットです。 SmokePingの説明を言い換えると、 targets は、システムが監視する必要のあるネットワーク接続のエンドポイントをマークするホストの階層リストです。 すべてのターゲットは、使用するプローブの種類を指定します。これにより、外部pingコマンドがSmokePingに統合されます( fping など)。

このチュートリアルでは、サーバーと2つのFreeBSDの間の待ち時間を監視する構成をセットアップします。 pkg ミラー。 3つのグラフを作成します。2つは2つのミラーサーバーのそれぞれのレイテンシーを個別に示し、もう1つは両方のミラーサーバーのレイテンシーを同時に示します。

ターゲットは、SmokePingの構成ファイルの***ターゲット***セクションで構成されます。 ターゲットをカスタマイズするために使用できる変数はたくさんありますが、ここでは、以下を使用します。

まず、既存のサンプル構成を削除して、ファイルの終わりが次のようになるようにします。

**ターゲット**/usr / local / etc / smokeping/configのセクション
. . .
*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
         Here you will learn all about the latency of our network

次に、既存のデフォルト設定で次の構成をコピーして貼り付けます。

**ターゲット**/usr / local / etc / smokeping/configのセクション
. . .
*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Welcome to the SmokePing website of xxx Company. \
         Here you will learn all about the latency of our network

+ targets
menu = Targets
title = Targets' Latency Probed with fping

    ++ pkgmir_nyi
    menu = FreeBSD pkg Mirror (NYI)
    title = FreeBSD pkg Mirror Hosted by New York Internet, USA
    host = pkg0.nyi.freebsd.org

    ++ pkgmir_ydx
    menu = FreeBSD pkg Mirror (YDX)
    title = FreeBSD pkg Mirror Hosted by Yandex, Russia
    host = pkg0.ydx.freebsd.org

これが何をしているのか説明しましょう。

ターゲットは階層的です。つまり、組織化に役立つレベルのターゲットをネストできます。 ネストされた各レベルのターゲットは、SmokePing GUIに新しいサブメニューを作成し、さまざまなグラフを表示します。

私たちの構成では、 + targets lineは、ネストされたレベルのターゲットを定義していることを意味します。 ネストされたターゲットは、親構成の値を固有のものにするため、 probe = FPing これらのターゲットで同じプローブを使用する場合は、もう一度線を引きます。 ただし、更新しました titlemenu 新しいサブセクションの変数であるため、サイトのページのタイトルとメニューは異なります。

The ++ pkgmir_xxx 行は、2つのターゲットを含む2番目のネストされたレベルを定義していることを意味します。 これらには、エンドポイントのアドレス用の host 変数があります。これは、2つのFreeBSDです。 pkg ミラーサーバー。

上記の構成では、ターゲットごとに1つのグラフが作成されます。 その下に、複数のターゲットを1つのグラフに結合するためのセクションをもう1つ追加します。

**ターゲット**/usr / local / etc / smokeping/configのセクション
. . .
    ++ pkgmir_ydx
    menu = FreeBSD pkg Mirror (YDX)
    title = FreeBSD pkg Mirror Hosted by Yandex, Russia
    host = pkg0.ydx.freebsd.org

+ multi
menu = Multi Targets
title = Multi Targets

    ++ multi_pkgmir
    menu = FreeBSD pkg Mirrors
    title = FreeBSD pkg Mirrors
    host = /targets/pkgmir_nyi /targets/pkgmir_ydx

このセクションでは、すでに構成した2つのターゲットを使用していることに注意してください(/targets/pkgmir_nyi/targets/pkgmir_ydx).

最後に、ファイルを保存して閉じます。 SmokePingの構成はすべてセットアップされているので、ApacheとSmokePingを接続して、それぞれのサービスを開始しましょう。

ステップ5—サービスの接続と有効化

でApacheの設定ファイルを作成します /usr/local/etc/apache24/Includes/ と呼ばれる smokeping.conf.

  1. sudo ee /usr/local/etc/apache24/Includes/smokeping.conf

ここでは、Apacheがリクエストを処理するために必要な情報をSmokePingのWebインターフェイスに追加します。 以下をコピーして新しいファイルに貼り付けます。

/usr/local/etc/apache24/Includes/smokeping.conf
ScriptAlias	/smokeping.fcgi	/usr/local/smokeping/htdocs/smokeping.fcgi
Alias		/smokeping		/usr/local/smokeping/htdocs/
<Directory "/usr/local/smokeping/htdocs/">
        AddHandler      fcgid-script .fcgi
        AllowOverride   None
        DirectoryIndex  index.html smokeping.fcgi
        Options         FollowSymLinks ExecCGI
        Require         all granted
</Directory>

これにより、ApacheにSmokePingのファイルの場所が通知され、FastCGIが使用されていることが確認されます。

ApacheおよびSmokePingのデフォルトのサービス構成では、起動時にプロセスが開始されません。 これを変更するには、次の2つのコマンドを実行します。

  1. sudo sysrc apache24_enable="YES"
  2. sudo sysrc smokeping_enable="YES"

前述の2つのコマンドの出力は次のようになります。

Output
apache24_enable: -> YES smokeping_enable: -> YES

これで、Apacheサービスを開始できます。

sudo service apache24 start

正常に起動すると、次のように表示されます。

Output
Performing sanity check on apache24 configuration: Syntax OK Starting apache24.

そうでない場合は、構成ファイルの問題をデバッグするために使用できるエラーが表示されます。 最後に、SmokePingサービスを開始します。

  1. sudo service smokeping start
Output
Starting smokeping. Note: logging to syslog as local0/info. Daemonizing /usr/local/bin/smokeping ...

すべてが実行されているので、グラフの動作を見てみましょう。

ステップ6—SmokePingのWebインターフェイスにアクセスする

SmokePingのWebインターフェイスにアクセスするには、次のWebサイトにアクセスしてください。 http://your_server_ip/smokeping お気に入りのブラウザで。 手順5で指定したタイトルとコメントのページが表示されます。 値を変更しなかった場合は、次のようになります。

左側のメニューをナビゲートすると、グラフを表示できます。 メニューのターゲットおよびマルチターゲットオプションに注意してください。 これらは、ステップ5で定義したターゲットです。

ターゲットをクリックします。 ミラーサーバーごとに1つずつ、定義した最初の2つのグラフが表示されます。 左側に、構成ファイルを反映したネストされたターゲットのリストが表示されます。

次に、マルチターゲットをクリックします。 ここに結合されたグラフが表示されます。

問題が発生した場合は、ログを確認して問題の診断に役立てることができます。 Apacheは、ログを2つのファイルに記録します。 /var/log/httpd-access.log/var/log/httpd-error.log. SmokePingには1つのログファイルがあります。 /var/log/smokeping.log. SmokePingの構成を変更する場合は、デーモンを次のようにリロードする必要があることに注意してください。 sudo service smokeping reload.

結論

このチュートリアルでは、Apacheを使用してSmokePingをセットアップし、ロギングとグラフ作成をテストするためのプローブの例をいくつか作成しました。 ここから、プローブとグラフを追跡したいものにカスタマイズできます。 SmokePingには、スレーブ、アラート、独自のメールサーバーのサポートなど、他にも多くの機能があります。 詳細については、SmokePingの公式ドキュメントをご覧ください。

モバイルバージョンを終了