IBM Cloud の File Storage 使用率を確認する簡易なスクリプトを作成して確認してみました
前提環境
・Local PC(Mac) のターミナルから実行
・IBM Cloud のアカウントを保持している
・IBM Cloud 上で FileStorage を使用している
・実行環境で ibmcloud CLI が使用できる
IBM Cloud File Storage について:
https://cloud.ibm.com/docs/FileStorage?topic=FileStorage-getting-started&locale=ja
IBM Cloud File Storage サービス CLI操作について:
https://cloud.ibm.com/docs/cli?topic=cloud-cli-sl-file-storage-service&locale=ja
処理は主に "ibmcloud sl file volume-list" コマンドを使用しています:
https://cloud.ibm.com/docs/cli?topic=cli-sl-file-storage-service&locale=ja#sl_file_volume_list
処理はシェルスクリプト(bash)で実施しています。
IBM Cloud アカウントに紐づく File Storage操作が可能な API key を使用します。
IBM Cloud API key について:
https://cloud.ibm.com/docs/iam?topic=iam-manapikey&locale=ja
IBM Cloud CLI ログイン・オプション:
https://cloud.ibm.com/docs/cli?topic=cli-ibmcloud_cli#ibmcloud_login
サンプル・スクリプト
#!/bin/bash
ibmcloud login --apikey"apikey"-r"region"-g"resource group"> /dev/null
ibmcloud sl file volume-list --column username | grep-v username > FileStorage.txt
echo"IBM Cloud FileStorage Usage: Username = % , ( total ) "> result.txt
while read line
do
used_b=`ibmcloud sl file volume-list -u"$line"--column bytes_used | grep-v bytes_used`capacity_gb=`ibmcloud sl file volume-list -u"$line"--column capacity_gb | grep-v capacity_gb`capacity_b=`echo$(($capacity_gb*10000000))`tag=`ibmcloud sl file volume-list -u"$line"--column notes | grep-v notes`result=`awk"BEGIN { print $used_b/$capacity_b }"`echo$line, $tag=$result % "("$capacity_gb GB ")"done<FileStorage.txt >> result.txt
cat result.txt
rm FileStorage.txt
rm result.txt
処理概要
・IBM Cloud ログイン
・使用している File Storage 対象取得
・対象分のループ処理: File Storage の総容量、使用容量を取得し使用率を計算
・結果を出力
・一時ファイルを削除
使用している値についての注釈
項目 | 内容 | |
---|---|---|
1 | "apikey" | IBM Cloud アカウントに紐づく、File Storage 操作ができるAPI key。実行する際は対象のAPI key に置き換える |
2 | "region" | 実行する際は対象リージョンに置き換える |
3 | "resource group" | 実行する際は対象リソースグループに置き換える |
4 | FileStorage.txt | スクリプト処理内で File Storage 情報を一時的に保管するファイル |
5 | used_b | クリプト処理内の File Storage の byte使用率の一時的変数 |
6 | capacity_gb | スクリプト処理内の File Storage の GB使用率の一時的変数 |
7 | cabacity_b | スクリプト処理内の File Storage の byte使用率の一時的変数 |
8 | -- column notes | ibmcloud sl オプション。 FileStorageに notes(tag) を使用していると表示することが可能になる |
9 | result.txt | スクリプト処理内で 処理結果 を一時的に保管するファイル |
実行
以下のような結果が得られます。
./filestorage.sh
IBM Cloud FileStorage Usage: Username = % , ( total )
Dxxxxxxxxxxxxxx_1, filestorage1 = 62.8373 % , ( 600 GB )
Dxxxxxxxxxxxxxx_2, filestorage2 = 11.032 % , ( 500 GB )
Dxxxxxxxxxxxxxx_3, filestorage3 = 50.8622 % , ( 100 GB )
対象アカウントで使用している 3つの File Storage の使用率が確認できました。
この処理をジョブ化したり、Slack 連携したりしたいと思いつつ..
以上です。