SNMPを使った機器のモニタリングには、統計を把握するためにグラフ化させることが一般的だ。今回の記事では、RRDtoolとフロントエンドツールを使って視覚化させる方法を解説しよう。
前回の第6回までには、Net-SNMPのsnmpgetコマンドやsnmpwalkコマンドを使ってオブジェクトの値を参照することで、現在の情報を取得する方法を説明してきた。
しかしコマンド実行時における瞬間の状況を数値として取得するだけでは、統計情報を把握することはできない。多くの場合、定期的に値を取得して統計をとり、通常値か異常値なのかの判断をしたいはずだ。
そこで必要となるのが、「値をグラフ化するツール」だ。
値をグラフ化するツールとして代表的なものに、「MRTG」と「RRDtool」がある。どちらもTobias Oetiker氏らによるGPLのオープンソースだ。
そこで今回は、RRDtoolを使ってSNMPで収集したデータをグラフ化するための方法を説明しよう。なお、MRTGを使いたい人は、初版となる「SNMPによるネットワークモニタリング」を参照してほしい。
この記事は、SNMPの概要から実際に応用していくことを考え、オンライン・ムックPlus「SNMPによるネットワークモニタリング“第2版”」として2001年5月に公開した「SNMPによるネットワークモニタリング」を元に、6年以上の歳月を経て、枯れた情報を最新環境に合うよう刷新していくものだ。
RRDtoolは、「RRD(Round Robin Database)」と呼ばれるデータベースに時系列のデータを格納し、それをグラフ化するツールだ。
RRDの「ラウンドロビン」という意味は、「データサイズが一定であり、いっぱいになったなら、先頭に戻って、もっとも古い値を上書きしていく」という意味だ。この仕組みにより、長期運用しても、データベースの肥大化を考えずに済むのが最大のメリットだ。
RRDtoolでは、1つのグラフに幾つものデータでも重ね描きできる。また四則演算した結果をグラフ化することもできるなど、描画機能が充実している。
ただしRRDtoolは、「データの格納」と「グラフの描画」の2つの基本機能しか持たない。言い換えると、SNMPとはまったく関係のないツールである。
実際に運用する場合には、
1)snmpgetコマンドを使って値を取得し、その値をRRDに格納する。
2)RRDに蓄積した値を描画する。
というスクリプトを記述して運用していくことになる。
この運用は、明らかに手間がかかる。そのためRRDtoolをより使いやすくするために、幾つかのフロントエンド機能を提供するソフトがある。それらについては、後に触れる。
それではまず、RRDtoolを入手してインストールしよう。RRDtoolは、http://oss.oetiker.ch/rrdtool/download.en.html からダウンロードできる。
Copyright © ITmedia, Inc. All Rights Reserved.