Ubuntu14.04でGraphiteのシステムメトリックを収集するように収集を構成する方法
序章
データの収集と視覚化は、サーバーとプロジェクトについて十分な情報に基づいた決定を下すための重要な方法です。
以前のガイドでは、サーバー上のデータを視覚化するために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"><Location "/server-status"></span>
<span class="highlight">SetHandler server-status</span>
<span class="highlight">Require all granted</span>
<span class="highlight"></Location></span>
ErrorLog ${APACHE_LOG_DIR}/graphite-web_error.log