/cluster_usage_report

計算機クラスターの使用率レポートを作るツール

Primary LanguagePython

cluster_usage_report

計算機クラスターの使用率レポートを作るツール

Demo

利用想定

  • Torque で運用されているクラスターがレポート対象。
  • 管理者(root)権限になれる人が使う。
  • クラスターにsshできる Linux 環境で作業を行う。
  • そのLinux環境では python --version >= 3.6 が必要(conda での構築方法は後述)。

準備

(1) Linux 環境を用意

👉 シス管系女子 - 漫画でわかるWSL

今回は Windows で手軽に Ubuntu が動く WSL 環境を想定する。

(2) conda を(1)の環境にインストール

※ anaconda を入れたことがあり、python --versionの結果がPython 3.6.X :: Anaconda, Inc.(もしくはそれ以上のバージョン)ならスキップして準備(3)へ。

  • python のライブラリをいくつか呼んでいる。
  • それらをまるっと導入する conda をインストールする。

👉 インストール方法 の「Step 3」までやる

  • 特別にconda installするものはない。anaconda の基本パッケージだけでよい。

(3) このリポジトリをcloneする

$ cd; git clone https://github.com/kottn/cluster_usage_report
$ sudo apt install tree   # tree コマンドのインストール
$ tree cluster_usage_report
cluster_usage_report/
|-- 01_Accounting.py  # 指定月のユーザー利用率のグラフ(Usage_yyyy_mm.png)、レポート(Usage_yyyy_mm.md)を作る
|-- 02_UsageTrans.py  # これまでの稼働率の推移グラフ(Usage_transition.png)を作る
`-- README.md         # This file

使い方

(Step 1) クラスター情報を入力し、指定月の利用集計をする。

  • $ vi 01_Accounting.py
####### INP. #######
HOST    = 'serverhost' # 対象のヘッドノードのホスト名(もしくはIP)
allcore = 600          # クラスターのMAXプロセス数(クラスター内で qstat -Q すれば確認できる)
yyyy    = '2018'       # レポートする年
mm      = '01'         # レポートする月
####################
  • 実行
$ python 01_Accounting.py    # rootパスワードを2回聞かれるので入力。
  • 結果
.
.
.
Operation efficiency: XX.X %    # 稼働率(月平均)
$

(Step 2) Operation efficiency を追記し推移グラフを作る。

  • $ vi 02_UsageTrans.py
####### INP. #######
HOST = 'serverhost'    # Step 1 に揃える
####################

if HOST == 'serverhost':    # Step 1 に揃える
  .
  .
  • 直後のリストに、Operation efficiency の値を追記していく。
if HOST == 'serverhost':
    d = {'2016/09': 27.8,\
         '2016/10': 104.9,\
         '2016/11': 56.5,\
         '2016/12': 99.9,\
         '2017/01': 72.1,\
         '2017/02': 18.5,\
         '2017/03': 56.2,\
         '2017/04': 58.8,\
         '2017/05': 69.3,\
         '2017/06': 39.9,\
         '2017/07': 30.3,\
         '2017/08': 41.9,\
         '2017/09': 48.4,\
         '2017/10': 79.8,\
         '2017/11': 28.8,\
         '2017/12': 50.2,\
         '2018/01': XX.X}     # 毎月追記していく
  • 実行
$ python 02_UsageTrans.py

生成物

cluster_usage_report/
|-- 01_Accounting.py
|-- 02_UsageTrans.py
|-- serverhost/
|   |-- Usage_2018_01.md      # [New!] 配布用レポート
|   |-- Usage_2018_01.txt     # [New!] 簡易レポート
|   |-- Usage_2018_01.png     # [New!] ユーザー別利用率グラフ
|   `-- Usage_transition.png  # [New!] 推移グラフ
|-- logfiles/
|   `-- serverhost/
|       `-- 2018_01/          # [New!] ログファイル
`-- README.md*

印刷

  1. Windows に今回の生成物(Usage_*の4ファイル)を持ってくる。
  2. *.md(Markdownファイルといいます。中身はテキストです。)を何らかの方法で表示。
  3. 簡単なのは Markdown Viewer というブラウザーのアドオン。
  4. Install for Firefox / Chrome ※ Chrome は「ファイルのURLへのアクセスを許可する」のを忘れない。
  5. *.md ファイルをブラウザにドラッグ&ドロップすると、レポートが表示される。
  6. あとはPDFに印刷するなり何なりする。
  7. 60% くらいの倍率で印刷すると A4 に収まる。

おしまい。