Cacti (home)ForumsDocumentation

Differences

This shows you the differences between two versions of the page.

manual:100:6_reference.4_cli_script.8_add_tree_item [2009/07/08 14:44] (current)
Line 1: Line 1:
 +==== 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
 +
 +<code>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]</code>
 +
 +=== List Hosts ===
 +
 +The first try is dedicated to the list option //--list-hosts//. It goes like
 +
 +<code>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</code>
 +
 +=== List Trees ===
 +
 +Now, let us //--list-trees//. It goes like
 +
 +<code>shell>php -q add_tree.php --list-trees
 +
 +Known Trees:
 +id      sort method                     name
 +1       Manual Ordering (No Sorting)    Default Tree</code>
 +
 +=== List Nodes ===
 +
 +Listing all existend node of a given tree is done by
 +
 +<code>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</code>
 +
 +
 +=== 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
 +
 +<code>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)</code>
 +
 +
 +=== 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
 +
 +<code>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</code>
 +
 +=== 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
 +
 +<code>Default Tree
 +Test Tree Add</code>
 +
 +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
 +
 +<code>shell>php -q add_tree.php --type=node --node-type=header --tree-id=6 --name="Header Test"
 +
 +Added Node node-id: (21)</code>
 +
 +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
 +
 +<code>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)</code>
 +
 +
 +=== 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//
 +
 +<code>shell>php -q add_tree.php --type=node --node-type=host --tree-id=6 --host-id=1
 +
 +Added Node node-id: (23)</code>
 +
 +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
 +
 +<code>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)</code>
 +
 +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
 +
 +<code>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)</code>
 +
 +=== 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
 +
 +<code>shell>php -q add_tree.php --type=node --node-type=graph --tree-id=6 --graph-id=5
 +
 +Added Node node-id: (26)</code>
 +
 +Like above, this graph now was added directly to the tree itself. To add a graph to a header, proceed as follows
 +
 +<code>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)</code>
 +
 +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
 +
 +<code>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)</code>
 +
 +to provide the //--rra-id// for a rra of //Yearly (1 Day Average)//.





Personal Tools