ようへいの日々精進XP

よかろうもん

Cacti がコマンドラインで使えて嬉しい

概要

  • Cacti の基本的な操作(デバイスの追加、グラフの追加等)をコマンドラインでやってみよう
  • コマンドラインから出来るということは色々と出来そうでウフフである

動作確認環境

Cacti サーバー

Cacti クライアント

コマンドライン

今回、検証に利用した Cacti サーバーに関して、コマンドラインツールは

/usr/share/cacti/cli/

以下に設置されていた。ちなみに、ファイルの一覧は下記の通り。

user@debian6:/usr/share/cacti$ tree cli/
cli/
├── add_data_query.php
├── add_device.php
├── add_graph_template.php
├── add_graphs.php
├── add_perms.php
├── add_tree.php
├── convert_innodb.php
├── copy_user.php
├── host_update_template.php
├── import_template.php
├── poller_data_sources_reapply_names.php
├── poller_graphs_reapply_names.php
├── poller_output_empty.php
├── poller_reindex_hosts.php
├── rebuild_poller_cache.php
├── repair_database.php
├── repair_templates.php
├── structure_rra_paths.php
└── upgrade_database.php

0 directories, 19 files

ホスト(デバイス)管理

ホストテンプレートの一覧取得

ホストのテンプレート一覧を取得する。

php add_device.php --list-host-templates

以下のように表示される。

Valid Host Templates: (id, name)
0       None
1       Generic SNMP-enabled Host
3       ucd/net SNMP Host
4       Karlnet Wireless Bridge
5       Cisco Router
6       Netware 4/5 Server
7       Windows 2000/XP Host
8       Local Linux Machine

ホスト(デバイス)の登録

ホストテンプレートの一覧から適用したいテンプレートの番号を --template=で指定して登録する。

php add_device.php --description="hogehoge" --ip="xxx.xxx.xxx.xxx" --template=3 --community="hogehuga"

以下のように表示されてホストの登録が行われる。

Adding device_name (xxx.xxx.xxx.xxx) as "ucd/net SNMP Host" using SNMP v1 with community "hogehuga"
Success - new device-id: (3)

device-id: (3) が今後、このホストの固有の ID となり、続くグラフの追加等に利用される。


グラフの登録

テンプレート一覧

グラフの登録にあたりテンプレートの一覧を下記のコマンドにて確認する。

php add_graphs.php --list-graph-templates

以下のようにグラフのテンプレート一覧が表示される。

f:id:inokara:20130801071934p:plain

このテンプレートの ID を利用してそれぞれのグラフの登録を行なっていく。

ネットワークインターフェース

php add_graphs.php --host-id=3 --graph-type=ds --graph-template-id=2 --snmp-query-id=1 --snmp-query-type-id=13 --snmp-field=ifOperStatus --snmp-value=Up

CPU 使用率

php add_graphs.php --host-id=3 --graph-type=cg --graph-template-id=4

Load Average

php add_graphs.php --host-id=3 --graph-type=cg --graph-template-id=11

Memory

php add_graphs.php --host-id=3 --graph-type=cg --graph-template-id=13

ディスクの使用量監視については、下記のように登録出来るはずなのだが、現時点でちゃんと登録が出来ないので、引き続き、調査...

マウントされたディスク容量

php add_graphs.php --host-id=3 --snmp-query-id=2 --snmp-query-type-id=6 --snmp-field=dskDevice --graph-template-id=3 --graph-type=ds --snmp-value=/dev/sda1

ホストのツリーへの追加

ツリー ID の確認

php add_tree.php --list-trees

ツリーへのホストの追加

php add_tree.php --type=node --node-type=host --tree-id=1 --host-id=3

とりあえず

しばらくすると...

以下のようにグラフが生成される。

f:id:inokara:20130801075747p:plain

ということで

  • 従来は Web の GUI からしか操作したことがなかったが、このようなコマンドラインが用意されているとは目からウロコ
  • ちなみに cli ディレクトリ以下に .htaccess ファイルもあることからブラウザ経由、もしくは API としても機能するかもしれない

参考