このトピックでは、
pinba-engine +
pinboard +
django-pinbaバンドルを使用してDjangoのプロジェクト統計を収集および視覚化する、プロジェクトとサーバーの段階的なセットアップと構成について説明します。
すべてのプロジェクトは無料で、ソースコードはGPLまたはMITライセンスの下でGitHubで入手できます。
なぜピンバ?
チームには、phpで作成されたプロジェクトがあります。 プロジェクトへの参加者は非常に多い(20万人以上)。 非常に多くのボトルネックがあります。 多くの場合、更新や技術革新の後、私たちは巨大なブレーキを受け取りましたが、すぐには知りませんでした。 顧客とプログラマーに向けたソリューションが必要でした。 ダウンローダーはzabbixとmuninが本当に好きではありません。 解決策がありました。
ピンボードと
ピンバでした 。 顧客はそれが好きだった。 彼はジャンゴでスピンしているすべてのプロジェクトにピンバをねじ込むように頼みました。
行こう
セットアップはいくつかの部分で構成されています。
1.監視サーバーとしてpinba-engine-mysqlをインストール(Debian GNU / Linux上)
2.ピンボードをインストールして、プロジェクトの現在のステータスを表示します
3.統計を送信するためのdjango-pinbaバッテリーの取り付け
1.監視サーバーとしてpinba-engine-mysqlをインストール(Debian GNU / Linux上)
1.1。 pinbaプロジェクトの作成者からの追加のリポジトリを接続します。
1.2。 MySQLとPinba-Engineをインストールします。
1.3。 pinba-engine-mysqlが必要なポートでリッスンしているかどうかを確認します。
2.ピンボードをインストールして、プロジェクトの現在のステータスを表示します
2.1。 必要な依存関係をすべてインストールします。
2.2。 プロジェクトのクローンを作成し、必要なパッケージをプルアップします。
2.3。 データベース接続設定を構成します。
2.4。 クラウンのタスクを移行および登録します。
2.5。 nginx仮想ホストを構成します。
2.6。 仮想ホスト構成を挿入し、必要なserver_nameを指定します。
server { listen 80; server_name pinboard.example.com; root /var/www/pinboard/web; location = / { try_files @site @site; } location / { try_files $uri $uri/ @site; } location ~ \.php$ { return 404; } location @site { fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/index.php; fastcgi_param HTTPS $https if_not_empty; } location ~ /\.(ht|svn|git) { deny all; } }
2.7。 nginxデーモンの再起動:
2.8。 php.iniにタイムゾーン構成を追加します。
2.9。 クラウンで指定されたスクリプトの動作を確認します。
スクリプトがエラーなくジョブを実行した場合、すべてが正常に機能します。 これでピンボードのセットアップが完了しました。
3.統計を送信するためのdjango-pinbaバッテリーの取り付け
3.1。 バッテリーを取り付けます。
$ pip install django-pinba
3.2。 settings.py設定ファイルを開き、django-pinbaをMIDDLEWARE_CLASSESに追加します。
MIDDLEWARE_CLASSES = ( 'pinba.middleware.PinbaMiddleware', ... )
3.3。 pinba-engineを使用してサーバーの設定を指定します。
PINBA_SERVER = '192.168.55.11' PINBA_PORT = 30002 PINBA_ENABLED = True
プロジェクトと同じサーバーに統計を保持しないことをお勧めします。
おわりに
これで、ブラウザウィンドウでサイトを開き、しばらく待って(ピンボードのcrontabで指示された)、美しいグラフィックを楽しむことができます。 テストの負荷は、abまたはwgetユーティリティを使用して作成できます。
インターフェイスは次のとおりです。
