CLARA
  • Home
  • クラウドソリューション
    • クラウドソリューション
    • Clara Cloud
    • 専有クラスタプラン
    • LGプラン(VM)
    • Flexプラン(VPS)
    • Public Cloud Service
    • AWS
    • Microsoft Azure
    • FJcloud-V
    • Wasabi Cloud Storage
    • オプション
    • MSPサービス
    • Clara Cloud Connect
    • クラウドマイグレーションサービス
    • イメージバックアップサービス
    • ドメイン・SSL証明書・Plesk
    • ドメイン
    • SSL
    • Plesk
    • 各種セキュリティ
    • AWS マネージドセキュリティ Secure
    • Cloudflare導入支援
    • AI搭載WAF AEGIS
    • Trend Vision One Endpoint Security
    • 全サービス一覧
    中国ITソリューション
    • 中国ITソリューション
    • 日中間通信:China Connect
    • 日中間サイトアクセス改善 極速中国
    • ICP登録代行サービス
    • 中国クラウド
    • AWS中国リージョン
    • Alibaba Cloud
    • Azure中国リージョン
    • 全サービス一覧
  • 事例紹介
  • セミナー
  • 資料一覧
  • ブログ
  • コーポレートサイト
  • サポートサイト
  • お問い合わせ
  • その他サービス
toggle navigation
CLARA
  • クラウドソリューション
      • 各種クラウド
      • Clara Cloud
      • 専有クラスタプラン
      • LGプラン(VM)
      • Flexプラン(VPS)
      • Public Cloud Service
      • AWS
      • Microsoft Azure
      • FJcloud-V
      • Wasabi Cloud Storage
      • オプション
      • MSPサービス
      • Clara Cloud Connect
      • クラウドマイグレーションサービス
      • イメージバックアップサービス
      • ドメイン・SSL証明書・Plesk
      • ドメイン
      • SSL
      • Plesk
      •  
      • 各種セキュリティ
      • AWS マネージドセキュリティ Secure
      • Cloudflare導入支援
      • AI搭載WAF AEGIS
      • Trend Vision One Endpoint Security
      • 全サービス一覧
  • 中国ITソリューション
      • 日中間通信ソリューション
      • 日中間通信:China Connect
      • 日中間サイトアクセス改善 極速中国
      • ICP登録代行サービス
      • 中国クラウド
      • AWS中国リージョン
      • Alibaba Cloud
      • Azure中国リージョン
      • 等級保護クラウド
    • 全サービス一覧
  • 事例紹介
  • セミナー
  • 資料一覧
  • ブログ
  • コーポレートサイト
  • サポートサイト
  • お問い合わせ CONTACT
acli の結果を json で出力して jq で必要なデータを取り出す

acli の結果を json で出力して jq で必要なデータを取り出す

2018年3月23日/in Nutanix, 技術者向け /by Shinjiro Goto

こんにちは。クララの吉村です。

今日は、acli を json で出力して、さらに jq で操作するところをやります。

やりたい事

Prism から 仮想マシンやクラスターの情報を確認できますが、やはりLinuxでサクッと確認したいという時があります。

AWSなどにパブリッククラウドに慣れていると特にそう感じるのではないでしょうか。

今回はそのような環境を整えるまでの手順です。

acli の出力を json にする

acli を操作すると、デフォルトでは以下のような出力になります。

[bash]

$ acli net.list
Network name Network UUID Type Identifier Subnet
Management f489f2cf-45e7-4afa-93b1-7a2982cc7742 kBridged 0
network_test 9b4c9c30-ad14-4664-9daf-969f2e9476ae kBridged 755 xxx.xxx.xxx.xxx./24
network_test_local 62008052-4685-4351-b1bb-621ae13edd96 kBridged 737 xxx.xxx.xxx.xxx./24
nutanix-global 7c760a59-4823-4e8c-9e54-a30a105a7bfc kBridged 737
test-900 c44c305e-28d7-452f-a268-224eff2acc10 kBridged 900 10.0.10.0/24

[/bash]

一覧性はありますが、機能的ではない感じですね。

 

そこで、こちらを json 形式で出力してみます。

やり方は簡単で、acli のすぐ後に、-o json オプションを指定します。

