mirror of
https://github.com/Cacti/documentation.git
synced 2026-11-02 10:08:03 +09:00
* docs: update stale PHP/MySQL/MariaDB version requirements - Requirements.md: PHP 5.4 -> 8.1 (matches 1.2.31+ requirement note) - Requirements.md: MySQL 5.6 -> 5.7, MariaDB 5.5 -> 10.2 (current minimums) - Requirements.md: MySQL section header updated to >= 5.7 / 10.2 - Requirements.md, Install-Under-CentOS_LAMP.md, Install-Under-CentOS_LEMP.md, Installing-Under-Windows.md: comment out innodb_file_format and innodb_large_prefix (removed in MySQL 8.0 / MariaDB 10.3+) Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: upgrade http:// links to https:// and fix dead wiki URLs - Upgrade http:// to https:// in 8 files: General-Installing-Instructions.md, Graph-Templates.md, How-To-SSH-Tunnels.md, Plugin-Development.md, Standards-Code-Formatting.md, Templates.md, Upgrading-Cacti-Under-Windows.md - Replace two dead docs.cacti.net wiki links: How-To-SSH-Tunnels.md: old wiki SNMP guide -> Net-SNMP man page Plugin-Syslog.md: dead plugin:syslog.config -> plugin_syslog repo Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: fix technically inaccurate MySQL configuration recommendations - innodb_additional_mem_pool_size: removed in MySQL 5.7.4 / MariaDB 10.0; replaced with removal notice in Requirements.md and comments in Install-Under-CentOS_LAMP.md and Install-Under-CentOS_LEMP.md - max_heap_table_size: clarify ">= 5" means ">= 5% of system RAM" - innodb_buffer_pool_size: clarify ">= 25" means ">= 25% of system RAM" Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: add missing required PHP extensions to Requirements.md Add dom, mysqlnd, pcntl, Phar, and sqlite3 — all declared as required in composer.json but absent from the module list. pcntl is Linux-only (process control for the poller). Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: fix 36 spelling errors across 19 documentation files Corrections detected by codespell: - somone->someone, Walkthough->Walkthrough, GUAGE->GAUGE - asociate->associate, messege->message, therefor->therefore - get's->gets, Proxys->Proxies, paralelisation->parallelization - parms->params (6 instances in script data query examples) - finialise->finalise, buildin->built-in, everytime->every time - Unistall->Uninstall, resiliant->resilient, build-in->built-in - requriments->requirements (2 instances), explanitory->explanatory (3 instances) - fro->for, invole->involve, reulting->resulting - stauts->status, tge->the Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * ci: add codespell spelling check workflow for documentation Adds GitHub Actions workflow that runs codespell==2.4.1 on all Markdown files on every push/PR to main. Also adds .codespell.cfg to skip binary and generated files (JSON, shell scripts, HTML, images). Update .gitignore to allow .github directory (was blocked by .git* glob). Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: improve voice, consistency, and note formatting across 10 files - Convert passive/impersonal constructions to active voice - Standardize NOTE -> Note in blockquotes for consistency - Reformat inline IMPORTANT/Note callouts as blockquotes - Fix awkward phrasing in LXC container notes - Consolidate fragmented note bullets into single blockquote Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: fix technical accuracy and correct typos across 10 files - Requirements.md: clarify Composer is for source/develop installs only; RRDtool minimum updated to 1.5+ (1.8+ for 1.3.x); php-snmp section rewritten to describe selective fallback behavior; SELinux/AppArmor advice reworded to recommend policy exceptions over blanket disable - Spine.md: fix PHP Script Server range (10 -> 15); fix 'senstivive' and 'Davices' typos - Trees.md: fix broken table rows split across lines; 'Sporting' -> 'Sorting' - Data-Sources.md: restructure storage table to standard 3-column layout; fix '19b' unit typo -> '19kb' - How-To-SNMP-Custom-Script.md: convert bold/backtick commands to proper fenced code blocks; fix 'intex' and 'BNSMPD' typos - Plugins.md: fix 'onfiguration' typo; fix YouTube thumbnail http -> https; fix 'Tuturial' typo - Standards-Security.md: fix 'invalidate' -> 'invalid' - template_apache_config.md: fix 'apcache2' -> 'apache2' - device-template-specific-proxmox.md: replace service file edit with drop-in approach; remove ProtectSystem=off/ProtectHome=off; add note on minimal required systemd overrides - resource/xml/query_interface_traffic.php: http -> https URL Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * docs: rename CentOS install guides to Enterprise Linux; fix grammar, logic, and security flaws - Rename Install-Under-CentOS_LAMP.md → Install-Under-Enterprise-Linux-LAMP.md - Rename Install-Under-CentOS_LEMP.md → Install-Under-Enterprise-Linux-LEMP.md - Update README.md ToC links to match new filenames and correct labels LAMP fixes: - Title updated to reflect RHEL/Rocky Linux/AlmaLinux coverage - Fix step numbering: "2.Install" / "3.Enable" missing space after number - Spine build deps: restructure for EL7/EL8/EL9+ separately; EL8 was missing package install after repo enable; EL9+ uses 'crb' not 'powertools' - SELinux URL: fix quadruple-slash typo; switch to English wiki URL LEMP fixes: - Title: "CentOS 7" → "Enterprise Linux (RHEL / Rocky Linux / AlmaLinux)" - TLS: remove TLSv1 and TLSv1.1 (RFC 8996 prohibited, fails OpenSSL 3.x); set ssl_protocols TLSv1.2 TLSv1.3 - Ciphers: remove DH+3DES (Sweet32 / CVE-2016-2183) - HTTP redirect: uncomment return 301 (comment claiming nginx lacks support for 'return' has been wrong since nginx 0.8 / 2009) - PHP location block: fix 'alias' → 'root' (alias breaks $document_root in fastcgi_param SCRIPT_FILENAME); add missing semicolon after index directive - Cron: poller path was /var/www/html/cacti but install target throughout this guide is /usr/share/nginx/html/cacti — align them - DB: split GRANT...IDENTIFIED BY into CREATE USER + GRANT (IDENTIFIED BY on GRANT removed in MySQL 8.0 / MariaDB 10.5.2) - Fix comment typo: "Compression increases performance0" → remove trailing 0 - SELinux URL: fix quadruple-slash typo README.md: - Update section 3.1 and 3.2 links to new filenames - Correct labels from "CentOS 7" to "Enterprise Linux" - Fix "Reports Admistrative Interface" → "Administrative" - Fix "requriments" (×2) → "requirements" * docs: remove Install-Under-CentOS_LAMP.md (superseded by Install-Under-Enterprise-Linux-LAMP.md) * docs: remove Install-Under-CentOS_LEMP.md (superseded by Install-Under-Enterprise-Linux-LEMP.md) * docs: update README ToC links and fix typos - Update 3.1 and 3.2 links from CentOS to Enterprise Linux filenames - Correct labels: "CentOS 7" → "Enterprise Linux (RHEL/Rocky/AlmaLinux)" - Fix "Reports Admistrative" → "Reports Administrative" - Fix "requriments" (×2) → "requirements" * docs: fix grammar, logic, and technical errors in remaining install/upgrade guides Installing-Under-Windows.md: - Replace php_mysql.dll with php_pdo_mysql.dll (php_mysql removed in PHP 7.0) - Remove IIS ISAPI steps referencing php8isapi.dll (ISAPI dropped in PHP 8.0); replace with FastCGI instructions via php-cgi.exe - Remove NO_AUTO_CREATE_USER from sql_mode (removed MySQL 8.0, breaks startup) - sort_buffer_size = 200M → 32M with caveat (per-session; 200M causes OOM under load) - Fix step numbering gaps: main list 5→8, IIS 3→5, Finishing 5→8 - "you will have to user 8.3 notation" → "use" - "c:cygwin" → "c:\cygwin" (missing backslash) - "it's subfolders" → "its subfolders" - "A anm example" → "An example" - "verify/udate" → "verify/update" Installing-Under-Ubuntu-Debian.md: - Cron user: apache → www-data (apache user does not exist on Ubuntu/Debian) - CREATE DATABASE: use utf8mb4 directly; remove redundant ALTER DATABASE - php8.1-mbstring listed twice in apt-get install; deduplicated - "may received" → "may receive" - Note php8.1 is EOL; recommend checking current supported release Upgrading-Cacti-Under-Windows.md: - Fix all steps numbered 1. → proper sequential numbering (1–10) - Remove hardcoded MySQL 5.7 path; use generic %MYSQL_HOME% note Upgrading-Cacti-Under-FreeBSD.md: - mysqldump: remove contradictory -l / --lock-tables=false flags; replace with --single-transaction (correct for InnoDB, no locking) How-To-SSH-Tunnels.md: - Add prominent note: SSH -L is TCP-only; standard SNMP uses UDP; this guide requires TCP transport configured on snmpd and does not work for most network devices - Fix unclosed code fence after ssh-keygen output block - Replace rc.local persistence with systemd unit (rc.local is deprecated and disabled by default on systemd distros: Ubuntu 16.04+, Debian 9+) - ssh-keygen: recommend ed25519 over RSA * docs: correct PHP 8.1 EOL date, Net-SNMP link, and grammar PHP 8.1 security support ended 31 December 2025, not November 2024. Point the snmpd.conf link at www.net-snmp.org (the sourceforge.io mirror is bot-blocked). Fix 'There a two ways extending' to 'There are two ways to extend'. Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> * ci: fix spelling workflow trigger to target develop, not main The repo's default branch is develop; main hasn't moved since 2023. The workflow's push/pull_request filters targeted main, so it never ran on any PR opened against develop. Signed-off-by: Thomas Vincent <thomasvincent@gmail.com> --------- Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
190 lines
8.3 KiB
Markdown
190 lines
8.3 KiB
Markdown
# Poller Settings
|
|
|
|
The Poller sub-tab of the Cacti settings are where you go to control
|
|
many aspects of **Data Collection** in Cacti, you control various base
|
|
collection frequencies, communication timeouts, and other settings that
|
|
impact how Cacti's **Data Collection** works.
|
|
|
|
## General Settings
|
|
|
|
The **General Settings** are a broad collection of settings into
|
|
multiple categories. The image below shows Cacti's **General Settings**
|
|
sub-section.
|
|
|
|

