Add Items to a Tree
Now, that we've created some nice graphs, they should be put the graph trees. This is done using add_tree.php. As you will notice soon, it is possible to even add header items, hosts and graphs to a tree as well as adding a new tree itself. But let us first see the help output. Calling the script with the parameter –help yields
shell>php -q add_tree.php --help Add Tree Script 1.0, Copyright 2007 - The Cacti Group A simple command line utility to add objects to a tree in Cacti usage: add_tree.php --type=[tree|node] [type-options] [--quiet] Tree options: --name=[Tree Name] --sort-method=[manual|alpha|natural|numeric] Node options: --node-type=[header|host|graph] --tree-id=[ID] [--parent-node=[ID] [Node Type Options]] Header node options: --name=[Name] Host node options: --host-id=[ID] [--host-group-style=[1|2]] (host group styles: 1 = Graph Template, 2 = Data Query Index) Graph node options: --graph-id=[ID] [--rra-id=[ID]] List Options: --list-hosts --list-trees --list-nodes --tree-id=[ID] --list-rras --list-graphs --host-id=[ID]
List Hosts
The first try is dedicated to the list option –list-hosts. It goes like
shell>php -q add_tree.php --list-hosts Known Hosts: (id, hostname, template, description) 1 127.0.0.1 8 Localhost 2 gandalf 3 gandalf ... 11 router.mydomain.com 3 Device Add Test
List Trees
Now, let us –list-trees. It goes like
shell>php -q add_tree.php --list-trees Known Trees: id sort method name 1 Manual Ordering (No Sorting) Default Tree
List Nodes
Listing all existend node of a given tree is done by
shell>php -q add_tree.php --list-nodes --tree-id=1 Known Tree Nodes: type id text Host 7 127.0.0.1 Graph Template Host 9 gandalf Graph Template Host 12 gandalf Graph Template
List RRAs
For special tree add options, you will require the id of the RRA definition to completly specify the add request. That's why the corresponding –list-rras option is implemented. It goes this way
shell>php -q add_tree.php --list-rras Known RRAs: id steps rows timespan name 1 1 600 86400 Daily (5 Minute Average) 2 6 700 604800 Weekly (30 Minute Average) 3 24 775 2678400 Monthly (2 Hour Average) 4 288 797 33053184 Yearly (1 Day Average)
List Graphs for given Hosts
To be able to add a Graph, the id of that very graph is required. Thus, a –list-graphs –host-id=[id] option was implemented
shell>php -q add_tree.php --list-graphs --host-id=1 Known Host Graphs: (id, name, template) 1 Localhost - Memory Usage Linux - Memory Usage 2 Localhost - Load Average Unix - Load Average 3 Localhost - Logged in Users Unix - Logged in Users 4 Localhost - Processes Unix - Processes 5 Localhost - Traffic - eth0 Interface - Traffic (bits/sec, 95th Percentile) 33 Localhost - Used Space - Memory Buffers Host MIB - Available Disk Space 34 Localhost - Used Space - Real Memory Host MIB - Available Disk Space 35 Localhost - Used Space - Swap Space Host MIB - Available Disk Space 36 Localhost - Used Space - / Host MIB - Available Disk Space 37 Localhost - Used Space - /sys Host MIB - Available Disk Space 38 Localhost - Used Space - /boot Host MIB - Available Disk Space
Add a new Tree
Cacti comes with a single tree, named Default Tree. Console entry <SPAN CLASS=“GUIMENU”>Graph Trees is used to add more trees. With <TT CLASS=“FILENAME”>add_tree.php</TT>, you may now do so from command line as well: <code>shell>php -q add_tree.php –type=tree –name=“Test Tree Add” –sort-method=manual Tree Created - tree-id: (6)</code> Verify this from console, <SPAN CLASS=“GUIMENU”>Graph Trees to find
Default Tree Test Tree Add
as expected.
Add a new Header Node to a Tree
Now, that a new tree has been created, you may want to add a new header to that very tree. Use
shell>php -q add_tree.php --type=node --node-type=header --tree-id=6 --name="Header Test" Added Node node-id: (21)
You will want to save the id returned if willing to add further nodes to exactly this new Header Node
Please pay attention, that it is currently not possible to add another header with the same options even if this is possible from console
But it is possible to add a subheader to an already defined header. Even in this case, the name has to be unique
shell>php -q add_tree.php --type=node --node-type=header --tree-id=6 --parent-node=21 --name="SubHeader Test" Added Node node-id: (22)
Add a new Host Node to a Tree
We will distinguish several options adding a host to a tree. First, let's add a Host directly to a tree. For this example, we use the tree id returned from adding our own Test Tree Add known with id=6
shell>php -q add_tree.php --type=node --node-type=host --tree-id=6 --host-id=1 Added Node node-id: (23)
As no –parent-node was given, this host is directly added to the tree itself. If you wish to add a host to a (sub)header, please specify as follows
shell>php -q add_tree.php --type=node --node-type=host --tree-id=6 --parent-node=21 --host-id=1 Added Node node-id: (24)
Both example come without a –host-group-style option. For those cases, Graph Template host group style is default. Here's an example for providing a host group option of Data Query Index instead
shell>php -q add_tree.php --type=node --node-type=host --tree-id=6 --parent-node=22 --host-id=1 --host-group-style=2 Added Node node-id: (25)
Add a new Graph Node to a Tree
Like above, instead of hosts it is possible to add a single graph to a tree or a (sub)header of any tree. Of course, you again will require the id of the tree and optionally of the header. This results in
shell>php -q add_tree.php --type=node --node-type=graph --tree-id=6 --graph-id=5 Added Node node-id: (26)
Like above, this graph now was added directly to the tree itself. To add a graph to a header, proceed as follows
shell>php -q add_tree.php --type=node --node-type=graph --tree-id=6 --parent-node=21 --graph-id=5 Added Node node-id: (27)
In both cases, no explicit –rra-id was given. This will default to the Daily (5 Minute Average). Specify any other –rra-id as given
shell>php -q add_tree.php --type=node --node-type=graph --tree-id=6 --parent-node=21 --graph-id=1 --rra-id=4 Added Node node-id: (28)
to provide the –rra-id for a rra of Yearly (1 Day Average).