序章

データの収集と視覚化は、サーバーとプロジェクトについて十分な情報に基づいた決定を下すための重要な方法です。

以前のガイドでは、サーバー上のデータを視覚化するためにGraphiteをインストールおよび構成する方法について説明しました。 ただし、データを収集したり、Graphiteに渡したりするための優れた方法はありませんでした。

このガイドでは、 collectd のインストールと使用について説明します。これは、サーバーと実行中のサービスに関するメトリックを収集および整理できるシステム統計収集機能です。

レンダリングするためにデータをGraphiteに渡すようにcollectdをインストールおよび構成する方法を示します。 前回のガイドで示したように、Ubuntu14.04サーバーでGraphiteが稼働していることを前提としています。

Collectedをインストール

最初に行うことは、collectdをインストールすることです。 これはデフォルトのリポジトリから取得できます。

ローカルパッケージインデックスを更新してから、次のように入力してインストールします。

sudo apt-get update
sudo apt-get install collectd collectd-utils

これにより、デーモンとヘルパー制御インターフェースがインストールされます。 収集したデータをGraphiteに渡すことができるように構成する必要があります。

Collectedを構成する

まず、root権限でエディターでcollectd構成ファイルを開きます。

sudo nano /etc/collectd/collectd.conf

最初に設定する必要があるのは、使用しているマシンのホスト名です。 Collectedは、リモートのGraphiteサーバーに情報を送信するために使用できますが、このガイドでは同じマシンでこれを使用しています。 任意の名前を選択できます。

ホスト名「 graph_host

実際のドメイン名を構成している場合は、これをスキップして、toe FQDNLookupのままにして、サーバーがDNSシステムを使用して適切なドメインを取得できるようにすることができます。

「Interval」のパラメーターがあることに気付くかもしれません。これは、collectdがホスト上のデータを照会する前に待機する間隔です。 これはデフォルトで10秒に設定されています。 Graphiteの記事を読んでいくと、これがGraphiteが統計を追跡するための通常の最短間隔であることがわかります。 データを確実に記録するには、これら2つの値が一致している必要があります。

次に、Collectedが情報を収集するサービスについて説明します。 Collectdは、プラグインを使用してこれを行います。 ほとんどのプラグインは、システムから情報を読み取るために使用されますが、プラグインは、情報の送信先を定義するためにも使用されます。 Graphiteは、これらの書き込みプラグインの1つです。

このガイドでは、次のプラグインが有効になっていることを確認します。 他のプラグインをコメントアウトすることも、ホストで試してみたい場合は、プラグインを正しく構成することもできます。

LoadPlugin apache
LoadPlugin cpu
LoadPlugin df
LoadPlugin entropy
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin processes
LoadPlugin rrdtool
LoadPlugin users
LoadPlugin write_graphite

これらのいくつかは構成が必要であり、それらのいくつかはそのままで正常に動作します。

ファイルを続けていくと、各プラグインの構成セクションに移動します。 プラグインは、構成セクションごとに「ブロック」を定義することによって構成されます。 これは、Apacheがブロック内のディレクティブを区画化する方法にいくぶん似ています。 プラグインのほとんどはそのままで正常に動作するため、これらのいくつかのみを見ていきます。

Graphiteを提供するためにApacheがインストールされているため、Apacheプラグインを有効にしました。 次のような単純なセクションでApacheプラグインを構成できます。

URL「http:// domain_name_or_IP / server-status?auto」サーバー「apache」

実稼働環境では、サーバー統計を認証レイヤーの背後で保護したい場合があります。 ファイルのこのセクションにあるコメント付きのコードを見て、それがどのように機能するかを確認できます。 簡単にするために、認証されていないオープンセットアップを示します。

Apache用のserver-statusページを作成し、必要な詳細を少し説明します。

ディスクがどれだけいっぱいかを示すdfプラグインの場合、次のような単純な構成を追加できます。

デバイス「/dev/ vda 」MountPoint「/」FSType「ext3」

システム上のドライブのデバイス名をデバイスに指定する必要があります。 これは、ターミナルでコマンドを入力することで見つけることができます。

 df
 ファイルシステム1K-使用可能なブロック使用可能使用%マウント済み/ dev / vda 61796348 1766820 56867416 4%/なし4 0 4 0%/ sys / fs / cgroup udev 2013364 12 2013352 1%/ dev tmpfs 404836 340 404496 1%/ run none 5120 0 5120 0%/ run / lock none 2024168 0 2024168 0%/ run / shm none 102400 0 102400 0%/ run / user

監視するネットワークインターフェイスを選択します。

インターフェイス「 eth0 」IgnoreSelectedfalse

最後に、Graphiteプラグインについて説明します。 これにより、collectdにGraphiteインスタンスへの接続方法が示されます。 セクションを次のように表示します。

 グラフ化」>ホスト「localhost」ポート「2003」プロトコル「tcp」LogSendErrorstrueプレフィックス「collectd」。  StoreRates true AlwaysAppendDS false EscapeCharacter“ _”

これは、データを渡すためにCarbonに接続する方法をデーモンに指示します。 CarbonがTCP接続をリッスンするために使用するポート2003のローカルコンピューターを参照するように指定します。

次に、そのプロトコルを使用してデータを確実にCarbonに渡すように指示します。 ハンドオフに関するエラーをログに記録してから、データのプレフィックスを設定するように指示します。 この値はドットで終了するため、このホストのすべてのcollectd統計は「collectd」ディレクトリに保存されます。

ストアレートは、統計が渡される前にゲージに変換されるかどうかを決定します。 データソースの追加行は、有効になっている場合、ノード名をメトリックに追加します。 エスケープ文字は、Carbonがそれらをディレクトリに分割しないようにするために、ドットが含まれる特定の値がどのように変換されるかを決定します。

終了したら、ファイルを保存して閉じます。

統計を報告するようにApacheを構成する

構成ファイルで、Apache統計追跡を有効にしました。 ただし、これを許可するようにApacheを構成する必要があります。

Graphiteに対して有効にしたApache仮想ホストファイルに、Apacheに統計を報告するように指示する単純なロケーションブロックを追加できます。

テキストエディタでファイルを開きます。

sudo nano /etc/apache2/sites-available/apache2-graphite.conf

「content」ロケーションブロックの下に、Apacheが/server-statusページで統計を提供するように別のブロックを追加します。 次のセクションを追加します。

エイリアス/content/ / usr / share /graphite-web/static/  SetHandlerなし

<span class="highlight">&lt;Location "/server-status"&gt;</span>
    <span class="highlight">SetHandler server-status</span>
    <span class="highlight">Require all granted</span>
<span class="highlight">&lt;/Location&gt;</span>

ErrorLog ${APACHE_LOG_DIR}/graphite-web_error.log