目次 表示
Cactiはネットワークリソースのグラフ化のためのオープンソースツールキットでGroundWork Network Management Suite(NMS)の追加コンポーネントとしてGroundWork Monitorに統合されています。Cactiがインストールされると、”Cacti”のメニューがアプリケーションランチャーに表示されます。
簡単に言うとCactiは選択したネットワークデバイスの利ロース使用率のレベルを定期的に計測し、そのデータからダイナミックでユーザ定義のグラフを発行する統合ツールです。GroundWork Monitorのほとんどのコンポーネントがネットワーク上のデバイスの監視(あるホスト上の利用可能なリソースを計測し、条件を満たしたときアラームを生成するなど)を目的としてデザインされているのに対し、Cacitiは主に管理者がネットワークデバイスのリソース状況を可視化することのサポートを目的にデザインされています。
具体的にはCactiはユーザが特定するデバイスから定期的にサンプルを得るために、オープンエンドなポーリングエンジンを使用しそれをダイナミックデータベースに保存し、管理者が収集したデータの高度にカスタマイズされたグラフを作成することを可能にします。そこから、管理者はネットワーク上の色々なリソースについてのグラフ表示をするためにCactiのWebインタフェースを使用することができ、ネットワーク全体の状況を可視化することをサポートするために複数の方法でデータを合わせることができます。さらにCactiは可視化の機能を強化するためのデバイス検出や基本的なアラーム追加のような拡張できるプラグインをサポートしています。
このドキュメントはntopの基本設定とオペレーションについて述べています。詳細な内容については オンライン Cacti ドキュメントを参照します。
CactiはGroundWork Monitorや他のアプリケーションとは別にインストールされ、独自の設定プロセスを持ちます。
Cactiや他のNMSアプリケーションはGroundWork Monitorに使用されるサーバとは別に専用のApacheサーバを使用するWebベースのアプリケーションとして組み込まれています。専用のApacheサーバはCactiのWebページにアクセスする前に起動する必要があります。Apacheサーバは/etc/init.d/nms-httpdスクリプトの使用を通して起動と停止がなされます。デフォルト設定ではこのスクリプトはシステムがスタートした際に自動的に実行されます。
NMSに特化したApacheサーバを手動で停止するにはルート権限を持つユーザでログインし、以下のコマンドを実行します:
/etc/init.d/nms-httpd stop
NMSに特化したApacheサーバを手動で停止するにはルート権限を持つユーザでログインし、以下のコマンドを実行します:
/etc/init.d/nms-httpd start
NMSに特化したApacheサーバが自動的に起動するのを防ぐ場合はルート権限を持つユーザでログインし、以下のコマンドを実行します:
chkconfig --del nms-httpd
スクリプトを再度有効にするには、ルート権限を持つユーザでログインし、以下のコマンドを実行します:
chkconfig --add nms-htppd
CactiのWebペー字はNMS特化のApacheのインスタンスによって提供され余すがCactiのWebのフロントエンドはGroundWork Guavaの使用を通してGroundWork Monitorに統合されています。つまり、Cactiにアクセスできる適切なロールベースが認められたユーザはGroundWork Monitorにログインし、アプリケーションランチャーから”Cacti”を選ぶことでCactiにアクセスが可能になります。
しかし、CactiはGroundWork Montirとは独立した独自のユーザアカウントとアクセス管理を持ちます。具体的にはCactiはユーザ名”admin”、パスワードが”admin”の管理者権限を持つユーザを1つだけ持っています。それ以上に、ほとんどの作られたWebページには制限がなく、認証を必要としません。CactiのWebサーバあるいはWebページのいくつかへのアクセスを制限したい場合はCacti内で適切なユーザアカウントとアクセスコントロールを作成する必要があるかもしれません。
このプロセスはGroundWork MonitorでどのユーザがCactiにアクセスできるかを決めるプロセスとは別のものであることに留意します。Cactiへのユーザアクセスの設定についての情報は管理者ドキュメントの”ロールの設定”を参照します。
CactiはユーザがGroundWork Monitorを通してCactiに初めてログインした際、Cacti内にユーザアカウントを自動的に作成する機能を持っています。つまり、Webページへアクセスするためにユーザアカウントを作成する必要はありません。しかし、ユーザアカウントを直接管理することが必要な場合もあります。
Cactiに新しいユーザアカウントを作成したい場合;スクラッチから新しいアカウントを追加するか、既存のアカウントをコピーするかのどちらかが可能です。既存のアカウントをコピーすることによって作成されたアカウントは元のアカウントが持っている特性とアクセスコントロールを引き継ぎます。一方で、スクラッチから作成されたアカウントは”default”ユーザアカウントが持つ特性とアクセスコントロールを引き継ぎます。
デフォルト設定ではCactiは新しいユーザアカウントに対してデフォルトのテンプレートとしてGuestアカウントを使用します。新しいユーザテンプレートのために異なるアカウントを選択するためには左のナビゲーションバーから”Settings”をクリックし、結果画面から”Autehntication”をクリック、”User Template”のドロップダウンボックスから既存のユーザアカウントを選択し、画面の下部の”Save”ボタンをクリックします。
ユーザアカウントを作成するためには左のナビゲーションバーにある”User Management”メニューをクリックします。すると、以下と同じように現在定義されたユーザアカウントのリスト画面が表示されます:
デフォルト設定で新規ユーザアカウントを作成する場合は、右上にある”Add”をクリックします。下図と同じようなアカウント名やユーザのフルネーム、ユーザのパスワードなどを設定できる画面が表示されます:
アカウントの詳細の設定が終了したら、右下にある”create”ボタンをクリックします。
既存のユーザアカウントとの設定を単純にコピーしたい場合はユーザアカウントのメインページに戻りコピーしたいアカウントの右にあるチェックボックスをクリックし、右下にあるドロップダウンメニューから”Copy”を選択し、その隣にある”go”ボタンをクリックします。アカウント名、ユーザのフルネーム、使用する認証の範囲が特定できる新しい画面が表示されます。値を入力したら、”yes”ボタンをクリックします。ユーザアカウントのメインページへ戻ります。パスワードや他の特性を変更するためにアカウントを編集する必要があります。アカウントを編集するためにはユーザアカウントのメインページへ戻り、編集したいアカウント名のリンクをクリックします。
ユーザアカウントを削除するにはメインページへ戻り、対象のアカウントの右にあるチェックボックスをクリックし、右下のドロップダウンボックスから”Delete”を選択し、その隣にある”go”ボタンをクリックします。削除の確認を求められます。
Cactiのアクセスコントロールはかなり荒く、多くの機能を管理しています。これらのアクセスコントロールは二つの一般的な範囲に分けられます。1つはユーザがアクセスできるWebページを管理する”realm”パーミッション、もう1つはユーザが閲覧することのできるグラフを管理する”graph”パーミッションです。アクセスコントロールをあわせることで、特定のタスクに対してユーザを制限することが可能です。
例えば、realmパーミッションはユーザが単一のWebページ上で複数のグラフを表示するグラフツリーの作成や変種ができるかどうかを決定します。一方でgraphパーミッションはユーザが特定のホストやリソースのグラフの閲覧、あるいはグラフツリー全体の閲覧を妨げるかどうかを決定します。これらの特性を選択してあわせることでグラフツリーに対してユーザを制限、あるいはツリー内の扱いが慎重なグラフ化の閲覧を禁止することが可能になります。
アカウントに対してパーミッションを変更する場合、ユーザアカウントのメインページへ戻り、変更したいアカウント名をクリックします。選択したアカウントの詳細がrealmパーミッションとgraphパーミッションが下部にタブでリストされた状態で表示されます(個々のチェックボックスとドロップダウンリストはユーザがアクセスすることを認められているリソースを示します。)。必要な変更が終わったら変更をコミットするために右端にある”save”ボタンをクリックします。
新しいrealmパーミッションは新しいCactiのプラグインがインストールされたとき、特にプラグインがCactiのインタフェースにWebページを追加しときに利可能になるかもしれません。
前述したようにCactiは、ネットワーク上のユーザが特定したデバイスからサンプルデータを取得するためにオープンエンドなポーリングエンジンを使用します。しかしポーリングエンジンはやや階層化されているため、いくつかの設定が必要となります。
基本的に、CactiはSNMPクエリの生成や、他のローカルプログラムを実行する1つ以上の管理プログラムを呼び出すシステムcronデーモンによって定期的に実行されるPHPスクリプトを使用します。これらのプロセスによって戻ったデータは最終的には新しいデータで適切なデータベースファイルをアップデートするコントロールスクリプトに戻ります。
特に、Cactiがポーリングエンジンへのフロントエンドとして使用するコントロールスクリプトは /usr/local/groundwork/nms/applications/cacti/poller.phpです。このスクリプトはやや直接的なwrapperプログラムを提供し、Cactiの変数の読み込み、子プロセスへのクエリの配布、テキストデータを適切なログファイルへの書きこみなどの基本的なタスクを実行します。
デフォルト設定では、Cactiha自動的にアカウントnagiosのcrontabファイルに、poller.phpスクリプトを追加し、5分毎に起動するようスケジュールします。この動作を編集するには以下の手順を実行します。
サーバにログインし、root権限を持つために”su root”コマンドを実行します。
コマンドプロンプトからnagiosアカウントに関連するcrontabファイルを編集するために"crontab -u nagios -e"を実行します。
Crontabの中の”poller.php”を探し、必要に応じて編集をします。スケジュールの間隔を変更した場合、Cactiに新しい間隔を伝え、グラフが新しい時間の値を示すよう伝える必要があります。これを行うには左のナビゲーションバーにある”Settings”をクリックし、結果画面から”Poller”タブをクリック、”Cron Interval”と”Poller Interval”の値に新しい値を設定し、画面下の”Save”ボタンをクリックします。
Crontabファイルをセーブし、エディタを終了します。Cronデーモンは自動的に新しいパラメータと現在のスケジュールをあわせます。
Poller.phpスクリプトが実行されると、どの管理プログラムが管理者によって選択されたかを特定し、個々のクエリを処理するためにそのプログラムを使用します。Cactiは2種類の管理プログラムを提供します。1つはコマンド環境のPHPベースのフロントエンドであるcmd.phpです。もう1つはspine(過去はcactidと呼ばれていました)と呼ばれ、cmd.phpと同じ環境を提供するバイナリツールですが、プログラムのオーバーヘッドが少なく、処理も早いです。
デフォルト設定ではCactiは、spineを使用します。この設定を変更したい場合、左のナビゲーションバーにある”Settings”をクリックし、結果画面の”Poller”タブをクリックし”Poller Type” のドロップダウンリストから管理プログラムを選択し、画面下で”Save”ボタンをクリックします。
Cactiがデバイスのリソースの監視を始める前に、聞き自身がCactiのホストデータベースに追加される必要があります。ホスト特有のデータベースはCactiがデバイスのリソースに問い合わせする方法を管理するために後で使用されます。
例えば、Cactiはデバイス上の特定のリソースに対して問い合わせをするまえにデバイスが立ち上がっていて、要求に対応しているかどうか、またデバイス固有のデータベースがこの目的のために使用されるプローブを定義しているかどうかを判断するために常にテストをしています。同じようにデバイス固有のデータベースが他のSNMP特性(コミュニティストリングや認証の詳細など)とともに使用しているSNMPのバージョンを決定します。つまりSNMPの変数がデータクエリ、クエリが実行された際に使用される値を使用することが可能になります。
これらの詳細の種類はデバイスが最初にデータベースに追加された際に定義されることができ、後に編集することが可能になります。しかしこれらの特性に使用されるためのデフォルト設定値を設定すること可能で、それはCactiに新しいデバイスを追加するプロセスを簡略します。
デバイスが最初に作成された際、特定される”r;Host Template”セッティングはデバイスを監視するために使用されるグラフとそれに関連するクエリを決めます。これらのオプションのデフォルト設定値は割り振ることができ、そうすることで、デバイス作成プロセスの無駄を省きます。このプロセスの詳細情報については下の”ホストテンプレートの管理”セクションを参照します。
どのようにホストが最初にプローブされるかを検出するデフォルトの方法を設定するには、左のナビゲーションバーの”Settings”をクリックし、”Poller”タブをクリックし、”Downed Host Detection”のドロップダウンリストからプローブ方法を選択し、選択された方法に対して要求される追加の値を設定して画面の下で”Save”ボタンをクリックします。
プローブに必要とされる追加の設定は選択されたプローブ方法によって決まります。例えば、”None”オプションはホストプローブを無効にし、したがって追加設定を求めません。一方”SNMP”によるプローブはこの画面では追加のインプットを要求しませんがSNMPの追加設定をどこかで要求されます(下を参照)。しかし、”Ping”を選択した場合、”Ping Type”のドロップダウンリストからプローブのタイプを特定する必要があり、”UDP Ping”や”TCP Ping”の使用を選択した場合は、プローブが使用するUDPあるいはTCPのポート番号を設定する必要があります。
”r;ICMP Ping”プローブはCactiがルート権限で起動されること求めますが、Cactiはそれらの権限を持たないアカウントnagiosを使用します。つまり、ICMP Ping プローブはCactiのインストールの段階で大きな編集なしではGoundWork のCactiパッケージと一緒に使用することはできません。それは、このドキュメントの目的の範囲を超えています。この問題のサポートについてはGroundWorkのカスタマーサポートにコンタクトを取っます。
SNMPプローブの使用を選択した場合、使用するSNMPパラメータも定義する必要があります。新しいデバイスにSNMPの値をセットするには左のナビゲーションバーから”Settings”をクリックし、結果から”General”タブをクリック、画面の”SNMP Defaults”で適切な編集を行い、画面の下で”Save”ボタンをクリックします。SNMPのv2とv3のデバイスが混在しているネットワークの場合、全てのオプションを設定、ネットワーク上でもっとも顕著な値を”SNMP Version”フィールドにセットし、それから少数のデバイスを追加する際に他のバージョンを選択します。適切なデフォルト設定値はデバイス作成の間、バージョンのフィールドが変更された際に使用されます。
ホスト特有のエントリを編集することで特定のホストのデフォルトのプローブ方法を上書きすることができます。また、Web上でそのデバイスのプローブ方法を編集し、変更を保存することで特定のデバイス上の個別のプローブ方法をテストすることができます。そのデバイスに関するWebページが表示される際、Cactiは現在選択したプローブを生成し、プローブの結果をページの上で表示します。結果が黒で色づけ去れている場合、Cactiはそのホストが生きていると食んだ意志、赤の場合は到達不能と判断してそのホスト上のリソースに対するクエリを発行しません。Cactiがホストのリソースを監視するためにデバイスが動作するようプローブのタイプを選ぶ必要があります。
Cactiはネットワークリソースのグラフ化ツールとして主にデザインされていますが、他の目的で拡張できるプラグインインタフェースも提供します。例えば”discovery”プラグインはネットワーク上のデバイスを探すために使用され、適切なホストテンプレートと検出されたデバイスを合致させそのデバイスに対するグラフを自動的に作成します。このプラグインはCactiのポーリングプロセスの一部として実行されますが、機能は基本パッケージで使用できるものと少し異なっています。この点ではプラグインはCactiがネットワークリソースのグラフ管理以上のために使用できることを可能にしています。
デフォルト設定ではCactiは以下のプラグインを含んでいます:
Settings - SettingプラグインはCactiのconfigurationに追加のWebページを提供し、それにより、通常の利用可能なものより多くのプログラムオプションが定義されることが可能になります。
Discovery - Discoveryプラグインは単純なテストパケットでユーザ特定のIPアドレスをプローブし、システム情報に対して検出したデバイスの問い合わせをするためにSNMPを使用します。そこから、システム情報がユーザ定義の検出テンプレートの一群と合致され、もしその合致が見つかれば、そのデバイスは適切なホストテンプレートと関連するグラフとともにCactiのデバイスデータベースに追加されます。
Thresholds (thold) - ”r;thold”プラグインはデバイスとそのリソースを監視し、ユーザ定義のしきい値を超えた場合はe-mailによるアラートを発行する非常に基本的なアラームシステムを提供します。加えてCactiはCactiのtholdプラグインのアウトプットの呼び出し、GroundWork Monitorのシステムイベントログのアップデート、データをアラート機能に渡すNagiosのプラグインを提供します。
Weathermap - WeathermapプラグインはNMSのWeathermapで作成されたマップがCactiで表示されることを可能に島明日。これはネットワーク全体の簡単な概要がホストのグラフやしきい値の代わりに使用されることを可能にします。
通常、それぞれのプラグインはCactiの中に独自のWebページを持ち(常にではありません)、自身のメニューアイテムを持つこともあります。それらのページとメニューへのアクセスは通常”User Magement”内にある1つ以上のrealm権限を有効にすることで管理されます(Settingsプラグインは例外です。これは単純に新しいタブのページを設定ページに追加します。)。
検出プラグインへのユーザアクセスを認証するには左のナビゲーションバーにある”User Management”をクリックし、編集したいユーザアカウントのリンクをクリックし、”View Host Auto-Discovery”チェックボックスを起動して画面下にある”Save”ボタンをクリックします。選択したアカウントがCactiのページを次回リロードすると、大きな青い”discover”タブが画面の上に表示されます。
検出プラグインのglobal settingsを設定するには左のナビゲーションバーにある”Settings”をクリックして、結果の画面から”Misc”タブを選択します。以下と同じような画面の”Discover”セクションが確認できます。:
適切な値をフィールドに設定し、続けるために画面下の”Save”ボタンをクリックします。
検出プラグインの管理と使用方法の情報は下述の検出プラグインの使用セクションを参照します。
Thresholdsプラグインは2つの機能性を提供し、それぞれが独自のrealmパーミッションを持ちます。
Thresholdsプラグイン自身を管理(必要であれば定義の作成と管理)するためのユーザパーミッションを設定するには、左側のナビゲーションバーにある”User Management”をクリックし、編集したいユーザアカウントをクリックし、”Configure Thresholds”のチェックボックスを起動し、画面の下にある”Save”ボタンをクリックします。選択されたアカウントが次にCactiのページをリロードすると、新しい”Thresholds”と”Thresholds Templates”が左のナビゲーションバーに表示されます。
現在定義されたしきい値と関連するデータソースのステータスを表示するユーザパーミッションを設定するには、左のナビゲーションバーにある”User Management”をクリックし、変更したユーザアカウントのリンクをクリックし、”View Thresholds”のチェックボックスをいれ、画面下にある”Save”ボタンをクリックします。選択されたアカウントが次にCactiのページをロードすると、青い大きな”thold”タブが画面の上に確認できます。
thresholosプラグインの設定をするには、結果の画面から左のナビゲーションバーにある”Alerting/Thold”タブをクリックします。以下と同じような新しい画面が表示されます。
”r;Dead Hosts Notification”にチェックボックスを入れると、Cactiが”down”状態にあるホストについてのe-mail通知を送ることを可能にします。これは全体に関する機能なので、ホストベースでこの設定を上書きする方法はありません。つまりこのオプションはCactiによって監視されている全てのホストが重要なものであれば使われるべきものです。
適切な値をフィールドに設定し、続けるために画面下の”Save”ボタンをクリックします。
メールサーバのアドレスと同じような設定は”Mail/DNS”タブの下で定義されます。これらのオプションはアラームメッセージが送られる前に定義される必要があります。
thresholdプラグインの管理と使用方法の情報は下述のthresholdsプラグインの使用セクションを参照します。
Weathermapプラグインは2つの機能を提供し、それぞれが独自のrealmパーミッションを持ちます。
Weathermapプラグイン自身を管理するユーザパーミッションを設定するには(必要に応じてCactiの中で利用可能なマップの定義)、左のナビゲーションバーにある”User Management”をクリックし、編集したいアカウントをリンクし"Plugin->Weathermap: Configure/Manage"のチェックボックスを起動し、画面下の”Save”ボタンをクリックします。選択されたアカウントがCactiをロードすると、Weathermapが左のナビゲーションバーに表示されます。
現在利用可能なweather mapを見るには、左のナビゲーションバーにある”User Management”をクリックし、"Plugin->Weathermap: View "チェックボックスを起動し、画面下の”Save”ボタンをクリックします。選択されたアカウントがCactiをロードすると、青い大きな”weathermap”のタブが画面の上に表示されます。
weather mapプラグインを設定するには左のナビゲーションバーにある”Settings”をクリックし、結果画面から”Misc”タブをクリックします。以下のweathermapと同じ画面の”Network Weathermap”セクションが確認できます:
このダイアログのもっとも重要な点は"Map Rendering Interval"の値で、どのくらいの頻度でプラグインがマップのアウトプットを生成するかを決めるものです。プラグインはCactiポーラーによって実行されるので、この値を"Every Poller Cycle"に設定するとポーラーが起動するたび(デフォルトでは毎5分)にマップが生成されるようになります。より頻繁にマップを生成させる必要がある場合はポーラのスケジュール間隔を変更する必要があります(このプロセスについての詳細情報は上記のポーリングエンジンの設定セクションを参照します)。
適切な値をフィールドに設定し、続けるために画面下の”Save”ボタンをクリックします。
weathermapプラグインの管理と使用方法の情報は下述のweathermapプラグインの使用セクションを参照します。
前述したように、Cactiはユーザ特定のデバイスからサンプルを収集して保存するオープンエンドなポーリングエンジンを使用し、管理者がネットワーク上の色々なリソースの高度にカスタマイズされ、履歴かされたグラフを作成することが可能になります。
ユーザの点から、グラフ作成のプロセスは非常にわかりやすいです。まず、ユーザはデバイス自身(IPアドレスやSNMPのコミュニティストリングなど)とプラットフォームタイプ(Windows, Unixその他)を認識します。ユーザがプラットフォームタイプを選択したとき、データの一般的な内容(ディスク使用量を引き出すための既知のSNMP OIDの使用)を使用するための引き出す方法を定義するデータソースのデフォルトセットは自動的に有効になります。最後にユーザは、グラフ化したいリソース(あるサーバのDドライブを無視してCドライブの監視を選択)の特定のインスタンスを認識します。そこから、Cactiは選択されたリソースが適切なクエリ方法で引き出され、そのデータが適切なデータベースに記録されたことを確認しながら詳細情報を扱います。
能です。例えば、デフォルトのホストプロファイルのダウンから生のデータを操作するために使用する定義済みの数式まで全てを編集するために使用される色々なテンプレートや編集画面を提供します。しかし、これらのツールは完全に習得するには非常に多大な時間を要求し、時々プログラミングスキルを要求されます。これはこのドキュメントの範疇を超えています。
よく使用されるWebページの概略がこのセクションの残りで提供されています。詳しい情報については オンライン Cacti ドキュメントを参照します。
Cactiの情報モデルでは、マスターのオブジェクトは監視されるデバイスを認識するデータの集まりであるホストデバイスエントリです。このデータは親密性のあるホスト名やそのIPアドレスのようなホストの認識を含みますが、この特定のデバイスで使用されるべきホストテンプレート、生死を確認するためにホストのプローブを行う方法、(もしあれば)デバイスとともに使用されるSNMPの設定も提供します。
デフォルト設定ではCactiは様々のOSのコマンドとともにローカルリソースを監視する”localhost”のエントリとともに設定がされています。
Cactiのデバイスエントリを管理するために左側のナビゲーションバーにある”Devices”をクリックします。以下と同じような現在定義されたホストデバイスをリストアップする画面が表示されます:
既存のデバイスエントリを編集するためにデバイス名のリンクをクリックします。
新しいデバイスを追加するために画面の右上にある”Add”リンクをクリックします。以下と同じようなデバイスの詳細を特定できる画面が表示されます:
画面の上のセクションはデバイスの基本的な認識データを含んでいます。特に”Description”フィールドはCactiの中で色々なリストやグラフに表示されるデバイスのホスト名に対して使用されます(このフィールドはCactiのグラフがGroundWork Monitor内のホストデバイスとリンクしたときのプライマリキーでNagiosのデバイス名と同一である必要があります)。一方で”Hostname”フィールドはデバイス自身とデバイスエントリがリンクするために常に使用される特定の認識情報です。(一般的には、IPアドレスよりも流動性があるので、フルドメインが後のフィールドには一番良い選択です。)
”r;Host template”ドロップダウンリストボックスは現在のデバイスに対する適切なプラットフォームのタイプを選択します。デフォルト設定では、Cactiは”Cisco Router”、”Windows 2000/XP Host”、Unixベースのシステムに対する"ucd/net SNMP Host"のような2,3の一般的なホストプラットフォームを持っており、"Generic SNMP-enabled Host."のような不特定のホストテンプレートを含んでいます。前述したようにホストテンプレートはそれぞれのデバイスエントリに対して使用されるデータソースのデフォルトのセットを決め、セットアップをより簡単に早くすることができます。(必要であればテンプレートのセットは後で上書きが可能です。)
"Availability/Reachability Options"セクションと"SNMP Options"セクションにあるフィールドはどのようにCactiがホストの生死を確認するためにテストをするか決定します。Cactiはダウンとしてみなしたホストからの計測データの取得を試みないので、値を修正するためにこれらのフィールドを設定することは重要です。デフォルト設定ではこれらのフィールドは”Settings”画面の”Poller”タブにある値から派生しています。設定方法についてはうえのポーリングエンジンの設定セクションを参照します。
すべてのフィールドが入力された後、画面の右下にある”Create”ボタンを押下します。"Create Graphs for this Host"という大きなテキストのリンクと"Associated Graph Templates"と"Associated Data Queries"を操作する画面の下に新しいセクションが表示された状態でリロードされます(これらの追加画面のエレメントについては下述のグラフとデータソース管理に詳しく書かれています。)。
デバイスの定義を削除するにはデバイスリストに戻り、削除したいデバイスの右にあるチェックボックスをクリックし、デバイスリストの下にあるドロップダウンボックスから”Delete”を選び、その隣にある”go”ボタンをクリックします。デバイスが削除対象になったことを記した新しい画面が表示されます。選択したデバイスと関連するグラフとデータソースの全てを削除するか、それらを残しておくかのどちらを選んでもかまいません(後者はサービスから外れたデバイスに対しては必要かも知れませんが古いデータを統計分析のために残しておきたいかもしれません)。アンダーラインの入っているデータベースファイルはどちらのイベントでも削除されないので、ディスクスペースを改善したいのならば手動で削除される必要があります。
デバイスがCactiで定義されると、Cactiに監視とグラフ化を行わせたいリソースを定義することができます。これは一般的にはアイテムをデバイス定義の"Associated Graph Templates" や "Associated Data Queries"セクションへの追加削除、あるいは他の画面にある個別のグラフとデータソースを管理することによって達成されます。
Cactiの情報モデルでは、データソースは監視されている特定のリソースを指します。一方でグラフ定義は可視化フォーマット内で1つ以上のデータソースの提供方法を述べています。単純なリソースに対しては、1つのデータストリームとともにデータソースやデータの1部を指す単一のグラフ定義があるかもしれません。
例えば、ローカルホストのデバイス定義はローカルシステム上の稼働中のプロセス数を表示するグラフを提供します。このグラフはデータの単一カラムを求めるので、根本のデータソースはデータストリームを参照するだけです。変わって、ほとんどのデバイス定義はアクティブなインタフェース毎のグラフとともにネットワークアクティビティのグラフを提供します。そのモデルでは複数のグラフが作成される必要があり、グラフのそれぞれが監視されているネットワークインタフェースの単一のデータソースを使用しますが、トラフィックのインバウンド、アウトバウンド数は別のデータカラムです。一方でUCD/Net-SNMP Load Average図はそれぞれのデータソースにデータカラムが保存されている状態で1分、5分、15分間隔でサンプルをキャプチャするために異なったデータソースを使用します。(この理由は後で明らかにします) グラフ定義は単一の図が3つのデータエレメントを持っているとして正しく描写します。
Cactiは個々のデータソースとグラフが別々のオブジェクトとして管理されることを可能にしますが、ユーザがそれぞれのオブジェクトを手動で作成することは予想しておらず、代わりに作成プロセスを自動化する色々なテンプレートを使用します。このモデルでは、ユーザは単に監視される必要のあるリソースに対して適切なテンプレートを特定し、グラフ化されたいリソースのインスタンスを選ぶとCactiはユーザの代わりに必要なデータソースとグラフ定義を作成します。
具体的に、1つのインスタンス(ローカルのプロセス負荷グラフのような)を持つリソースは通常シンプルな”graph templates”によって作成されます。そのシチュエーションにおいてユーザは使用したいグラフテンプレートを選択すると、Cactiは必要とされるデータソースを自動的に作成し、その後データソースを表すグラフを作成します。一方、複数のインスタンス(ネットワークインタフェースなど)をもつリソースは通常”data query”テンプレートの支援で作成されます。このテンプレートはまずそのリソースの検出可能なリソースをリストし、必要なデータソースと選択したリソースの各グラフを作成します。
例えば、ローカルホストについてのデバイス定義はCactiが以下のグラフテンプレートとデータクエリを表示する状態で含まれています- 個々のグラフテンプレートが1つのインスタンスを持つリソースを参照する一方、データクエリは複数のインスタンスを持つことができるリソースを参照します:
新しいグラフテンプレートはデバイス定義画面から、あるいは画面上にある"Create Graphs for this Host"をクリックすることで追加することができます。定義画面からグラフテンプレートを聞きに追加するには、"Associated Graph Templates"セクションにある"Add Graph Template"ドロップダウンリストから希望するグラフテンプレートを選択し、その隣にある”add”ボタンをクリックします。"Create Graphs"画面からグラフテンプレートを追加するには、"Graph Templates"セクションにある"Create:"のドロップダウンリストからグラフテンプレートを選択し、右下にある”create”ボタンをクリックします。どちらの場合でも現在の画面は選択されたグラフが適切なセクションでリストアップされている状態でリロードされます。
デバイス定義からグラフテンプレートの関連付けをはずす場合は、デバイス定義画面を使用する必要があります。"Associated Graph Templates"セクションで削除したいグラフテンプレートを選び、その隣にある赤い”X”アイコンをクリックします。確認は求められないことに注意します。この手順はグラフやデータソースを削除しませんが、変わりにデバイス定義からグラフ定義を削除することにも注意します。
別途、新しいデータクエリをデバイス定義画面から追加することもできます。しかい、データクエリの個々のインスタンスは画面上の"Create Graphs for this Host"リンクをクリックすることで管理されます。定義画面からデータクエリをデバイスに追加するには、"Associated Data Queries"にある"Add Data Query"ドロップダウンボックスからデータクエリを選択し、その隣にある”add”ボタンをクリックします。
グラフ化したいデータクエリのリソースのインスタンスを選択するには、画面上の"Create Graphs for this Host"のリンクをクリック、関連性のあるData Queryセクションの位置特定、それぞれ希望するインスタンスの隣にあるチェックボックスをクリックし、右下にある”create”ボタンをクリックします。
デバイス定義からデータクエリの関連性をはずすには、デバイス定義か面を使用する必要があります。"Associated Data Queries" セクションで削除したいグラフテンプレートを選び、その隣にある赤い”X”アイコンをクリックします。確認は求められないことに注意します。この手順はグラフやデータソースを削除しませんが、変わりにデバイス定義からグラフ定義を削除することにも注意してくださ
既存のデータソースを完全に削除するには左のナビゲーションバーにある"Data Sources"を選択します。既存のデータソースを示す画面が表示されます。削除したいデータソースの右のチェックボックスをクリックし、データソースリストの下にあるドロップダウンボックスから"Delete"を選択し、その隣にある”go”ボタンをクリックします。データソースが削除の対象であることを確認する画面が表示されます。選択したデータクエリと関連するグラフとグラフアイテムの全てを消去するか、それらを残しておくかのどちらかを選択できます。選択した後に”yes”ボタンをクリックするか、要求を取り消すために”no”ボタンをクリックします。該当のデータベースファイルはどちらのイベントでも削除されません、ディスクスペースの改善を望むのであれば、手動で削除する必要があります。
既存のグラフ定義を完全に削除するには左のナビゲーションバーにある"Graph Management"を選択します。既存のグラフを示す画面が表示されます。削除したいグラフの右のチェックボックスをクリックし、データソースリストの下にあるドロップダウンボックスから"Delete"を選択し、その隣にある”go”ボタンをクリックします。以下と同じような、グラフが削除の対象であることを確認する画面が表示されます。選択したデータクエリと関連するグラフとグラフアイテムの全てを消去するか、それらを残しておくかのどちらかを選択できます。選択した後に”yes”ボタンをクリックするか、要求を取り消すために”no”ボタンをクリックします。該当のデータベースファイルはどちらのイベントでも削除されませんし、ディスクスペースの改善を望むのであれば、手動で削除する必要があります。
Cactiに含まれる検出プラグインは1つ以上のネットワーク上のデバイスの位置を特定するよう設計されており、おそらく自動的にデバイスデータベースにそれを追加します。例えば、検出プラグインはWindows 2003 Serverホストの検出、SNMPのシステム認証ストリングを基にしたホストベースで使用するデバイスプロファイルの特定、それから有効済みのグラフがあるCactiのデバイスエントリを自動的に作成します。
このプロセスでは二つの別のタスクがあります。まず、検出プラグインは"Poller Frequency"オプションで定義した間隔により"Subnet to scan"で特定したネットワークアドレスをスキャンし、検出するデバイスからシステム情報を引き出すためにSNMPを使用します。次に検出プラグインは既出したデバイスとユーザ定義の検出テンプレートを一致しようと試み、一致が見つかった場合は自動的に(グラフテンプレートとデータクエリと関連する)デバイス定義を作成します
上のプロセスの一部として、検出プラグインはCactiで定義済みのデバイスと検出されたデバイスを比較し、同じIPアドレスを持っている場合は検出されたデバイスを破棄します。違う名前で検出されたデバイスは重複したホストエントリとして表示されるかもしれません。
検出プラグインは検出テンプレートに一致させることができなかったデバイスを保存するためのテーブルを使用しています。デバイステンプレートが作成されていない場合、新規に検出されたデバイスの全てがこのテーブルになります。このテーブルを閲覧するには、画面上の青い大きな”discover”タブをクリックします。このテーブルにあるデバイスをCactiに手動で追加するにはデバイスの右にある”Add”リンクをクリックします。検出されたデータは上のManaging Device Entriesで述べられたように同じ画面を使用して新しいデバイス定義を作成するために使用されます。
検出テンプレートは基本的なパターンのマッチングを使用しており、作成は単純です。基本的にそれぞれの検出テンプレートがSNMPのシステム識別テキストとこれが発生した際にデバイス定義が自動的に作成するために使用されるホストテンプレートに現れるサブストリングを認識します。検出テンプレートは左のナビゲーションバーにある"Discovery Templates"をクリックすることで管理されます。以下と同じように検出テンプレートをリストアップする画面が表示されます:
新しく検出テンプレートを追加するには右上の”Add”をクリックします。下と同じような画面が表示されます:
確認できるように、このダイアログは使用するホストテンプレート、デバイス定義への割り振るためのSNMPバージョン、SNMPのシステム情報ストリングに対して比較されるストリングと特定します。検出テンプレートの詳細設定が終了したら、右端下の”create”ボタンをクリックします。次回検出処理が起動すると、検出されたデバイスは新しいテンプレートと比較されます。もし、一致していたらそのデバイスは特定の聞きテンプレートを使用してCactiに追加されます。
検出テンプレートを削除するには検出テンプレートページに戻り、削除したいテンプレートの右側にあるチェックボックスをクリックし、その隣にある”go”ボタンをクリックします。削除の確認を求められます。
GroundWork NMS Cactiパッケージに含まれたthresholdプラグインは監視されたデバイスやリソースがユーザ定義のしきい値を超えるとアラートを発生するよう設計されています。例えば、監視されているホストが到達不能であればテキストの通知メッセージを送る、あるいは特定のリソースが通常より高い、あるいは低い値を返してきた場合埋め込んだグラフがついたHTMLのe-mailメッセージを送ることができます。加えて、Cactiはthresholdsプラグインのステータスの監視、GroundWorkのイベントログ、Nagiosの通知のアウトプットの使用ができるNagiosプラグインを含んでいます。
ホストレベルのしきい値は全体のもので、"Settings"の下の"Alerting/Thold"タブにある"Dead Hosts Notifications"のチェックボックスのオンオフで決定されます。この設定を上書きするホスト指定のオプションはありません。
リソースレベルのしきい値は二つの方法で定義できます。既存のデータソースに手動で追加するかthresholdテンプレートを定義し、それをデバイス全体に適用することができます。後者の場合データソースタイプに一致するテンプレートのみが引き継がれます。
しきい値を既存のデータソースに適用するためには、左のナビゲーションバーにある"Data Sources"をクリックし、編集したいデータソースを特定し、行の右側にある"Template Name"カラムのリンクをクリックします。Thresholdプラグインが適切に設定されていれば、以下と同じような大きなフォームでデータソースについての情報が表示されます:
確認できるように、このダイアログは使用する高低値、自動ベースラインに関連する情報、全体設定から派生するいくつかのオプションを特定することができます。詳細を設定し終えたら、右端の”save”ボタンをクリックします。設定した詳細とともに画面がリロードされます。プロセスが起動した次のタイミングで定義されたしきい値を持つデータソースは特定のクライテリアを満たすネットワークリソースに対してアラート通知が送信される状態で、値の高低を検査されます。
一対一ベースでしきい値を定義する代替方法として、しきい値が自動的に一致するデータソースに対して作成されるデバイスエントリに適用できるテンプレートを定義することができます。Thresholdテンプレートは左のナビゲーションバーにある"Threshold Templates"をクリックすることで管理されます。以下と同じような定義済みのテンプレートが表示されます。(デフォルト設定ではテンプレートは定義されていないので、画面は空白です):
新しいテンプレートを作成するには右端の”Add”をクリックします。データソーステンプレートと高低値のトリガーに使用されるテンプレート内のデータフィールドを設定できるウィザードが表示されます。選択した後、上と同じような大きなフォームが表示されます。設定が終了したら右端の”save”ボタンをクリックするとメインのテンプレート画面に戻ります。
テンプレートをデバイスに適用するには、左のナビゲーションバーにある"Devices"をクリックし、編集したいデバイス名をクリックし、ページの上の"Create Graphs for this Host"をクリック、それから次のページの上にある"Auto-create Thresholds"をクリックします。テンプレートがこのデバイスで使用しているデータソースと一致すれば、データソースはthreshold定義を適用させます。画面上でステータスの欄で作成したしきい値を確認できます。
Thresholdテンプレートを削除するにはメイン画面に戻り、削除したいデータソースの右側にあるチェックボックスをクリックし、右下にあるドロップダウンボックスから”Delete”を選択して、その隣にある”go”ボタンをクリックします。削除の確認を求められます。
特定の定義を削除するには、左のナビゲーションバーの"Thresholds"をクリックし、データソースを選択、右下にあるドロップダウンボックスから"Delete"を選択し、その隣にある”go”ボタンをクリックします。削除の確認を求められます。
デバイスとデータソースの現在のステータスを見るには、画面上の青い大きな”thold”タブをクリックします。
そこでは現在監視されているホストとデータソースのステータス画面が表示されます。データソースの詳細をクリックすると、そのリソースの時系列グラフのある画面が表示されます。
ThresholdプラグインアウトプットをNagiosとGroundWork Monitorのイベントログに統合する情報については、この章の終わりにあるThresholdアラームの統合を参照します。
Weathermapプラグインは、ユーザがweathermapのイメージとCactiの内部からのHTMLファイルを閲覧することを可能にすることを主として設計されました。しかし、プラグインは定義されたマップの全てを自動的に表示しないので、それらが表示される前に見たいマップをプラグインに追加しなくてはなりません。
Cactiで表示されている利用可能なweathermapを管理するには、左のナビゲーションバーで”Weathermap”をクリックします。以下と同じような画面が表示されます:
この画面からどのマップをCactiユーザに見せるかを決めることができます。新しいマップを追加するには右上の”Add”リンクをクリックします。以下のようなマップの設定をすることのできる画面が表示されます:
Cactiプラグインにマップを追加するために、マップの隣にある”Add”をクリックします。マップの管理画面にもどります。リンクの隣にある”View”リンクをクリックすると設定ファイルの内容を表示し、マップイメージは表示しないことに注意します。
マップがリストに追加されたら、マップ名の隣にあるユーザ名をクリックすることでマップへのアクセスパーミッションを設定することができます。どのユーザがマップ表示の権限をもつのかを選択できる画面が表示されます。ある、ユーザアカウントに対して特別にアクセスを許可するためにはドロップダウンリストにあるアカウントを選択して、”Update”ボタンをクリックします。”Anyone”でのアクセス認証はCactiに認証されていないユーザも含む全てのユーザがweathermapページを閲覧できるようになることに注意します。アカウントのパーミッションを削除する場合はアカウントの右にある赤い”X”アイコンをクリックします。
メインの管理画面にあるマップ名をクリックすることでマップを編集するweathermapエディタにアクセスすることができます。
利用可能なマップのリストからweathermapを削除するには、メインの管理画面へ戻りweathermapファイルの右にある赤い”X”アイコンをクリックします。
"Recalculate All Maps Now"ボタンはCactiの次回のスケジュール起動を待つことなくマップ生成機能を通して選択したweathermapを即時に処理できることを意図しています。しかし、これはポーラーとCactiのWebページが異なるアカウントで起動された際に問題が起こります。GroundWork NMSの場合、ApacheサーバとCactiのポーラーはnagiosアカウントで実行されるのでGroundWork Weathermapパッケージでは問題ありません。
生成されたweathermapを見るには画面上の青い大きな"weathermap"タブをクリックします。利用可能なマップのサムネイルが表示されます。特定のマップを表示するには、そのマップのサムネイルをクリックします。代替として上のサムネイルの"automatically cycle"リンクをクリックすることでマップを通してweathermapプラグインを自動的にローテートさせることができます。
GroundWork NMS Cactiパッケージは、CactiのデータをGroundWork Monitorに統合する3つの異なる方法を提供します。
まず、CactiはGroundWork Monitorのステータスビューワが現在選択したホストのグラフを表示することが可能になるGuavaを組み込みます。このプロセスは設定や要求される手動のトランスファーなしすることなく自動で行います。どのようにこのデータを表示し、使用するかについての詳しい情報はアプリケーションの使用ドキュメントの”Status”セクションを参照します。
2番目に、Cactiは管理者がCactiからのホスト定義をエクスポートし、そのデータをGroundWork MonitorのConfigurationデータベースにインポートすることができるスクリプトと自動化スキーマの定義を提供します。このプロセスは管理が好きなように手動あるいは自動で実行されることができ、詳細については後のセクションで述べます。
Cactiの設定データベースからホスト定義をエクスポートするには、Cactiからデータをクスポートして、それを/usr/local/groundwork/core/monarch/automation/data/cacti_data.txt ファイルに書き込むCactiパッケージに含まれている/usr/local/groundwork/nms/tools/automation/scripts/extract_cacti.pl Perlスクリプトを使用します。
アウトプットファイルは以下のフィールドを含んでおり、それぞれは一組の;(セミコロン)で分けられています:
フィールド名 |
フィールド |
備考 |
Hostname |
IPアドレスまたはドメイン名 |
デバイスの識別名。通常ドメイン名かIPアドレスのどちらかです。 |
Description |
デバイスのショートネーム |
デバイスの親密性のある名前。これはCacti全体のそのデバイスの識別です。 |
Template |
ホストテンプレート |
そのデバイスに割り振られたホストテンプレート名 |
Disabled |
無効フラッグ状態 |
そのデバイスがCactiで”Disabled”のフラグがたっているかどうかを表示します。もし、そうであればこのフィールドは”on”の文字列が入り、そうでなければ空欄です。 |
Status |
Up/Down フラグ値 |
Cactiでそのデバイスが”Up”か”Down”かを示します。このフィールドの "3" が"Up," "2" が "Recovering," "1" for "Down," そして "0" が "Disabled."です。 |
extract_cacti.pl Perlスクリプトは設定データの最新版を含むアウトプットファイルを確認するcacti.pl 検出スクリプトが実行(毎5分)された後すぐにユーザnagiosのcrontabの一部として自動的に実行されることに留意します。
Cactiはcacti_data.txt ファイルの内容をGroundWork Monitorのコンフィグレーションにインポートする自動検出サブシステムが使用するスキーマテンプレートを提供します。自動化スキーマテンプレートは /usr/local/groundwork/core/monarch/automation/templates/schema-template-Cacti-host-profile-sync.xml,で、Cactiのデバイスとノードを新規のホストエントリあるいは既存のホストエントリのどちらかを追加するか、あるいはインポートするファイルにリストされていない既存のエントリを削除することによってコンフィグレーションサブシステムに統合します。それは該当のデバイスやノードにするホストエントリがデータベースに存在するかどうかによります。このスキーマテンプレートを使用するには以下のステップを使用して適切なスキーマ定義を作成する必要があります。:
GroundWorkのアプリケーションランチャーから自動検出を開きます
自動化のスキーマ定義を管理するために、一番上にあるメニューバーから自動化をクリックします。
新しいスキーマ定義を作成するためにNew Schemaボタンをクリックします。
新しいスキーマ定義に"Cacti-host-profile-sync"という名前をつけます。
下のドロップダウンボックスから"Cacti-host-profile-sync"テンプレートを選択します。
新しいスキーマ定義作成を終了するために”Add”ボタンをクリックします。
スキーマの編集画面から”Data souce”の行にある”View”ボタンをクリックすることでデータファイルがCactiのデータベースからのアウトプットを持っているかを確認します。
レコードの処理を行場合はスキーマの編集画面から”Process Records”ボタンをクリックします、そうではない場合はスキーマ定義画面に戻るために”Close”ボタンをクリックします。
GroundWork NMS Cacti パッケージは、インポートプロセスを自動化するために使用する /usr/local/groundwork/nms/tools/automation/scripts/auto_import_cacti.pl スクリプトを提供します。このスクリプトは"Cacti-host-profile-sync"の名でスキーマ定義エントリを探し、自動的にスキーマ定義を実行します。しかしながら、このスクリプトは自動的に設定データベースへコミットしないので、手動でコミットしない限り、変更は認識されません。
CactiはCactiからアラームを引き出し、それをアラーム信号としてNagiosにフィードするために使用される/usr/local/groundwork/nagios/libexec/check_cacti.pl Perlスクリプトを含んでいます。一度データがNagiosに渡されると、Nagiosのアラームと通知システムを通して処理され、それらがGroundWorkのイベントログに表示されます。これはしきい値アラームのシグナルがより堅実な方法で処理され、ユーザがGroundWork Monitor自身からそれらの例外を確認できるようになります。
check_cacti.pl Perl スクリプトは複数の異なる方法で操作が可能です。基本的な操作方法では、スクリプトはthresholdデータの抽出、Nagiosをアップデートする一回限りのイベントとして実行され、すぐに抜けます(この方法はスクリプトのコマンドラインで”-p”のパラメータの使用が求められます 。)。この方法が使用される際、スクリプトはスケジュールされたcronジョブあるいはコマンド定義としてNagiosから実行されます。(ただし、デフォルト設定ではCactiはどちらの方法も使用しません)。一方、スクリプトはユーザが決めた時間間隔でしきい値のシグナルを引き出すデーモンとして実行することも可能です。(Cactiはシステム起動時に立ち上がるデーモンとしてこのスクリプトを定着させるスクリプトは提供しませんが、この方法がデフォルト設定になります。)
check_cacti.pl スクリプトはNagiosにイベントデータを渡す複数の機能をサポートしています。デフォルト設定では、スクリプトはホストとリンクしたサービス定義によって特定されるNagiosのパッシブインタフェースを通してデータを渡します。代替方法としてスクリプトデータはホストにリンクしているサービス定義にマッピングされるNagiosのNSCAリスナーを通してNagiosに渡すこともできます。 前者のアプローチは異なったホスト上で起動している場合に求められます。Cactiはこのツールに対して定義済みのサービス定義は提供していないので、Nagiosに渡されたイベントは偽のログメッセージとして扱われます。
しきい値アラームをNagiosとGroundWork Monitorに完全に統合するためには手作業のため、一番初めに統合コンポーネントを設定する際は、GroundWorkのカスタマーサポートに相談します。