はじめに
この記事はシスコの有志による Cisco Systems Japan Advent Calendar 2023 の 23日目として投稿しています。
- 2017年版: https://qiita.com/advent-calendar/2017/cisco
- 2018年版: https://qiita.com/advent-calendar/2018/cisco
- 2019年版: https://qiita.com/advent-calendar/2019/cisco
- 2020年版 1枚目: https://qiita.com/advent-calendar/2020/cisco
- 2020年版 2枚目: https://qiita.com/advent-calendar/2020/cisco2
- 2022年版(1,2): https://qiita.com/advent-calendar/2022/cisco
- 2023年版: https://qiita.com/advent-calendar/2023/cisco<---こちら
IntersightをCLIで操作するのって何がうれしいの?
IntersightはMerakiのようなイメージでクラウド上でデータセンターインフラを一元的に管理できます。基本的にはブラウザベースのGUIが提供され、直感的にわかりやすく操作ができるようになっています。
ただし、以下のようなケースでは、今回ご紹介するCLI(isctl)を使っていただくと、より深い情報をパワフルかつ、簡単に取得したり、設定変更を行ったりできますので、知っておいていただくと便利です。
CLIが便利なユースケース
- 資産管理対応のため特定サーバにどのパーツが搭載されているかを即座に把握したい。
- パーツ交換のためパーツのシリアル番号一覧表を作成したい。
- 日常運用で一元化された大量のインフラの設定を自動化したい。(Server ProfileやPolicy作成・変更など)
CLI(isctl)を導入しよう! (3Stepでかんたん)
isctlはCiscoの社員が開発したツールです。
https://developer.cisco.com/codeexchange/github/repo/cgascoig/isctl/
本記事では、Linuxの端末にインストールする場合を例に説明します。
https://github.com/cgascoig/isctl
以下より、最新のリリースをDLします。
https://github.com/cgascoig/isctl/releases/latest
そして、.tar.gz ファイルを展開し、isctl binaryを移動します (例 /usr/local/bin).
API Keyの入手
isctl は Cisco Intersight REST APIを使用します。そのためにAPI keyの入手が必要です。
Intersight SaaS 管理ポータルにログオンし、System-Settings-API Keys- Generate API Keyを押下します。
Generate API Key画面ではAPI Key Purposeをschema version 2を選んで、Generateを押下します。
API KeyIDとSecret Keyをエクスポートして、Localに配置しておきます。
初期セットアップとして、Step2で入手したAPI KetとSecret Keyを登録します。
登録したIntersightアカウントに対してのみ、操作可能です。
❯ isctl configure
❯ isctl configure
keyID is currently ''
Enter new keyID or press Enter to keep existing:
61970b917564612d333d4d41/61970b917564612d333d4d46/626f24e57564612d335c906d
key filename is currently ''
Enter new key file name or press Enter to keep existing:
❯ isctl configure
keyID is currently ''
Enter new keyID or press Enter to keep existing:
61970b917564612d333d4d41/61970b917564612d333d4d46/626f24e57564612d335c906d
key filename is currently ''
Enter new key file name or press Enter to keep existing: ~/dev/api-keys/intersight-cgascoig-clus-demo.pem
Intersight API server is currently 'intersight.com'
Enter new Intersight API server or press Enter to keep existing: <CR>
INFO[0053] Writing config file
❯
これだけで準備完了!では、CLIの世界へ!
isctlの基本コマンド例
[root@localhost ~]# isctl get ntp policy
----------------------------- ----------------------------- ---------------------------- ------------ ------------------------ ------------------
Name Moid AuthenticatedNtpServers Enabled NtpServers Timezone
----------------------------- ----------------------------- ---------------------------- ------------ ------------------------ ------------------
ATX-Demo2 643f748062757231010bbaab true 2.2.2.2 Asia/Tokyo
ATX-DemoJimbo 64411f0c6275723101950a53 true 4.4.2.2 Asia/Tokyo
IMM-NTP 644f5d366275723101a3f54f true 10.64.58.51 Pacific/Niue
restapi-readonly-check 65370f266275723101819986 true 192.168.1.254 Asia/Tokyo
api-test-ntp 65372372627572310189be26 true 192.168.1.1 Pacific/Niue
NtpTest 65694f316275723101c97167 true 1.1.1.1 Pacific/Niue
----------------------------- ----------------------------- ---------------------------- ------------ ------------------------ -----------------
❯ # Get all rack servers
[root@localhost ~]# isctl get compute rackunit --select Name,Model
------------------------------------------- ----------------------------- ------------------------
Name Moid Model
------------------------------------------- ----------------------------- ------------------------
CS-FI6248-infra-3 6376cf3e76752d31361ffb74 UCSC-C220-M5SX
CS-FI6248-infra-1 6376cf3e76752d31361ffb9c UCSC-C220-M5SX
CS-FI6248-infra-2 6376cf4076752d31361ffc94 UCSC-C220-M5SX
C220-WZP23380ZQQ 6392e67e76752d3232b3c3e0 DN2-HW-APL
C220-FCH2013V1SS 6392e71e76752d3232b40476 APIC-SERVER-M2
C220-FCH2224V13Q 6392e73876752d3232b40dfe DN1-HW-APL
C220-WZP24241EDD 64365ba276752d3201ebc359 UCSC-C220-M5SX
C220-WZP22060AWK 6549a3d976752d3201e8c387 UCSC-C220-M5SX
CS-HXFI-6332-2 6556d5e776752d32016d38e6 HX220C-M5SX
CS-HXFI-6332-1 6556d5e776752d32016d38f6 HX220C-M5SX
CS-HXFI-6332-3 6556d5e776752d32016d3903 HX220C-M5SX
CS-HXFI-6332-4 655b3f2276752d32019108c5 HX220C-M5SX
HITACHI-HA8000V/DL360 Gen10-SGH927X0FC 655d869776752d3201b122cf HA8000V/DL360 Gen10
CS-FI6454-IMM-1 65702a3076752d3201cccd16 UCSC-C220-M5SX
------------------------------------------- ----------------------------- ------------------------
isctl create server profile --Name SP-CreatedbyisCTL --Organization default --TargetPlatform "FIAttached"
isctlの応用コマンド例
資産管理やパーツ交換の際にシリアルを一覧で出力したいケースがあります。
そんな時こそ、isctlの出番です。GUIだと手間がかかる調査も、isctlなら痒い所に手が届きます。
isctl get memory unit --filter "Serial ne ''" --select Serial --jsonpath '$[*].Serial'
まとめ
今回はCLIで便利にintersightを使いこなすための方法についてお知らせしました。
別途、isctlを使用した応用方法について、私のチームのサクセスぽーたるで詳しくご紹介する予定です。
ぜひ、以下のポータルもご注目ください!
サクセスぽーたる
https://community.cisco.com/t5/-/-/ta-p/4791205
免責事項
本サイトおよび対応するコメントにおいて表明される意見は、投稿者本人の個人的意見であり、シスコの意見ではありません。本サイトの内容は、情報の提供のみを目的として掲載されており、シスコや他の関係者による推奨や表明を目的としたものではありません。各利用者は、本Webサイトへの掲載により、投稿、リンクその他の方法でアップロードした全ての情報の内容に対して全責任を負い、本Web サイトの利用に関するあらゆる責任からシスコを免責することに同意したものとします。