>   >  痴山紘史の日本CG見聞録:第12回:HTCondorのモニタリング環境の構築[3]
第12回:HTCondorのモニタリング環境の構築[3]

第12回:HTCondorのモニタリング環境の構築[3]

みなさんこんにちは。本連載が始まって今回で丸一年になります。何だかんだで私の趣味全開な本連載にお付き合いいただきありがとうございます。色々といたらないところもありますが、引き続きよろしくお願いします。そして、ネタや原稿のタレコミは随時募集していますので是非是非いいネタがありましたら教えてください :-)

ネタと言えば以前ご紹介したOpenCueに興味をもっている方が結構いらっしゃるようで、ちょくちょく「OpenCueどうなのよ?」というお話をふられることがあります。たしかにGoogleとSPIがタッグを組んで公開したソフトウェアということでかなり期待ができ、私の直感としてはここに突撃していってもいいかなという気はします。私が若かりし頃なら真っ先にいってましたね。笑。ただ、有名なスタジオが公開した無料のソフトだからという理由で使用するのは多分あまり幸せになれないのでおススメしません。その理由は昔Blogに書いたので、読んでいただけると幸いです。

あ、OpenCueでガッツリ記事を書いていただける方がいらしたら大歓迎ですよ!!:-)

TEXT_痴山紘史 / Hiroshi Chiyama(日本CGサービス
EDIT_尾形美幸 / Miyuki Ogata(CGWORLD)

Fifemon環境の構築

前回までで、Fifemon環境を構築するための基礎となるシステムのおさらいができました。今回は本命・Fifemon環境の構築を行なっていきます。


・Probe

まずはじめに、HTCondorの状態をgraphiteに登録するようにします。そのために、Probeの設定をします。

手順は公式ドキュメントに書いてあるので、そこを参照しながら進めます。

ProbeはPythonで書かれていて、virtualenv環境下でsupervisorを使用してデーモンとして動作するようになっています。ここはドキュメントをそのまま実行していきます。

[chiyama@docker probes]$ cd /opt
[chiyama@docker opt]$ git clone https://github.com/fifemon/probes
[chiyama@docker opt]$ cd probes
[chiyama@docker probes]$ virtualenv --system-site-packages venv
[chiyama@docker probes]$ source venv/bin/activate
(venv) [chiyama@docker probes]$ pip install supervisor influxdb

続いて設定ファイルを編集します。

[chiyama@docker probes]$ cat etc/condor-probe.cfg
[probe]
interval = 240
retries = 10
delay = 30
test = false
once = false

[graphite]
enable = true
host = localhost
port = 2004
namespace = clusters.mypool
meta_namespace = probes.condor-mypool

[influxdb]
enable = false
host = localhost
port = 8086
db = test
tags = foo:bar

[condor]
pool = XXX.XXX.XXX.XXX
post_pool_status = true
post_pool_slots = true
post_pool_glideins = false
post_pool_prio = false
post_pool_jobs = true
use_gsi_auth = false
X509_USER_CERT = ""
X509_USER_KEY = ""
[chiyama@docker probes]$

graphiteはローカルマシンのDockerコンテナ上で動いていて、condorは別の環境で動いている想定です。


・Probeで取得したメトリクスを使用できるようにする

add data sourceでgraphiteを選び、名前をfifemon-graphiteにします。

※fifemonではfifemon-graphiteという名前で参照するようになっているので、必ずこの名前にします。


・Dashboard

メトリクスを表示できるように、Grafanaのダッシュボードを設定します。Fifemonではデフォルトのダッシュボードが公開されています。今回これを使用するため、Createからimportを選びます。


Upload .json Fileからファイルをアップロードするか、GitHubから直接コードをコピーアンドペーストします。


Importをクリックします。


このとき、いくつかのダッシュボードはデフォルトの設定がよくないため、クラスタの名前が正常に取得できません。


そのような場合、settingで設定を変更します。Variablesから、設定を変更したいVariableを選びます。


RefreshがNeverになっていたらOn Dashboard Loadに切り替えます。


切り替えたら、UpdateとSaveをするのを忘れないようにします。

これで正しいclusterがリストアップされ、情報が表示されるようになります。最初はグラフの内容が空だったりN/Aと表示されていますが、いくつかジョブを実行して時間が経つにつれて必要な情報が集まっていき、グラフの内容も表示されるようになります。


Cluster Batch Jobsでは、投入されたジョブや実行中のジョブの数、いつジョブが投入されたかといったHTCondor特有の情報がきちんと取得されていることが確認できます。ここまでくれば、後は同様の手順を全ての.jsonファイルに対して繰り返すだけです。一通り設定が終わると、公式サイトにあるスクリーンショットのようなダッシュボードが再現できます。

次ページ:
・ジョブ詳細情報の取得

その他の連載