【Nagios】HPE iLO SNMP Plugin使用方法

# はじめに
GitHubに書かれている手順がさっぱり・・・
見る人が見れば分かるのか???
そんな私、みなさんのためのメモです。

ですので新しい情報はないです。
GitHub見てください。

Nagiosは構築させている前提になります。

# 参考
- [https://github.com/HewlettPackard/nagios-plugins-hpilo (https://github.com/HewlettPackard/nagios-plugins-hpilo)](https://github.com/HewlettPackard/nagios-plugins-hpilo)

- [Nagios Plug-in for iLO Agentless Management (https://exchange.nagios.org/directory/Plugins/Network-and-Systems-Management/Others/A-Nagios-Plug-2Din-for-iLO-Agentless-Management-(HPE-ProLiant-Server)/details)](https://exchange.nagios.org/directory/Plugins/Network-and-Systems-Management/Others/A-Nagios-Plug-2Din-for-iLO-Agentless-Management-(HPE-ProLiant-Server)/details)

# Nagios Plug-in for iLO Agentless Managementについて
`iLO`と`Nagios`が連携し`FAN/CPU/Memory/Storage`など監視可能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2975568/d91b4b99-3442-5d10-8d03-4cb194f4cb9a.png)

# 環境
- OS　CentOS7系
- HPE ProLiant DL380
- Nagios HPE iLO SNMP Plugin v1.5.0

# 手順
- (1) HPE iLO SNMP Pluginダウンロード
- (2) 必須rpmインストール
- (3) HPE iLO SNMP Pluginビルド
- (4) HPE iLO SNMP Plugin設定
- (5) 動作確認
- (6) 応用編
- (7) 全体像

# (1) HPE iLO SNMP Pluginダウンロード
Nagiosのサイトからダウンロードすると`rpm`になります。今回はGitHubからダウンロード/ビルドで進めます。

```diff
- 緑色のコード⇒ダウンロードZIP
+ git clone https://github.com/HewlettPackard/nagios-plugins-hpilo.git
```

# (2) 必須rpmインストール
- nmap
- amsd(HP Agentless Management Service)


# (3) HPE iLO SNMP Pluginビルド
```bash:/tmp
# /tmpなどに保存
cd nagios-plugins-hpilo/

# /etc/init.d/nagiosにnagios実行ファイルが存在しないとエラーとなる
# シンボリックリンク作成
ln -s /opt/nagios/bin/nagios /etc/init.d/nagios

./configure --prefix="Plugin_install_directory" --exec-prefix="nagios_install_directory" --datadir="nagios_data_directory"

make 
make all
make install
```
```bash:/opt/nagios/libexec
# --prefix="Plugin_install_directory"で指定したdirectory配下
# /opt/nagios/libexecにファイル生成される
|--hpeilo
|  |--Base.css
|  |--CPU_Info.js
|  |--Fan_Info.js
|  |--Memory_Info.js
|  |--Network_Info.js
|  |--PS_Info.js
|  |--Storage_Info.js
|  |--Temp_Info.js
|  |--nagios_hpeilo_engine
|  |--nagios_hpeilo_service_details.php
|--hpeilo_nagios_config
|--nagios_hpeilo_cfg_generator
|--nagios_hpeilo_engine
|--nagios_hpeilo_traps
```
# (4) HPE iLO SNMP Plugin設定

`IPaddress`や、`host-group-name`など聞いてくるので入力
下記ファイル生成/追記されます。

- /opt/nagios/libexec/hpeilo_nagios_config.cfg
- /opt/nagios/etc/ilo/ilo.cfg
- /opt/nagios/etc/nagios.cfg

```bash:/opt/nagios/libexec
# ウィザード形式で設定ファイル生成
./hpeilo_nagios_config
```

```bash:/opt/nagios/libexec/hpeilo_nagios_config.cfg
# Configファイル生成
/opt/nagios/libexec/hpeilo_nagios_config.cfg

---
PASSIVE_DISCOVERY 1
ACTIVE_DISCOVERY  1
HOSTGROUP: GROUPname,IPAddress,SNMPcommunityname,SNMPcommunityname
CHECK_INTERVAL 5
NAGIOS_HOSTIP nagios_IPAddress
---

```
```bash:/opt/nagios/etc/ilo/ilo.cfg 
# nagios用のConfigファイル生成
/opt/nagios/etc/ilo/ilo.cfg 
```
```bash:/opt/nagios/etc/nagios.cfg
# Config参照先追記
---
cfg_dir=/opt/nagios/etc/ilo
---
```

# (5) 動作確認
設定ファイルが整ったので、nagios再起動すれば管理画面に出てきます。
```bash:
systemctl restart nagios
```

# (6) 応用編
機器を追加したい場合は`hpeilo_nagios_config`を実行してしまうと`hpeilo_nagios_config.cfg`が上書きされてしまう
`hpeilo_nagios_config.cfg`を修正し`nagios_hpeilo_cfg_generator`実行

```bash:/opt/nagios/libexec/
# 再検出/ilo構成ファイル上書き
# -m 1 (Active discovery)モードで -s (host-group-file)を実行し -o (ilo.cfg)ファイル上書き
./nagios_hpeilo_cfg_generator -m 1 -s hpeilo_nagios_config.cfg -o 
```

# (7) 全体像
```bash:/opt/nagios
/opt/nagios
|--bin
|  |--nagios                        # nagios実体
|
|--etc
|  |--ilo
|  |  |--ilo.cfg                    # nagios参照ファイル
|  |--nagios.cfg                    # naigos設定ファイル(参照先追記)
|
|--libexec
|  |--hpeilo_nagios_config          # Config生成
|  |--hpeilo_nagios_config.cfg      # Configファイル(どのIPをDISCOVERYするか設定)
|  |--nagios_hpeilo_cfg_generator   # 検出実行

```

ひとまず実行出来ました。
ただ`hostname`でのnagios表示は***できそうにない***。
あくまでも機種名連番で登録され、順番もおそらく***検知した順番***なので、アラートメールを受け取ってもどの機器か判断が厳しい
`ilo設定`していれば`Configファイル`は***自動生成***され、その部分は運用管理面で負荷が減るかと。

既存Nagios設定を汚す事もないので(nagios.cfgには追記されますが、、、)、補完的な運用管理として設定しててもいいかもしれません。

参考になれば

ではまた