Ubuntu12.04VPSへのGraphiteとStatsdのインストールと構成
ステータス:非推奨
この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。
理由: Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達し、セキュリティパッチまたはアップデートを受信しなくなりました。 このガイドはもう維持されていません。
代わりに参照してください:
このガイドは参考として役立つかもしれませんが、他のUbuntuリリースでは機能しない可能性があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。
序章
Graphiteとstatsdは、データを視覚化するために使用される非常に価値のあるツールです。 Statsdは実行中のプロセスに関するデータを収集し、graphiteはグラフの作成に使用できるグラフ作成ライブラリです。
これらのツールをUbuntu12.04VPSインスタンスにセットアップします。
Graphiteのインストール
グラファイトには、満たす必要のある多くの依存関係があります。 また、WebインターフェイスにアクセスできるようにするWebサーバーパッケージをインストールする必要があります。
まず、apt-getを使用してパッケージを更新およびアップグレードします。
sudo apt-get update sudo apt-get upgrade
必要なパッケージをインストールします。
sudo apt-get install --assume-yes apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 build-essential python3.2 python-dev libpython3.2 python3-minimal libapache2-mod-wsgi libaprutil1-ldap memcached python-cairo-dev python-django python-ldap python-memcache python-pysqlite2 sqlite3 erlang-os-mon erlang-snmp rabbitmq-server bzr expect libapache2-mod-python python-setuptools
python-setuptoolの「easy_install」ユーティリティを使用して、さらにいくつかの重要なpythonコンポーネントをインストールします。
sudo easy_install django-tagging zope.interface twisted txamqp
次に、プロジェクトのWebサイトからGraphiteコンポーネントを取得します。
Carbonはデータアグリゲーター、Graphite webはWebコンポーネント、whisperはデータベースライブラリです。
cd ~ wget https://launchpad.net/graphite/0.9/0.9.10/+download/graphite-web-0.9.10.tar.gz wget https://launchpad.net/graphite/0.9/0.9.10/+download/carbon-0.9.10.tar.gz wget https://launchpad.net/graphite/0.9/0.9.10/+download/whisper-0.9.10.tar.gz
tarを使用してアーカイブを抽出します。
find *.tar.gz -exec tar -zxvf '{}' \;
whisperディレクトリに移動し、提供されたセットアップファイルを使用してインストールします。
cd whisper* sudo python setup.py install
次に、carbonディレクトリに移動して、同じことを行います。
cd ../carbon* sudo python setup.py install
最後に、Graphiteディレクトリに移動して、依存関係を確認します。 依存関係がすべて正しくインストールされていることを示すメッセージが表示されます。
cd ../graphite* sudo python check-dependencies.py
All necessary dependencies are met. All optional dependencies are met.
これで、Graphiteを安全にインストールできます。
sudo python setup.py install
グラファイトの構成
次に、インストールしたばかりのソフトウェアを構成します。
Graphite構成ディレクトリに移動し、アプリケーションに使用するいくつかのファイルをコピーまたは作成します。
cd /opt/graphite/conf sudo cp carbon.conf.example carbon.conf
Create a file to handle our polling settings:
sudo nano storage-schemas.conf
次のデータをファイルにコピーします。
[stats] priority = 110 pattern = .* retentions = 10:2160,60:10080,600:262974
ファイルを保存して閉じます。
次に、Graphiteデータベースを構成します。 Graphite webappディレクトリに移動し、データベーススクリプトを実行します。
cd /opt/graphite/webapp/graphite/ sudo python manage.py syncdb
スーパーユーザーアカウントを作成するように求められます。 「yes」と入力して続行し、プロンプトに従います。
このディレクトリにいる間に、ローカル設定のサンプルファイルを製品版にコピーします。
sudo cp local_settings.py.example local_settings.py
Apacheの構成
次に、Webコンテンツを提供するようにApacheを設定します。
いくつかの設定例ファイルをコピーすることから始めます。
sudo cp ~/graphite*/examples/example-graphite-vhost.conf /etc/apache2/sites-available/default sudo cp /opt/graphite/conf/graphite.wsgi.example /opt/graphite/conf/graphite.wsgi
Apache WebユーザーにGraphiteのストレージディレクトリの所有権を与えて、データを適切に書き込めるようにします。
sudo chown -R www-data:www-data /opt/graphite/storage
WSGIデータ用のディレクトリを作成します。
sudo mkdir -p /etc/httpd/wsgi
以前にコピーしたApache構成ファイルを編集する必要があります。
sudo nano /etc/apache2/sites-available/default
作成したディレクトリを反映するようにWSGISocketPrefixを変更します。 また、ServerNameプロパティを変更して、ドメイン名またはIPアドレスを反映させます。
... ... WSGISocketPrefix /etc/httpd/wsgi <VirtualHost *:80> ServerName Your.Domain.Name.Here ... ...
ファイルを保存して閉じます。
Apacheを再起動して、変更を実装します。
sudo service apache2 restart
Statsdのインストールと構成
statsdを使用するには、node.jsをインストールする必要があります。 これを行うには、PPAを追加するユーティリティを含む「python-software-properties」をインストールします。
sudo apt-get install python-software-properties
これで、適切なPPAを追加できます。
sudo apt-add-repository ppa:chris-lea/node.js
「Enter」を押して、リポジトリの変更を受け入れます。 次に、aptパッケージリストを再度更新し、node.jsをインストールします。
sudo apt-get update sudo apt-get install nodejs
次に、statsdをインストールして、VPSからGraphiteデータをフィードします。
まず、プロジェクトファイルをダウンロードできるようにgitをインストールします。
sudo apt-get install git
次に、gitリポジトリをオプションのソフトウェアディレクトリに複製します。
cd /opt sudo git clone git://github.com/etsy/statsd.git
新しいstatsdディレクトリ内にstatsdの構成ファイルを作成します。
sudo nano /opt/statsd/localConfig.js
次の情報をコピーしてファイルに貼り付けます。
{ graphitePort: 2003, graphiteHost: "127.0.0.1", port: 8125 }
サービスの開始
カーボンデータアグリゲーターを起動して、データの送信を開始します。
sudo /opt/graphite/bin/carbon-cache.py start
次に、statsdディレクトリに移動し、node.jsコマンドを使用してファイルを実行します。
cd /opt/statsd node ./stats.js ./localConfig.js
19 Jul 21:15:34 - reading config file: ./localConfig.js 19 Jul 21:15:34 - server is up
statsdサーバーが稼働中であることを通知するメッセージが表示されます。
結果の表示
グラフデータを表示するには、Webブラウザーを開き、ドメインまたはIPアドレスに移動します。
Your.Domain.Name.Here
中央に空白のボックスが表示されます。
左側にナビゲーションメニューも表示されます。 これが最初に取り上げる内容です
[グラファイト]ボックスをクリックすると、さまざまなオプションが表示されます。 ファイル階層をクリックすると、多くのデータセットが表示されます。
いずれかを選択してクリックします。 データがグラフ化されていないように見えます。 情報を表示するには、スケールを変更する必要があります。
Graphite Composerで、左から2番目のアイコンを選択して、日付範囲を調整します。 現在の時刻のいずれかの側で数時間しかキャプチャしない範囲を選択してください。
次に「グラフオプション」をクリックし、「ラインモード」の上にマウスを置き、「接続されたライン」を選択してデータポイントを接続します。
また、「自動更新」を選択して、データを受信したときにグラフを自動的に更新することもできます。
を選択するすべての新しいデータセットは、そのデータをグラフに追加することに注意してください。 そのデータセットには切り替わりません。 「グラフデータ」をクリックして、必要に応じてデータセットを削除します。 左側のデータカテゴリをもう一度クリックして、選択を解除することもできます。