diff --git a/Device-Templates.md b/Device-Templates.md new file mode 100644 index 0000000..82fb39d --- /dev/null +++ b/Device-Templates.md @@ -0,0 +1,26 @@ +# Device Templates + +**Device Templates** are Cacti objects that allows you to define classes of **Devices** that includes from one to many **Graph Templates**, **Data Queries** and other **Plugin** related object types. + +The purpose of **Device Templates** is to simplify the **Automation** process by pre-defining the **Graphs** that should be created for every **Device** that is added to Cacti. They work in conjunction with **Automation Templates** so that when Cacti discovers a **Network** it knows what **Graphs** to create for each **Device**. + +The **Device Templates** main screen looks like the image below: + +![Device Templates Page](images/device-templates.png) + +From this page, you can see the title of each **Device Template**, it's ID which is important for the Cacti CLI scripts. You can see if the **Device Template** can be removed, and the number of **Devices** using the **Device Template**. Templates that are used by **Devices** can not be removed and therefore if you attempt to remove one of these Templates, you will receive and error message. + +From the drop down there are three options, they are: + +- Delete - Remove the **Device Template** if it's *Deletable* +- Duplicate - Make an exact copy of the **Device Template**. +- Sync Devices - Update all **Devices** using this **Device Template** with the latest definition, adding, but not removing **Graph Templates**, and **Data Queries**. + +When Editing a **Device Template**, you will see the page as displayed below. From this page, you can add and remove **Graph Templates**, **Data Queries**, and other **Plugin** objects. In the image below, you can see that the *Cisco Router* has one **Graph Template** that of *Cisco - CPU Usage* and one **Data Query** that of *SNMP - Interface Statistics*. There are no **Threshold Templates** defined on the system, so there is no way to select one. + +![Device Template Edit Page](images/device-templates-edit.png) + +To add a **Graph Template** or **Data Query** to the **Device Template**, simply select it from the drop down, and press the *Add* button. There is no need to *Save* afterwards. To removed one of these items, simply press the x glyph to the right of the desired **Graph Template** or **Data Query**. + +--- +Copyright (c) 2018 Cacti Group diff --git a/Graph-Templates.md b/Graph-Templates.md new file mode 100644 index 0000000..56e7860 --- /dev/null +++ b/Graph-Templates.md @@ -0,0 +1,76 @@ +# Graph Templates + +**Graph Templates** are Cacti objects that allows you to define how RRDtool is to render a Cacti **Graph**. Most RRDtool options are supported including CDEF's and VDEF's, Left and Right Axis, Ticks and Dashes, multiple Auto Scaling, Grid, and Legend Options. + +The purpose of **Graph Templates** is to simplify the **Automation** process by pre-defining the layout of **Graphs** for various metrics that are to be monitored in Cacti. When used in Conjunction with Cacti's **Graph Rules**, you can automatically create just about any **Data Query** based **Graph** during Cacti's **Network Discovery** process. + +The **Graph Templates** main screen looks like the image below: + +![Device Templates Page](images/graph-templates1.png) + +From this page, you can see the title of each **Graph Template**, it's ID which is important for the Cacti CLI scripts. You can see if the **Graph Template** can be removed, and the number of **Graphs** using the **Graph Template** as well as the *Size* of the **Graphs** that will be created, the *Image Format*, and *Vertical Label*. Templates that are used by **Devices** can not be removed and therefore if you attempt to remove one of these Templates, you will receive and error message. + +From the drop down there are three options, they are: + +- *Delete* - Remove the **Graph Template** if it's *Deletable* +- *Duplicate* - Make an exact copy of the **Graph Template**. +- *Resize* - Make a resize decision that affects both the **Graph Template** and any **Graphs** created using this **Graph Template**. +- *Sync Graphs* - Update all **Graphs** using this **Graph Template** with the latest definition, adding new *Graph Items* and removing orphaned *Graph Items*. + +When Editing a **Graph Template**, there will be several sections that will require information from the Administrator. Those sections include: + +- *Graph Template Items* - These items paint inside the canvas of the **Graph** +- *Graph Item Inputs* - This list is created automatically when you add **Data Sources** to a **Graph Template**. However, you can also override certain **Data Template** and **Graph Template** fields by adding specifically named objects to this section as well. +- *Graph Template* - Allows you to name the **Graph Template**, and whether or not you will allow multiple instances of this **Graph Template** to be used for a **Device**. +- *Common Options* - Things like Title, Vertical Label, Image Format, Height and Width, Base Value and Slope Mode +- *Scaling Options* - Which determine if the Graph is auto-scaled and by what means. Determines if the Graph will have fixed upper and lower limits +- *Grid Options* - Defines how the Graph canvas grid is rendered +- *Axis Options* - Defines if there should be a right Axis and how it should be formatted +- *Legend Options* - Defines how the Legends should be formatted + +Each of these sections are displayed below for reference. For more information on how to use these options, please visit the [RRDtool Website](http://rrdtool.org). + +The *Graph Items* make up what is draw within the canvas of the Graph. There are several *Graph Item* types including: + +- *AREA* - Place an *Area Fill* on the canvas +- *AREA:STACK* - The second item of an *Area Fill* to be stacked upon the first +- *COMMENT* - A written comment. Can include: |host_*|, |query_*|, |input_*| *Replacement Variables* +- *GPRINT* - Print a numeric value from the RRDfile with an optional **CDEF** or **VDEF** and formatted using a **GPRINT Preset**. +- *GPRINT:AVERAGE* - Print a numeric value from the RRDfile from the *AVERAGE* *Consolidation Function* within the RRA, modified by an optional **CDEF**, or **VDEF**, and formtted using a **GPRINT Preset**. +- *GPRINT:LAST* - Print a numeric value from the RRDfile from the *LAST* *Consolidation Function* within the RRA, modified by an optional **CDEF**, or **VDEF**, and formatted using a **GPRINT Preset**. +- *GPRINT:MAX* - Print a numeric value from the RRDfile from the *MAX* *Consolidation Function* within the RRA, modified by an optional **CDEF**, or **VDEF**, and formatted using a **GPRINT Preset**. +- *GPRINT:MIN* - Print a numeric value from the RRDfile from the *MIN* *Consolidation Function* within the RRA, modified by an optional **CDEF**, or **VDEF**, and formatted using a **GPRINT Preset**. +- *HRULE* - Draw an *Horizontal Rule* at the given point on the canvas. You can NOT use any Data Source element or an optional **CDEF** or **VDEF**, but may be able to use either a |query_*|, or |input_*| *Replacement Variable*. +- *LEGEND* - Draw a *Legend* from three *GPRINTS* using the same **GPRINT Preset**, and **VDEF** or **CDEF**. The *Current*, *Average*, and *Max* *Consolidation Functions* are used. +- *LEGEND_CAMM* - Draw a *Legend* from four *GPRINTS* using the same **GPRINT_Preset**, and **VDEF** or **CDEF**. The *Current*, *Average*, "Min*, and "Max" functions are used for this *Legend*. +- *LINE[1|2|3]* - Draw a 1, 2, 3 or used defined thickness pixel *Line* from the RRDfile onto the canvas, modified by an optional **CDEF**, or **VDEF**. +- *LINE:STACK* - Stack a Line of a user defined thickness on top of another *Line*, modified by an optional **CDEF**, or **VDEF**. +- *TEXTALIGN* - Modify future text using the alignment provided. +- *VRULE* - Place a *Vertical Rule* on the canvas of a specific color and time position. + +The canvas is painted from the first *Graph Item* till the last with each successive *Graph Item* rendered on top of the previous. Please keep this in mind when creating a **Graph Template**. + +![Graph Items and Item Inputs](images/graph-templates-edit1.png) + +Under the *Common Options*, you will create a template for the *Graph Name*, assign it's *Veritcal Label*, specify the *Width* and *Height*, and *Image Format* for the resulting **Graph**. The *Base Value* is important as some units of measure can be for example: MB (for Mega Bytes - 1024) and MiB (for Mega integer Bytes - 1000). Lastly, the *Slope Mode* gives the resulting **Graphs** a smoother look. + +![Graph Name and Common Options](images/graph-templates-edit2.png) + +The *Scaling Options* allow the Administrator to apply either *Rigid* or *Auto Scaling* settings to the resulting *Graph*. These options are fairly self explanatory. However, you can always view the RRDtool Documentation online for more information. + +![Scaling Options](images/graph-templates-edit3.png) + +The *Grid Options* are rarely necessary unless you have specific requirements to render the resulting **Graphs** with some exotic unit. + +![Grid Options](images/graph-templates-edit4.png) + +The *Axis Options* allow you to define a *Right Axis* and optional *Formatters*. + +![Axis Options](images/graph-templates-edit5.png) + +The *Legend* options allow you to specify how the *Legend* should be placed on the resulting **Graph** modern RRDtool has several options that were not available in Cacti prior to Cacti 1.0. + +![Legend Options](images/graph-templates-edit6.png) + +--- +Copyright (c) 2018 Cacti Group diff --git a/images/device-templates-edit.png b/images/device-templates-edit.png new file mode 100644 index 0000000..64bfdc5 Binary files /dev/null and b/images/device-templates-edit.png differ diff --git a/images/device-templates.png b/images/device-templates.png new file mode 100644 index 0000000..46861f9 Binary files /dev/null and b/images/device-templates.png differ diff --git a/images/graph-templates-edit1.png b/images/graph-templates-edit1.png new file mode 100644 index 0000000..10ee09d Binary files /dev/null and b/images/graph-templates-edit1.png differ diff --git a/images/graph-templates-edit2.png b/images/graph-templates-edit2.png new file mode 100644 index 0000000..7221c48 Binary files /dev/null and b/images/graph-templates-edit2.png differ diff --git a/images/graph-templates-edit3.png b/images/graph-templates-edit3.png new file mode 100644 index 0000000..448a6f7 Binary files /dev/null and b/images/graph-templates-edit3.png differ diff --git a/images/graph-templates-edit4.png b/images/graph-templates-edit4.png new file mode 100644 index 0000000..f8f0b69 Binary files /dev/null and b/images/graph-templates-edit4.png differ diff --git a/images/graph-templates-edit5.png b/images/graph-templates-edit5.png new file mode 100644 index 0000000..4fa553f Binary files /dev/null and b/images/graph-templates-edit5.png differ diff --git a/images/graph-templates-edit6.png b/images/graph-templates-edit6.png new file mode 100644 index 0000000..c43d20f Binary files /dev/null and b/images/graph-templates-edit6.png differ diff --git a/images/graph-templates1.png b/images/graph-templates1.png new file mode 100644 index 0000000..e7af499 Binary files /dev/null and b/images/graph-templates1.png differ