|
|
|
|
Those settings include:
|
|
|
|
- **Data Collection Enabled** - This is a setting that essentially will
|
|
override and disable all Cacti **Data Collection** from all of Cacti's
|
|
**Data Collectors**. It's really intended to allow you to put Cacti
|
|
in maintenance mode with a single click.
|
|
|
|
- **SNMP Agent Support Enabled** - The SNMP Agent has a measurable amount
|
|
of overhead on larger systems. Therefore, if you are not using it, you
|
|
should disable it. However, the SNMP Agent is a marvelous addition to
|
|
any Cacti system that's participating in a multi-level Operations
|
|
Framework.
|
|
|
|
- **Poller Type** - This is where you define either Cacti's built in poller
|
|
`cmd.php`, or use the more robust poller `spine`. You will not see the
|
|
`spine` drop-down option unless it has first been installed, and the
|
|
`spine` binary path defined from
|
|
`Console > Configuration > Settings > Paths` settings sub-tab.
|
|
|
|
- **Poller Sync Interval** - When creating a Cacti **Data Collector**
|
|
this is the default `Full Sync` interval it will use. In the current
|
|
Cacti design, a `Full Sync` should only be required when attempting
|
|
to replicate local authentication or authorization data to
|
|
**Remote Data Collectors**, of if you have made changes that would
|
|
otherwise impact the behavior of a **Remote Data Collector** when it
|
|
was offline.
|
|
|
|
- **Poller Interval** - This setting must align with the highest frequency
|
|
**Data Source Profile** polling interval.
|
|
|
|
> **Note**: This only applies to the **Data Source Profiles** that are in
|
|
> use. If you only plan on polling every minute and therefore only using
|
|
> the `1 Minute` **Data Source Profile**, then your **Poller Interval**
|
|
> should be `1 Minute` as well.
|
|
|
|
- **Cron/Daemon Interval** - This is the frequency at which either the Cacti
|
|
daemon (cactid.php), or the systems crontab/task-manager should relaunch
|
|
every **Data Collectors** Poller process.
|
|
|
|
- **Balance Process Load** - This setting will sort the devices such that
|
|
each concurrent Cacti process is polling the same number of **Data Sources**.
|
|
Otherwise, Cacti will simply order the hosts by their `device ids`.
|
|
|
|
- **Debug Output Width** - This is a diagnostic settings that you would only
|
|
enable from time to time if you wish to check if the output from your
|
|
**Data Collector** scripts exceeded the output width in the various
|
|
Poller tables. Since checking this have a very negative impact on
|
|
polling performance, it's disabled by default.
|
|
|
|
- **Disable Decreasing OID Check** - This setting is for performing
|
|
**Data Query** `Re-index` activities for tables whose OID's are not
|
|
structured in an orderly way where the suffix for the OID increases
|
|
in a known way. Though, in most cases enabling this setting will
|
|
not be harmless. There may be some cases where it would slow the
|
|
`Re-index` process.
|
|
|
|
- **Remote Agent Timeout** - When Cacti either needs information from
|
|
a **Data Collector**, like `ping` latency from the collector to one
|
|
of the **Devices** it's monitoring, or when a **Remote Data Collector**
|
|
needs information from the main Cacti server, this is the timeout
|
|
for receiving a handshake from that server. It's use to keep the
|
|
Website from locking up in the case a **Data Collector** is not
|
|
responding due to being down.
|
|
|
|
- **SNMP Bulkwalk Fetch Size** - This controls how many OID's are
|
|
returned per UDP turn when obtaining `snmpwalk` data from an
|
|
SNMP enabled **Device**.
|
|
|
|
> **Note**: This only works with SNMP v2 and v3. It is not supported
|
|
> on older SNMP v1 **Devices**.
|
|
|
|
- **SNMP Get OID Limit** - The default maximum number of SNMP Get
|
|
OIDs to issue per `snmpget` request. For **Devices**, this setting
|
|
is controlled at the **Device** level. You should only use this
|
|
setting when using Cacti's SNMP API natively in your scripts
|
|
and Plugins.
|
|
|
|
- **Disable Resource Cache Replication** - By default Cacti will
|
|
continually replicate it's Website content with it's
|
|
**Remote Data Collectors**. So, essentially, they are self
|
|
upgradable. However there are some cases where customers wish
|
|
to upgrade the Central system before allowing the remotes
|
|
to self upgrade. In those cases, you would enable this feature.
|
|
|
|
## Background Timeout Settings
|
|
|
|
The settings below limit how long Cacti background processes will be
|
|
allowed to run before timing out and being killed the system and
|
|
notifying the Cacti administrator. These background timeouts are
|
|
required to keep Cacti performing a peak performance by not allowing
|
|
certain tasks to re-spawn while they are still running causing
|
|
system overload. Below is the image of those settings.
|
|
|
|