$ acli -o json net.list
{"status": 0, "data": [{"id": 0, "subnet": null, "type": "kBridged", "name": "Management", "uuid": "f489f2cf-45e7-4afa-93b1-7a2982cc7742"}, {"id": 755, "subnet": "xxx.xxx.xxx.xxx/24", "type": "kBridged", "name": "network_test", "uuid": "9b4c9c30-ad14-4664-9daf-969f2e9476ae"}, {"id": 737, "subnet": "xxx.xxx.xxx.xxx/24", "type": "kBridged", "name": "network_test_local", "uuid": "62008052-4685-4351-b1bb-621ae13edd96"}, {"id": 737, "subnet": null, "type": "kBridged", "name": "nutanix-global", "uuid": "7c760a59-4823-4e8c-9e54-a30a105a7bfc"}, {"id": 900, "subnet": "10.0.10.0/24", "type": "kBridged", "name": "test-900", "uuid": "c44c305e-28d7-452f-a268-224eff2acc10"}], "error": null}

 

json 形式で出力されましたが、出ました横長。

jsonを整形しよう

上記の通り、このままでは視認性が良くないので、見やすく整形します。

CVMには、json_reformat コマンドがインストール済みで、こちらでも整形はできるみたいですが、やはり jq コマンドをインストールしましょう。

こちらの方がネットにいっぱい情報有りますし、aws cli などで使い慣れているのではないでしょうか。

※ nutanix サポートでは、CVMにいかなるソフトウェアのインストールも許されていないので、自己責任でお願いします。

[bash]

## PATHを確認

$ echo $PATH
/home/nutanix/ncc/panacea/bin:/usr/lib/jvm/jre
1.8.0/bin:/home/nutanix/ncc/bin:/home/nutanix/kvm/bin:/home/nutanix/prism/cli:/usr/local/nutanix/cluster/lib/sg3utils/bin:/usr/local/nutanix/minerva/bin:/usr/local/nutanix/cluster/bin:/usr/local/nutanix/zookeeper/bin:/usr/local/nutanix/apache-cassandra/bin:/usr/local/nutanix/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin

## いっぱい出てきますが、無難に /usr/local/bin/ にします。
$ cd /usr/local/bin

## jq コマンドをダウンロード
## CVM で yum インストールはしないです
$ wget http://stedolan.github.io/jq/download/linux64/jq
$ chmod +x jq

## PATH が通っているか確認
$ which jq
/usr/local/bin/jq

[/bash]

 

これで準備完了です。

では、先ほどの結果を整形してみましょう。

$ acli -o json net.list | jq '.'
{
 "status": 0,
 "data": [
 {
 "id": 0,
 "subnet": null,
 "type": "kBridged",
 "name": "Management",
 "uuid": "f489f2cf-45e7-4afa-93b1-7a2982cc7742"
 },
 {
 "id": 755,
 "subnet": "xxx.xxx.xxx.xxx/24",
 "type": "kBridged",
 "name": "network_test",
 "uuid": "9b4c9c30-ad14-4664-9daf-969f2e9476ae"
 },
 {
 "id": 737,
 "subnet": "xxx.xxx.xxx.xxx/24",
 "type": "kBridged",
 "name": "network_test_local",
 "uuid": "62008052-4685-4351-b1bb-621ae13edd96"
 },
 {
 "id": 737,
 "subnet": null,
 "type": "kBridged",
 "name": "nutanix-global",
 "uuid": "7c760a59-4823-4e8c-9e54-a30a105a7bfc"
 },
 {
 "id": 900,
 "subnet": "10.0.10.0/24",
 "type": "kBridged",
 "name": "test-900",
 "uuid": "c44c305e-28d7-452f-a268-224eff2acc10"
 }
 ],
 "error": null
}

良くなりましたね。

では、もうちょっと踏み込んで、jq を使って任意のデータのみを抽出してみます。

## ネットワーク一覧から、ネットワーク名のみを抽出
$ acli -o json net.list | jq '.data[].name'
"Management"
"network_test"
"network_test_local"
"nutanix-global"
"test-900"

## ネットワーク名 nutanix-global に属しているVM名一覧を表示
$ acli -o json net.list_vms nutanix-global | jq '.'
{
 "status": 0,
 "data": [
 {
 "macAddress": "50:6b:8d:3d:cb:8f",
 "ipAddress": null,
 "uuid": "9721d49f-d7da-47cd-92af-d43cfc64123a",
 "name": "for-ntnx-clara"
 },
 {
 "macAddress": "50:6b:8d:05:97:27",
 "ipAddress": null,
 "uuid": "34520b97-8fb7-4a14-b602-d26d6c6eaca2",
 "name": "test_clara01"
 }
 ],
 "error": null
}

