Chapter 20. Command Line Scripts

Table of Contents
Rebuild Poller Cache
Re-Index Hosts
Empty Poller Output Table
Reapply Suggested Names to Graphs
Copy Local Cacti Users
Add a New Device
Associate a Data Query to an existing Host
Associate a Graph Template to an existing Host
Add a New Graph
Add Items to a Tree
Add Graph Permissions

Cacti support a number of command line scripts. Please find them in the ./cli directory. As of current, following scripts are supported:

add_device.php
add_data_query.php
add_graph_template.php
add_graphs.php
add_perms.php
add_tree.php
copy_user.php
poller_graphs_reapply_names.php
poller_output_empty.php
poller_reindex_hosts.php
rebuild_poller_cache.php

Numbers may vary!

In the following examples, several numbers are shown as output from various scripts. They will vary between different installations. So don't bother, if your numbers will vary

Rebuild Poller Cache

The poller cache holds all commands that cacti will issue during the polling process in an internal format. It is possible, to review the currenty contents of the poller cache by visiting System Utilities, View Poller Cache. It is possible to apply filters to this view; it will show up like

Localhost - Hard Drive Space   	Script Server: /var/www/html/cacti/scripts/ss_host_disk.php ss_host_disk 127.0.0.1 1 1:161:500:somesecret:::::: get total 6
	                        RRD: /var/www/html/cacti/rra/localhost_hdd_total_61.rrd
Localhost - Load Average 	Script: /usr/bin/perl /var/www/html/cacti/scripts/loadavg_multi.pl
	                        RRD: /var/www/html/cacti/rra/localhost_load_1min_5.rrd
Localhost - Logged in Users 	Script: /usr/bin/perl /var/www/html/cacti/scripts/unix_users.pl
	                        RRD: /var/www/html/cacti/rra/localhost_users_6.rrd
Localhost - Memory - Free 	Script: /usr/bin/perl /var/www/html/cacti/scripts/linux_memory.pl MemFree:
	                        RRD: /var/www/html/cacti/rra/localhost_mem_buffers_3.rrd
Localhost - Memory - Free Swap 	Script: /usr/bin/perl /var/www/html/cacti/scripts/linux_memory.pl SwapFree:
	                        RRD: /var/www/html/cacti/rra/localhost_mem_swap_4.rrd
Localhost - mtaReceivedMessages SNMP Version: 1, Community: somesecret, OID: .1.3.6.1.2.1.28.1.1.1.1
	                        RRD: /var/www/html/cacti/rra/localhost_mtareceivedmessages_47.rrd
Localhost - mtaReceivedVolume 	SNMP Version: 1, Community: somesecret, OID: .1.3.6.1.2.1.28.1.1.4.1
	                        RRD: /var/www/html/cacti/rra/localhost_mtareceivedvolume_49.rrd

There are several circumstances, that may result in the poller cache being out of sync. An example would be a change of the name of a script used in a Data Input Method. This change is not automatically propagated to the poller cache. It is required, to run php -q rebuild poller_cache.php manually.

Calling the script with the parameter --help yields

shell>php -q rebuild_poller_cache.php --help
Cacti Rebuild Poller Cache Script 1.0, Copyright 2004-2013 - The Cacti Group

usage: rebuild_poller_cache.php [-d] [-h] [--help] [-v] [--version]

-d            - Display verbose output during execution
-v --version  - Display this help message
-h --help     - Display this help message

Debug mode lists the data sources items that are worked upon.

shell>php -q rebuild_poller_cache.php -d
WARNING: Do not interrupt this script.  Rebuilding the Poller Cache can take quite some time
DEBUG: There are '38' data source elements to update.
DEBUG: Data Source Item '1' of '38' updated
DEBUG: Data Source Item '2' of '38' updated
DEBUG: Data Source Item '3' of '38' updated
DEBUG: Data Source Item '4' of '38' updated
....

Without any parameter, some dots are shown as progress indicators.

shell>php -q rebuild_poller_cache.php
WARNING: Do not interrupt this script.  Rebuilding the Poller Cache can take quite some time
......................................
shell>

Stop the Poller when Rebuilding the Poller Cache

Rebuilding the poller cache interferes with the poller operation. Please make sure, that the poller is not running and will not start during a rebuild operation