|
|
|
|
Those settings include:
|
|
|
|
- **Report Generation Timeout** - Some reports can take several minutes
|
|
to complete. Adjust accordingly based upon your system size and
|
|
the number of reports across all users.
|
|
|
|
- **Data Source Statistics Timeout** - Depending on the size of your
|
|
Cacti system, some **Data Source Statistics** tasks can take quite
|
|
a bit of time. This setting is for the periodic collection and
|
|
not the Daily process.
|
|
|
|
- **Background Commands Timeout** - Cacti will schedule some commands
|
|
to be run offline during normal operations. This timeout affects
|
|
those commands. Some activities include some aspects of re-indexing,
|
|
removing old RRDfiles, etc.
|
|
|
|
- **Maintenance Background Generation Timeout** - Cacti performs daily
|
|
maintenance at midnight every day. This maintenance can include:
|
|
rotating logs, purging old logs, calculating **Data Source**
|
|
statistics, etc. This setting controls it maximum allowed runtime.
|
|
|
|
- **Spikekill Background Generation Timeout** - If you are using Cacti's
|
|
prophylactic spike-killer process on your Data Queries, this will control
|
|
it's maximum allowed run-time.
|
|
|
|
## Data Collector Defaults
|
|
|
|
Cacti's **Data Collectors** include both concurrent process and thread
|
|
settings. They are maintained at the **Data Collector** level due to the
|
|
fact that not all **Data Collectors** are created equally. You may have
|
|
one **Data Collector** that's collecting data from 1,000 hosts, and another
|
|
that is collecting from 10. Maybe one is a Raspberry Pi and the other
|
|
a two socket EPYC chip. You would not want the same settings for each.
|
|
|
|
These settings are only the defaults, when you fist create a
|
|
**Data Collector**, once you save them, the setting stays with the
|
|
individual **Data Collector**. Below, you can see an image of those
|
|
settings.
|
|
|
|

