Files
Thomas Vincent 57b8088e13 docs: comprehensive validation audit, Spine poller overhaul, and technical refactor (#229)
* docs: comprehensive audit, Spine poller overhaul, and technical refactor

- Overhaul Spine documentation (Spine.md) with complete end-to-end guide: architecture, prerequisites for modern distros (EL8/9 CRB, Ubuntu 22/24, Debian 11/12, FreeBSD), SUID root permissions, secure spine.conf setup (0640), Web UI configuration (Paths, Poller type, Data Collectors tuning), MySQL max_connections sizing, and troubleshooting.
- Fix broken links and anchors (Hardening, SNMP data queries, Hook API references).
- Fix broken image reference in Sites.md (add-site.JPG -> add-site.png).
- Fix syntax errors in documentation PHP code blocks, including invalid parenthesization, missing SQL execute quotes, and malformed comments in FAQ.
- Fix DevOps installation commands: use config.php.dist, correct systemctl service names for MySQL/MariaDB/PHP-FPM, remove nonexistent php-json, add missing composer install, and correct Debian/Ubuntu systemd environment path.
- Correct grammatical errors, repeated words, and typos across all markdown documents.
- Remove obsolete unreferenced duplicate installation guides.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* docs: correct reviewed examples and guidance

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* docs: correct guidance that disagrees with the Cacti source

Verified each claim against include/global_arrays.php, lib/auth.php,
lib/functions.php, host_templates.php and the Spine config parser. The
notable ones: api_plugin_safe_exec() does not exist on either branch,
Spine reads DB_Pass rather than DB_Password, and the CDEF special data
source table was missing five entries and renamed four others.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* docs: wrap Spine prose and fence the connection sizing formula

The formula's bare asterisks rendered as emphasis, dropping the multiplication signs.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* chore: refresh copyright year in scripts and issue templates

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

---------

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
2026-09-08 09:41:21 -04:00

2.4 KiB

VDEFs

Background

VDEF's in Cacti are a one to one analog to VDEF's in RRDtool. Cacti simply provides an interface to create and manage them. Once the VDEF's are created in Cacti they can be imported and exported globally.

VDEF's are mathematical formulas that, instead of operating on just one Data Point in the RRDfile, operate on the entire Data Set in the time range selected. So, VDEF's become a useful tool to replace the Nth Percentile and Bandwidth functions in Cacti with the VDEF equivalents.

They are referenced in Cacti graphs as VNAMES. However, as mentioned before Cacti automatically assigns VNAMES. So, to perform complex operations, you will have to experiment to determine the VNAME of your VDEF as you build your Graph Template. But in their simplest forms, they are quite easy to use.

The format of the mathematical formulas is called Reverse Polish Notation (RPN). RPN was and is an early form of how Engineers entered equations into early HP and other Calculators to solve Engineering problems. The reason we still use it today is that it follows a simple Stack principle. In other words, it's not broken.

VDEF Interface

In the image below, you can see all the VDEF's that are included in Cacti by default. They are included just to get you thinking about how you would use them. You can see straight away the first and the last items are 95th Percentile and Bandwidth (or Total) VDEF's. Other examples are pretty self explanatory.

You will also note that you can Delete or Duplicate the VDEF's, but as with CDEF's you can not Delete a VDEF that is being used in a Graph.

VDEFS

In the image below, you can also see that their interface closely resembles the CDEF Interface. Unlike the CDEF's, there is presently only one Special Data Source and that's the Current Data Source, which makes sense when you think about it.

VDEF Edit

In the image below, you can see an example of a Single completed VDEF for 95th Percentile of the Current Data Source. Pretty straightforward.

VDEF Item Edit

In the next two images, you can see the VDEF Item Types and the complete list of VDEF functions. Again, you can reference the RRDtool Documentation for usage examples for more information.

VDEF Item Edit

VDEF Item Edit


Copyright (c) 2004-2026 The Cacti Group