プレイブックの実行時に収集されるファクト変数からシステム情報を取得する方法を解説します。
取得したシステム情報には様々な情報がありますが、今回は以下を取得してみます。
- CPUコア数
- 物理メモリサイズ(MB)
- ハードディスクのディスクサイズ
その他のファクト変数(マジック変数)はこちらをご覧ください。
下記はシステム情報を取得するために使用するプレイブックになります。
CPUコア数、物理メモリサイズは各変数からそのまま取得することが可能ですが、ディスクサイズは、「ansible_devices.{ディスクデバイス名}.size」と指定する必要があり、ディスクデバイス名は環境によって値が異なるので注意が必要です。当環境では「sda」でした。
---
- hosts: all
tasks:
# CPUコア数
- name: ansible_processor_cores
debug:
var: ansible_processor_cores
# 物理メモリサイズ(MB)
- name: ansible_memtotal_mb
debug:
var: ansible_memtotal_mb
# ディスクサイズ
- name: ansible_devices
debug:
var: ansible_devices.sda.size
下記はプレイブックの実行結果になります。(開始と終了のログは省略しています)
TASK [ansible_processor_cores] *************************************************
ok: [SYUTAKUWEB01] => {
"ansible_processor_cores": 2
}
TASK [ansible_memtotal_mb] *****************************************************
ok: [SYUTAKUWEB01] => {
"ansible_memtotal_mb": 808
}
TASK [ansible_devices] *********************************************************
ok: [SYUTAKUWEB01] => {
"ansible_devices.sda.size": "16.00 GB"
}
3行目が「CPUコア数」です。
7行目が「物理メモリサイズ(MB)」です。
11行目が「ハードディスクサイズ」となります。
コメント