|
|
|
|
Those settings include:
|
|
|
|
- **Data Collector Processes** - The default number of concurrent
|
|
processes the **Data Collector** will spawn every cron or daemon
|
|
cycle.
|
|
|
|
- **Threads per Process** - The default number of `spine` threads
|
|
per Concurrent Poller Process above.
|
|
|
|
> **Note**: The Thread setting only applies if you are using the
|
|
> `spine` poller. It does not apply to the `cmd.php` poller.
|
|
|
|
## Additional Spine Parameters
|
|
|
|
These settings are Global Spine poller settings. They apply to all
|
|
**Data Collectors**. An image of these settings can be seen below:
|
|
|
|

|
|
|
|
Those settings include:
|
|
|
|
- **Invalid Data Logging** - By default spine will only log the number
|
|
of errors it experienced for a **Device**. If you wish more
|
|
granularity you can change this settings to either `Summary`
|
|
or `Detailed` logging.
|
|
|
|
- **Number of PHP Script Servers** - Another level of Spine parallelism
|
|
is it's ability to create a pool of memory resident PHP
|
|
interpreters for running PHP scripts, making spine very powerful.
|
|
Every concurrent process will have this many memory resident
|
|
PHP interpreters pooled for running scripts.
|
|
|
|
- **Script and Script Server Timeout Value** - This is the timeout
|
|
to stop run-on script from blocking poller performance. If a script
|
|
exceeds this timeout, it will generate a log message.
|
|
|
|
---
|
|
Copyright (c) 2004-2026 The Cacti Group
|