## 上記のVM一覧結果から VM名のみを抽出
$ acli -o json net.list_vms nutanix-global | jq '.data[].name'
"for-ntnx-clara"
"test_clara01"

このような感じでjsonを整形すれば、いろいろ作業が捗りそうですね。

それでは、以上です。

 

Tags: acli
https://ci.clara.jp/solution/clara-cloud/wp-content/uploads/acli_json.jpg 630 1200 Shinjiro Goto https://ci.clara.jp/solution/clara-cloud/wp-content/uploads/2020/04/claracloud_logo.png Shinjiro Goto2018-03-23 18:37:002021-06-16 16:25:58acli の結果を json で出力して jq で必要なデータを取り出す

最新の記事

  • 恒久的な利益を生み出す、インフラコスト削減の方法とは?2022年4月1日 - 4:30 pm
  • HCIはどうやって誕生した?インフラの歴史 | 後編2022年1月21日 - 1:18 pm
  • HCIはどうやって誕生した?インフラの歴史 | 前編2022年1月21日 - 12:24 pm

カテゴリー

  • ITインフラ
  • Nutanix
  • 基礎知識
  • 移行・リプレース
  • 技術・テック
  • メディア掲載記事
Popular
  • 恒久的な利益を生み出す、インフラコス�...2022年4月1日 - 4:30 pm
  • Nutanix の新しい認定 NCSR Level 1 を取得するNutanix の新しい認定 NCSR Level 1 を取得する2018年4月4日 - 3:21 pm
  • Nutanixのクラスタ内のすべてのホストに同じ操作をするNutanixのクラスタ内のすべてのホストに同...2018年4月3日 - 2:07 pm
  • Nutanix 価格Nutanix 価格2018年3月26日 - 3:25 pm
  • PrismのUI設定でログイン画面やFaviconを変更するPrism の UI 設定でログイン画面やFaviconを�...2018年3月26日 - 1:06 pm
  • acli の結果を json で出力して jq で必要なデータを取り出すacli の結果を json で出力して jq で必要な�...2018年3月23日 - 6:37 pm
  • ncli で CVM に公開鍵を登録してSSHアクセスする方法ncli で CVM に公開鍵を登録してSSHアクセス...2018年3月23日 - 4:37 pm
  • Prism に Let's Encrypt で取得したSSL証明書を適用するPrism に Let’s Encrypt で取得したSSL証明�...2018年3月23日 - 1:17 pm
  • Nunitax loves HIPHOPNunitax loves HIPHOP2018年3月2日 - 5:34 pm
  • Nutanixのブログを始めました!Nutanixのブログを始めました!2018年2月26日 - 4:27 pm
Clara Cloud導入事例集Clara Cloud導入事例集ダウンロード

ITインフラを移行して、開発に注力できる体制を作る。

Clara Cloudを導入した企業では、ITインフラの運用管理の業務を大幅に省力化できたり、50%近くものコスト削減を実現できた例、またインフラ運用・調達の方法を従来と変えたことで開発スピードが上がり自社サービスの価値向上につながった例もあります。

私たちが目指すのは、インフラ維持管理にかかる労力を最小限にし、情シス部門・IT部門がサービス開発や業務改善などの本質的な価値ある業務に注力できるようにすること。

Clara Cloudであればインフラ基盤を移すだけで、それが実現可能です。

資料をダウンロードする
導入事例を読む
ncli で CVM に公開鍵を登録してSSHアクセスする方法 ncli で CVM に公開鍵を登録してSSHアクセスする方法 PrismのUI設定でログイン画面やFaviconを変更する Prism の UI 設定でログイン画面やFaviconを変更する
Scroll to top
         

    企業情報

  • 会社概要
  • 情報セキュリティ基本方針
  • プライバシーポリシー
  • 規約・約款

    関連サイト

  • コーポレートサイト
  • 中国コンサルサービスサイト
  • 採用情報
  • English
  • 中文簡体
新規導入のご相談はこちらから
お問い合わせ
ご契約済みのお客様はこちらから
サポートサイト

© CLARA, Inc.