CactiのCLI(コマンドライン)ツールはすごい助かる
Cactiに登録するデバイスや作成するグラフが大量にあるとき、CLIツール使うと時間短縮できてすごく助かる。コマンドのオプション指定で試行錯誤したので、備忘録として。
1. デバイスの登録
登録済みのホストテンプレートを確認する。
# 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
デバイスを登録する。
# php add_device.php --description=cacti --ip=localhost --template=0 --disable=0 --avail=ping --ping_method=icmp --ping_retries=2 --version=2 --community=public --port=161 --timeout=500 Adding cacti (localhost) as "None" using SNMP v2 with community "public" Success - new device-id: (2)
各オプションは、WebUIと対応付けて
2. デバイスへグラフテンプレート(Graph Templates)を関連付け
デバイスのIDを確認する。
# php add_graph_template.php --list-hosts Known Hosts: (id, hostname, template, description) 1 127.0.0.1 8 Localhost 2 localhost 0 cacti
システムに登録済みのグラフテンプレートを確認する。
# php add_graph_template.php --list-graph-templates Known Graph Templates:(id, name) 2 Interface - Traffic (bits/sec) 3 ucd/net - Available Disk Space 4 ucd/net - CPU Usage <snip> 34 SNMP - Generic OID Template
まだ関連付けられているグラフテンプレートはない。
デバイスへグラフテンプレートを関連付けする。
# php add_graph_template.php --host-id=2 --graph-template-id=4 Success: Graph Template associated for host: (2: localhost) - graph-template: (4: ucd/net - CPU Usage)
グラフテンプレートが関連付けされた。
3. デバイスへデータクエリ(Data Queries)を関連付け
デバイスのIDを確認する。
# php add_data_query.php --list-hosts
システムに登録済みのデータクエリを確認する。
# php add_data_query.php --list-data-queries Known SNMP Queries:(id, name) 1 SNMP - Interface Statistics 2 ucd/net - Get Monitored Partitions 3 Karlnet - Wireless Bridge Statistics <snip> 9 SNMP - Get Processor Information
まだ関連付けられているデータクエリはない。
デバイスへデータクエリを関連付けする。
# php add_data_query.php --host-id=3 --data-query-id=1 --reindex-method=1 Success - Host (2: localhost) data query (1: SNMP - Interface Statistics) reindex method (1: Uptime Goes Backwards) # php add_data_query.php --host-id=3 --data-query-id=6 --reindex-method=1 Success - Host (3: localhost) data query (6: Unix - Get Mounted Partitions) reindex method (1: Uptime Goes Backwards)
データクエリが関連付けされた。
4. グラフ作成
デバイスのIDを確認する。
php add_graphs.php --list-hosts
システムに登録済みのグラフテンプレート(Graph Templates)を確認する。
# php add_graphs.php --list-graph-templates Known Graph Templates:(id, name) 2 Interface - Traffic (bits/sec) 3 ucd/net - Available Disk Space <snip> 21 Unix - Available Disk Space <snip>
システムに登録済みのデータクエリ(Data Queries)を確認する。
php add_graphs.php --list-snmp-queries
データクエリに関連付けされているグラフテンプレートを確認する。
# php add_graphs.php --snmp-query-id=6 --list-query-types Known SNMP Query Types: (id, name) 15 Available Disk Space
Available Disk Spaceが関連付けられている。
データクエリが取得するフィールドを確認する。
# php add_graphs.php --host-id=3 --snmp-query-id=6 --list-snmp-fields Known SNMP Fields for host-id 3: (name) dskDevice dskMount
dskDevice, dskMountの2つのフィールドがある。
データクエリが取得するフィールドの値を確認する。
# php add_graphs.php --host-id=3 --snmp-query-id=6 --snmp-field=dskDevice --list-snmp-values Known values for dskDevice for host 3: (name) /dev/vda2
dskDeviceの値は、"/dev/vda2"の1つ。
グラフを作成する。
# php add_graphs.php --host-id=3 --graph-template-id=21 --graph-type=ds --snmp-query-id=6 --snmp-query-type-id=15 --snmp-field=dskDevice --snmp-value="/dev/vda2" Graph Added - graph-id: (5) - data-source-ids: (8, 8)
チェックボックスが消えて、グラフが作成されていることがわかる。グラフページで実際に確認してみる。
「--graph-typeは、Associated Graph Templatesのグラフを作成する時は、"cg"を指定。Associated Data Queriesのグラフを作成する時は、"ds"を指定。」ということでよいのだろうか。
5. グラフツリー
ツリーの一覧を確認する。
# php add_tree.php --list-trees Known Trees: id sort method name 1 Manual Ordering (No Sorting) Default Tree
Default Treeにデバイス(host)は、登録されていない。