Cacti (home)ForumsDocumentation

Differences

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

manual:087:2_basics.0_principles_of_operation [2009/06/03 18:46]
gandalf
manual:087:2_basics.0_principles_of_operation [2019/10/29 15:16] (current)
Line 2: Line 2:
  
 ===== Principles of Operation ===== ===== Principles of Operation =====
 +
 +The image below shows the building blocks of a Cacti infrastructure:
 +{{:manual:087:cacti_schema_small.png|Functional Scheme}}
 +
 +Administration and usage is done via //browser//. When defining new Graphs and Templates and stuff, you log into the //Cacti web pages//. All administrative data will be stored in //MySQL tables//. On the same server, you'll find the //poller//. The poller will query the given target systems, be it a router, PBX, server or application. Results [[2_basics.0_principles_of_operation#data_retrieval|fetched]] from those targets are [[2_basics.0_principles_of_operation#data_storage|stored]] in //rrd files//. Cacti will use those rrd data to create nice [[2_basics.0_principles_of_operation#data_presentation|graphs]], then.\\ 
 +\\ 
  
 Cacti operation may be divided into three different tasks: Cacti operation may be divided into three different tasks:
Line 12: Line 18:
 In current IT installations, you're dealing with lots of devices of different kind, e.g. servers, network equipment, appliances and the like. To retrieve data from remote targets/hosts, cacti will mainly use the Simple Network Management Protocol SNMP. Thus, all devices capable of using SNMP will be eligible to be monitored by cacti. In current IT installations, you're dealing with lots of devices of different kind, e.g. servers, network equipment, appliances and the like. To retrieve data from remote targets/hosts, cacti will mainly use the Simple Network Management Protocol SNMP. Thus, all devices capable of using SNMP will be eligible to be monitored by cacti.
  
-Later on, we demonstrate how to extend cacti's capabilities of retrieving data to scripts, script queries and more.+[[3a_advanced_topics.0_overview#advanced_topics|Later on]], we demonstrate how to extend cacti's capabilities of retrieving data to 
 +  * [[3a_advanced_topics.1_data_input_methods#data_input_methods|scripts]] called //Data Input Method// in Cacti 
 +  * [[3a_advanced_topics.2_php_script_server#php_script_server|script server scripts]] providing better performance, 
 +  * [[3a_advanced_topics.3a_snmp_data_queries#snmp_data_queries|SNMP data queries]] to query SNMP tables like e.g. interfaces and 
 +  * [[3a_advanced_topics.3d_script_data_query_walkthrough#script_data_query_walkthrough|script data queries]] to query non-SNMP table structures
  
 ==== Data Storage ==== ==== Data Storage ====
Line 23: Line 33:
 ==== Data Presentation ==== ==== Data Presentation ====
  
-One of the most appreciated features of RRDTool is the built-in graphing function. This comes in useful when combining this with some commonly used webserver. Such, it is possible to access the graphs from merely any browser on any platform.+One of the most appreciated features of RRDTool is the built-in graphing function. This comes in useful when combining this with some commonly used webserver. As such, it is possible to access the graphs from nearly any browser on any platform.
  
 Graphing can be done in very different ways. It is possible, to graph one or many items in one graph. Autoscaling is supported and logarithmic y-axis as well. You may stack items onto another and print pretty legends denoting characteristics such as minimum, average, maximum and lots more. Graphing can be done in very different ways. It is possible, to graph one or many items in one graph. Autoscaling is supported and logarithmic y-axis as well. You may stack items onto another and print pretty legends denoting characteristics such as minimum, average, maximum and lots more.
Line 44: Line 54:
 | **Graph Template Item**\\ as a part of a Graph Template | graph element | This is a complex one. Each item will create parts of an RRDTool graph statement. Typically, this will include <html><ul><li>the (reference to the) DEF needed,</li><li>LINEx/AREA/STACK along with a color for graph elements or </li><li>GPRINTs for legends, </li><li>(reference to a ) CDEF and </li><li> textual elements</li></ul></html> | | **Graph Template Item**\\ as a part of a Graph Template | graph element | This is a complex one. Each item will create parts of an RRDTool graph statement. Typically, this will include <html><ul><li>the (reference to the) DEF needed,</li><li>LINEx/AREA/STACK along with a color for graph elements or </li><li>GPRINTs for legends, </li><li>(reference to a ) CDEF and </li><li> textual elements</li></ul></html> |
 | **Graph**\\ as a real RRDTool graph statement, created when applying a Data Template to a Device | RRDTool graph statement | Whole statement, including all options and graph elements | | **Graph**\\ as a real RRDTool graph statement, created when applying a Data Template to a Device | RRDTool graph statement | Whole statement, including all options and graph elements |
 +\\ 
 +Some words on rrdtool lingo
 +^keyword^meaning^
 +|**step** | A time-variable data in intervals of a certain length.|
 +|**primary data point (PDP)** | The value for a specific step, that has been interpolated|
 +|**consolidation function (CF)** | Used to conolidate multiple primary data points (PDPs). Typical consolidation functions are average, minimum, maximum.|
 +|**consolidated data point (CDP)** | The result of multiple primary data points (PDPs) after having a consolidation function (CF) applied to them.|
 +|**round-robin archive (RRA)** | Stores a fixed amount of CDPs and specifies how many PDPs should be consolidated in to one CDP and which CF to use.|
 +|**round-robin database (RRD)** | A database that contains multiple RRAs.|
 +\\ 
 +
 +== rrdtool inner workings ==
 +\\ Cacti graphs are stored in a //round-robin database (RRD)//, also known as a circular buffer, thus the system storage footprint remains constant over time.
 +
 +RRDtool assumes time-variable data in intervals of a certain length. This interval, usually named //step//, is specified upon creation of an RRD file and cannot be changed afterwards. Because data may not always be available at just the right time, RRDtool will automatically interpolate any submitted data to fit its internal time-steps.
 +
 +The value for a specific step, that has been interpolated, is named a //primary data point (PDP)//. Multiple primary data points may be consolidated according to a //consolidation function (CF)// to form a //consolidated data point (CDP)//. Typical consolidation functions are average, minimum, maximum and last.
 +
 +After the data has been consolidated, the resulting CDP is stored in a //round-robin archive (RRA)//. A round-robin archive stores a fixed amount of CDPs and specifies how many PDPs should be consolidated into one CDP and which CF to use.
 +
 +* In other words: Multiple primary data points (PDPs) can be consolidated using a consolidation function (CF) such as average, minimum or maximum. Once the CF has been performed, the result is known as a consolidated data point (CDP). This information is stored in an round-robin archive (RRA).
 +
 +After this time the archive will “wrap around”: the next insertion will overwrite the oldest entry. This behavior is sometimes referred to as “round-robin” and is the reason for the program's name.
  
-You may be put off by all those template stuffIf you like a more practical approach, just skip to Why Templates?.+To cover several timespans and/or use several consolidation functions, an RRD file may contain multiple RRAsThe data retrieval function of RRDtool automatically selects the archive with the highest resolution that still covers the requested timespan. This mechanism is also used by RRDtool's graphing subsystem.
  
 ==== Graph Overview ==== ==== Graph Overview ====





Personal Tools