【Hinemos】Hinemosで大量のノードをping監視してみた
投稿日: / 更新日:
■はじめに
Hinemosで大量の管理対象ノードを監視したいと思ったことはないでしょうか?
今回は、2万ノードに対してPING監視を実行して正常に動作するのか試してみようと思います。
■大量ノード監視時における懸念点
PING監視は実行間隔の周期で監視対象のスコープに登録されているノードに対して、同時にpingを送信します。
そのため、PING監視設定が1つの場合、一つのスレッドを作成し、
PING監視チェック設定の[(チェック回数-1)×チェック間隔+タイムアウトの時間]の間、同スレッドを占有します。
大量のノードをPING監視することで、以下がボトルネックとなって、正常に動作しない可能性が考えられます。
・CPU
・ディスクI/O
・メモリ
■監視実施
● 実施環境について
今回は下記のスペックのマネージャ環境で、リポジトリに登録した2万ノードを対象に一つのPING監視設定で”1時間毎”に監視を実行してみます。
<今回のマネージャ環境のスペック>
・CPU4
・メモリ16GB
・ディスク35GB
● PING監視実施後の結果
2万台すべてのノードに対して正常で検知している場合、およそ3分以内にすべての監視結果が返ってきました。
Webクライアントの表示等も時間がかかるなどなく、問題なく監視結果が表示できていました。
sarコマンドで、監視が動いている時間帯のCPU使用率を確認します。
1 |
# sar |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
15時20分01秒 CPU %user %nice %system %iowait %steal %idle 15時30分01秒 all 3.91 0.00 0.20 0.00 0.00 95.89 15時40分01秒 all 3.60 0.00 0.20 0.00 0.00 96.20 15時50分01秒 all 3.45 0.00 0.20 0.00 0.00 96.35 16時00分01秒 all 7.92 0.00 0.39 1.01 0.00 90.68 16時10分01秒 all 3.77 0.00 0.19 0.00 0.00 96.03 16時20分01秒 all 3.89 0.00 0.20 0.00 0.00 95.91 16時30分01秒 all 3.83 0.00 0.20 0.00 0.00 95.98 16時40分01秒 all 3.55 0.00 0.20 0.00 0.00 96.25 16時50分01秒 all 3.38 0.00 0.20 0.00 0.00 96.42 17時00分01秒 all 6.94 0.00 0.36 0.96 0.00 91.74 17時10分01秒 all 3.28 0.00 0.21 0.00 0.00 96.51 17時20分01秒 all 5.40 0.00 0.24 0.00 0.00 94.36 |
監視が動いていた50分台付近の17:00ごろに使用率が上がっていますが、
急騰するといったことはありませんでした。
PING監視にていくつか異常が発生する場合を想定して、監視サーバを何台か停止してみましたが、
正常系と同じように短時間で結果が返ってきました。
●実施した感想
2万台のノードをPING監視だけで実施する分には、今回のスペックでも十分に耐えられることがわかりました。
ただ、さらに対象ノードを増やすには以下の事象が発生する可能性があると思いました。
・監視結果の応答時間の遅延(CPUコア数を増やすことで対応できるかもしれない)
・ディスクI/Oの高騰による監視結果の書込み待ちが長くなる(現在は、ハードディスクのため、SSDにすることで対応できるかもしれない)
今回は、運用観点のイベント通知の履歴保存期間や、ログの保存期間等は考慮していません。
上記の監視を行うことで、通知の設定等によって履歴やログが大量に発生することも考えられます。
過去の記事にて、履歴、ログの管理について紹介していますので、ご参考にしていただければと思います。
■おわりに
この記事では、2万ノードについてPING監視を行い正常に動作するのか試してみました。監視設計をする際のご参考になれば幸いです。