Help us understand the problem. What is going on with this article?

Redfishを使ってサーバーの状態監視

Redfishを使ってサーバーの状態監視

Redfish、何それ美味しいの?

従来サーバー監視はIPMIToolやベンダー固有の管理ツールを使うのが定番でしたが、
最近APIを通して共通化しようという試みも出てきているようです。
サーバー屋さん的にはどうなのかね?という感じもありますが、まずはお試し。

今回は2つの方法で基本情報の取得。
1,Postmanを使う
2,Curlを使う

1,Postmanを使う

PostmanをノートPCにインストール
https://www.postman.com/downloads/

デスクトップのアイコンをクリックしてPostmanを開き、
アドレスバーにIPアドレスと/redfish/v1/Systems/1/くらいまで入れて
authorizationをBasic AuthにしてIPMIのユーザーとパスワードを入れるとサーバーと繋がります。

GET IPアドレス/redfish/v1/Systems/1/
postman02.JPG

Body内になるリンク/redfish/v1/System/1をクリックすると、下の画像のようなサーバーのFRU項目が出てきます。
postman03.JPG

IPMIではなかなか取れないNICの情報も取れる。
GET IPアドレス/redfish/v1/Systems/1/EthernetInterfaces/1
postman04.JPG

Memoryのスピードや型番、状態も取得可能。
GET IPアドレス/redfish/v1/Systems/1/Memory/1
postman05.JPG

各項目ごとに掘り下げていくと情報が色々と確認出来、JSONだけでなく色々な形式で出力できるので
独自に作成した管理ツールがある人にはに便利かも。知らんけど。

2,Curlを使う

ノートPCではなく、管理用のLinux端末からRedfish経由で情報を見たい場合は
curlを使用するとコマンドラインでできるのでスクリプト化してもいいかも。

curlは色々できるようですが、とりあえず監視だけなら
curl -u ユーザー:パスワード -X GET 'https://IPアドレス/redfish/v1/Systems/1/項目'
で情報取得は可能。
curl00.JPG

ただ、これだと非常に見辛いので、|(パイプ)とjqを使ってJSON形式で見やすく変換した方が良さげです。
jqのインストールはいたって簡単。
$sudo yum -y install epel-release
$sudo yum -y install jq

jqで必要な情報だけ.ドット+項目を,で羅列すると見やすくなりました。(前後はシングルクォーテーション)

ネットワークの常態とMACアドレス調べ
curl -k -u ADMIN:ADMIN -X GET 'https://IPアドレス/redfish/v1/Systems/1/EthernetInterfaces/1' |jq '.Description, .Status, .MACAddress'

Memoryのスロットごとの容量と状態調べ
curl -k -u ADMIN:ADMIN -X GET 'https://IPアドレス/redfish/v1/Systems/1/Memory/1' |jq '.Name, .CapacityMiB, .Status'
curl01.JPG


掘り下げれば色々出来そうな感じはありますが、まずはRedfishで情報を取る方法はこれで良しとする!

Taroi_Japanista
Hardwareエンジニアの備忘Log
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away