Didactum Monitoring-Geräte und Sensoren – Integration in Cacti
Diese Anleitung beschreibt die vollständige Integration von Didactum Monitoring-Geräten in Cacti. Ziel ist die grafische Langzeitaufzeichnung und Visualisierung aller Sensorwerte – Temperatur, Luftfeuchtigkeit, Leckage, Spannung, Türkontakte und weitere – über das SNMP-Protokoll. Cacti speichert die Messwerte in RRD-Datenbanken (Round Robin Database) und erzeugt daraus automatisch Zeitreihengrafiken.
1. Grundlagen und Architektur
Cacti ist ein netzwerkbasiertes Graphing-Tool, das primär für die Langzeitvisualisierung von Messwerten ausgelegt ist. Im Gegensatz zu Nagios liegt der Fokus nicht auf der Alarmierung, sondern auf der historischen Auswertung von Trendverläufen – z.Bsp. Temperaturentwicklung über Wochen und Monate.
Datenfluss in Cacti
- Der Cacti-Poller fragt per SNMP in konfigurierbaren Intervallen (Standard: 5 Minuten) OID-Werte vom Didactum-Gerät ab.
- Die Rohwerte werden in einer RRD-Datei (Round Robin Database) gespeichert. Ältere Werte werden automatisch konsolidiert (Mittelwerte, Maximum, Minimum).
- Cacti erzeugt aus den RRD-Daten Zeitreihengrafiken mit rrdtool graph.
- Über das Threshold-Plugin können Grenzwerte überwacht und Benachrichtigungen ausgelöst werden.
Cacti-Komponenten im Überblick
| Komponente | Funktion |
|---|---|
| Poller (poller.php) | Führt SNMP-Abfragen durch, läuft per Cron alle 5 Minuten |
| RRDtool | Speichert Zeitreihendaten, konsolidiert alte Werte automatisch |
| Data Source | Definiert, welche OID abgefragt und in welche RRD-Datei geschrieben wird |
| Graph Template | Legt fest, wie die Daten grafisch dargestellt werden (Linien, Farben, Beschriftungen) |
| Device | Repräsentiert ein Netzwerkgerät (z. B. das Didactum-Gerät) mit IP und SNMP-Einstellungen |
| Data Query | Automatische Erkennung aller Sensoren eines Geräts über SNMP-Tabellen |
| Threshold Plugin | Überwacht Grenzwerte und sendet Benachrichtigungen bei Überschreitung |
2. Voraussetzungen
- Cacti 1.2.x oder neuer (aktuelle stabile Version empfohlen)
- Linux-Server (Debian/Ubuntu oder RHEL/CentOS) mit Root-Zugriff
- PHP 7.4 oder neuer, Apache/Nginx, MariaDB/MySQL
- RRDtool 1.7 oder neuer
- SNMP-Tools (snmp, snmpd) auf dem Cacti-Server
- Didactum Monitoring-Gerät im Netzwerk erreichbar, SNMP aktiviert
- UDP Port 161 vom Cacti-Server zum Didactum-Gerät freigegeben
- Optional: Cacti-Plugins Threshold, Thold und Monitor für Alarmierung
Beispiel-Netzwerkkonfiguration
| Gerät | IP-Adresse | Rolle |
|---|---|---|
| Cacti-Server | 192.168.1.30 | Monitoring- und Graphing-Server |
| Didactum Monitoring Unit | 192.168.1.100 | Überwachtes Gerät (SNMP-Agent) |
3. SNMP-Vorbereitung am Didactum-Gerät
3.1 SNMP aktivieren
- Didactum Web-Interface aufrufen: 192.168.1.100, Login mit Admin-Konto.
- Navigation: Einstellungen → Netzwerk → SNMP (oder: Settings → Network → SNMP).
- Folgende Parameter setzen:
- SNMP aktiviert: Ja
- SNMP-Version: v2c (empfohlen für Cacti) oder v3
- Community-String: public (in Produktion ändern)
- SNMP-Port: 161
- Allowed Managers: IP des Cacti-Servers (192.168.1.30) eintragen
- Einstellungen speichern.
3.2 Erreichbarkeit vom Cacti-Server testen
# SNMP Walk – alle Didactum-OIDs auflisten: snmpwalk -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854 # Temperatur Sensor 1 direkt abfragen: snmpget -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1 # Alle Temperatursensoren als Tabelle: snmpwalk -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854.1.2.2.1.16.1.3
Hinweis:
Didactum gibt Temperatur- und Spannungswerte mit Faktor 10 zurück (235 = 23,5°C). Dies muss in den Cacti Data Sources berücksichtigt werden.
4. Cacti installieren und vorbereiten
4.1 Cacti auf Debian/Ubuntu installieren
# Abhängigkeiten installieren: sudo apt update sudo apt install cacti cacti-spine rrdtool snmp snmp-mibs-downloader php-snmp -y # Bei der Installation: Datenbankpasswort und Webserver (Apache) konfigurieren. # Cacti ist danach erreichbar unter: <SERVER-IP>/cacti
4.2 Cacti auf RHEL / CentOS / Rocky Linux installieren
# EPEL-Repository aktivieren: sudo dnf install epel-release -y # Cacti und Abhängigkeiten installieren: sudo dnf install cacti rrdtool net-snmp net-snmp-utils php-snmp -y # Apache und MariaDB starten: sudo systemctl enable --now httpd mariadb
4.3 Cron-Job für den Poller einrichten
# Crontab für den Cacti-Benutzer öffnen: sudo crontab -u www-data -e # Folgenden Eintrag hinzufügen (Polling alle 5 Minuten): */5 * * * * php /usr/share/cacti/poller.php > /dev/null 2>&1
4.4 Spine-Poller konfigurieren (empfohlen für viele Geräte)
Spine ist ein schnellerer C-basierter Poller als der Standard-PHP-Poller und wird für produktive Umgebungen empfohlen:
sudo nano /etc/cacti/spine.conf
DB_Host 127.0.0.1 DB_Database cacti DB_User cactiuser DB_Pass cactipassword DB_Port 3306 Threads 5 Timeout 400 PHP_Path /usr/bin/php
In Cacti aktivieren: Console → Configuration → Settings → Poller → Poller Type: Spine.
4.5 Didactum MIB-Datei einbinden
# MIB-Datei ins SNMP-Verzeichnis kopieren: sudo cp DIDACTUM-RACKMONI2-MIB.mib /usr/share/snmp/mibs/ # In /etc/snmp/snmp.conf eintragen: echo "mibs +DIDACTUM-RACKMONI2-MIB" | sudo tee -a /etc/snmp/snmp.conf # Test: snmpget -v2c -c public -m +DIDACTUM-RACKMONI2-MIB 192.168.1.100 tempValue.1
Hinweis:
Der Name der .mib Datei kann variieren. Bitte auf dem Gerät nachschauen und ggf. im Script anpassen!
5. Didactum-Gerät in Cacti anlegen
5.1 Neues Device anlegen
- Cacti Web-Interface aufrufen und als Administrator anmelden.
- Navigation: Console → Management → Devices → Add.
- Folgende Felder ausfüllen:
- Description: Didactum Rack Monitoring – Serverraum A
- Hostname: 192.168.1.100
- Host Template: Generic SNMP-enabled Host (oder eigenes Template, siehe Abschnitt 6)
- SNMP Version: Version 2
- SNMP Community: public
- SNMP Port: 161
- SNMP Timeout: 500 ms
- Maximum OIDs per Get Request: 10
- Klick auf Create.
5.2 SNMP-Verbindung im Device testen
Nach dem Anlegen des Devices erscheint oben auf der Seite der SNMP-Status. Bei korrekter Konfiguration wird die System-Beschreibung des Didactum-Geräts angezeigt:
SNMP Information System: Didactum Rack Monitoring Unit II Location: Serverraum A Contact: admin@example.com Uptime: 15 days, 4:32:18
Falls kein SNMP-Status erscheint: SNMP-Community-String und IP-Adresse prüfen, Firewall kontrollieren.
5.3 Für SNMP v3 (erhöhte Sicherheit)
- SNMP Version: Version 3 auswählen.
- Zusätzliche Felder ausfüllen:
- SNMP Username: SNMP-v3-Benutzer vom Didactum-Gerät
- SNMP Auth Protocol: SHA
- SNMP Auth Passphrase: Authentifizierungspasswort
- SNMP Privacy Protocol: AES128
- SNMP Privacy Passphrase: Verschlüsselungspasswort
6. Data Queries und SNMP-Abfragen konfigurieren
In Cacti gibt es zwei Wege, SNMP-Daten vom Didactum-Gerät abzufragen:
- SNMP Custom Collection (einzelne OID): Einfachste Methode für individuelle Sensorwerte. Jede OID wird als eigene Data Source angelegt.
- Data Query (SNMP-Tabelle): Automatische Erkennung aller Sensoren über eine SNMP-Tabellen-OID. Sinnvoll bei vielen gleichartigen Sensoren.
6.1 Data Source für einzelnen Sensor anlegen (empfohlener Einstieg)
- Navigation: Console → Management → Data Sources → Add.
- Data Template: SNMP – Generic OID Template auswählen (oder neues Template erstellen, siehe 6.3).
- Device: Didactum Rack Monitoring – Serverraum A auswählen.
- Im Bereich Data Source Item:
- OID: 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1 (Temperatur Sensor 1)
- Data Source Type: GAUGE (für Messwerte wie Temperatur, Feuchte)
- Heartbeat: 600 (= 2× Polling-Intervall in Sekunden)
- Minimum: 0
- Maximum: U (unbegrenzt)
- Data Source speichern.
6.2 RRDtool Data Source Types für Didactum-Sensoren
| Sensor-Typ | RRD-Typ | Begründung |
|---|---|---|
| Temperatur | GAUGE | Absolutwert, der steigen und fallen kann |
| Luftfeuchtigkeit | GAUGE | Absolutwert in % rF |
| Leckage-Status | GAUGE | Binärer Zustandswert (0 oder 1) |
| Spannung | GAUGE | Absolutwert in Volt |
| Türkontakt-Status | GAUGE | Binärer Zustandswert (0 = geschlossen, 1 = offen) |
| Uptime | COUNTER | Monoton steigender Zähler (Hundertstelsekunden) |
6.3 Eigenes Data Template für Temperatur erstellen
- Navigation: Console → Templates → Data Templates → Add.
- Name: Didactum – Temperatur Sensor
- Im Bereich Data Source Item:
- Internal Data Source Name: temperature
- Minimum: -40
- Maximum: 100
- Data Source Type: GAUGE
- Heartbeat: 600
- Im Bereich Custom Data:
- OID: 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.|query_index| (für Data Queries mit Index)
- Template speichern.
6.4 XML-Data-Query für automatische Sensor-Erkennung
Für die automatische Erkennung aller Temperatursensoren kann eine XML-Data-Query-Datei erstellt werden. Diese Datei im Cacti-Verzeichnis ablegen:
sudo nano /usr/share/cacti/resource/snmp_queries/didactum_temperature.xml
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<name>Didactum Temperature Sensors</name>
<description>Abfrage aller Temperatursensoren des Didactum Monitoring-Geräts</description>
<oid_uptime>1.3.6.1.2.1.1.3.0</oid_uptime>
<index_order>sensorIndex</index_order>
<index_order_type>numeric</index_order_type>
<index_title_format>|chosen_order_field|</index_title_format>
<fields>
<sensorIndex>
<name>Sensor Index</name>
<direction>input</direction>
<source>index</source>
</sensorIndex>
<sensorName>
<name>Sensor Name</name>
<direction>input</direction>
<source>value</source>
<oid>1.3.6.1.4.1.3854.1.2.2.1.16.1.2</oid>
</sensorName>
<sensorValue>
<name>Temperatur (Rohwert x10)</name>
<direction>input-output</direction>
<source>value</source>
<oid>1.3.6.1.4.1.3854.1.2.2.1.16.1.3</oid>
</sensorValue>
<sensorStatus>
<name>Sensor Status</name>
<direction>input</direction>
<source>value</source>
<oid>1.3.6.1.4.1.3854.1.2.2.1.16.1.4</oid>
</sensorStatus>
</fields>
</interface>Analoge XML-Dateien für Leckage (didactum_leak.xml) und Luftfeuchtigkeit (didactum_humidity.xml) mit den entsprechenden OID-Basis-Pfaden erstellen (siehe OID-Referenz in Abschnitt 8).
6.5 Data Query in Cacti importieren
- Navigation: Console → Management → SNMP Queries → Add.
- Name: Didactum – Temperatursensoren
- XML Path: <path_cacti>/resource/snmp_queries/didactum_temperature.xml
- Data Input Method: Get SNMP Data (Indexed)
- Speichern.
- Data Query dem Didactum-Device zuweisen: Device bearbeiten → Associated Data Queries → Add Data Query → Didactum Temperatursensoren → Add.
- Klick auf Run Queries, um alle Sensoren automatisch zu erkennen.
7. Graph Templates erstellen
7.1 Graph Template für Temperatur
- Navigation: Console → Templates → Graph Templates → Add.
- Name: Didactum – Temperatur
- Im Bereich Graph Template:
- Title: |host_description| – Temperatur |query_index|
- Vertical Label: Grad Celsius
- Width: 700
- Height: 200
- Graph Template Items hinzufügen:
- Item 1: Type = DATA SOURCE, Data Source = Temperatur-Data-Source, Color = FF0000, Graph Item Type = LINE2, Text Format = Temperatur
- Item 2: Type = GPRINT, Data Source = wie oben, Consolidation = LAST, Text Format = Aktuell\:%8.1lf °C
- Item 3: Type = GPRINT, Consolidation = MAX, Text Format = Maximum\:%8.1lf °C
- Item 4: Type = GPRINT, Consolidation = MIN, Text Format = Minimum\:%8.1lf °C\n
- Template speichern.
Wichtig:
Da Didactum Temperaturwerte × 10 liefert, entweder die CDEF-Funktion in Cacti nutzen, um den Wert zu dividieren, oder die Achsenbeschriftung entsprechend anpassen:
- Navigation: Console → Data Management → CDEFs → Add.
- Name: Divide by 10 (Didactum)
- CDEF Items:
- Item 1: Type = Special Data Source, Value = CURRENT_DATA_SOURCE
- Item 2: Type = Another CDEF, Value = 10,/
- CDEF dem Graph-Template-Item zuweisen: Graph Template → Item → CDEF = Divide by 10.
7.2 Graph Template für Leckage (Statusanzeige)
- Neues Graph Template: Didactum – Leckage Status
- Vertical Label: Leckage (0=OK, 1=Alarm)
- Graph Item: Type = AREA, Color = 0000FF (blau = normal), Graph Item Type = AREA
- Zweites Item mit Schwellwert-Linie: Type = HRULE, Value = 0.5, Color = FF0000, Text = Alarm-Grenze
7.3 Graph Template für Luftfeuchtigkeit
- Neues Graph Template: Didactum – Luftfeuchtigkeit
- Vertical Label: % relative Feuchte
- Graph Items: LINE2 in blau, GPRINT für Aktuell/Max/Min
- Empfehlung: HRULE-Linien bei 20 % (untere Grenze) und 80 % (obere Grenze) in Orange einzeichnen
7.4 Graphs dem Device zuweisen
- Navigation: Console → Management → Devices → Didactum-Gerät → Create Graphs for this Host.
- Gewünschte Graph Templates auswählen (Temperatur, Leckage, Luftfeuchtigkeit usw.).
- Klick auf Create. Cacti legt automatisch Data Sources und Graphen an.
- Die Graphen erscheinen nach dem nächsten Polling-Zyklus (max. 5 Minuten) mit ersten Datenpunkten.
7.5 Graphen in einem Dashboard zusammenfassen
- Navigation: Console → Management → Graph Trees → Add.
- Name: Didactum Monitoring – Serverräume
- Tree Items hinzufügen: Add Tree Item → Device → Didactum Rack Monitoring.
- Alle zugehörigen Graphen werden automatisch im Tree-View gruppiert.
8. OID-Referenz für Cacti
8.1 Temperatursensoren
| OID | Beschreibung | Einheit | RRD-Typ | Cacti-Hinweis |
|---|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.{n} | Temperaturwert Sensor n | °C × 10 | GAUGE | CDEF ÷ 10 für korrekte Anzeige |
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.4.{n} | Temperatur-Status Sensor n | Enum 0/1/2 | GAUGE | Für Threshold-Plugin nutzen |
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.7.{n} | Oberer Grenzwert Sensor n | °C × 10 | GAUGE | Als HRULE in Graphen einzeichnen |
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.8.{n} | Unterer Grenzwert Sensor n | °C × 10 | GAUGE | Als HRULE in Graphen einzeichnen |
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.2.{n} | Sensor-Name n | Text | – | Für Data-Query-Index-Beschriftung |
8.2 Leckagesensoren
| OID | Beschreibung | Einheit | RRD-Typ | Cacti-Hinweis |
|---|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.18.1.4.{n} | Leckage-Status Sensor n | 0=OK, 1=Leckage | GAUGE | AREA-Graph; Threshold bei 0,5 |
| 1.3.6.1.4.1.3854.1.2.2.1.18.1.3.{n} | Leckage-Wert Sensor n | 0=trocken | GAUGE | Alternativ zum Status-OID |
| 1.3.6.1.4.1.3854.1.2.2.1.18.1.2.{n} | Sensor-Name n | Text | – | Für Beschriftung |
8.3 Luftfeuchtigkeitssensoren
| OID | Beschreibung | Einheit | RRD-Typ | Cacti-Hinweis |
|---|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.17.1.3.{n} | Luftfeuchtigkeitswert Sensor n | % rF | GAUGE | Kein Faktor nötig |
| 1.3.6.1.4.1.3854.1.2.2.1.17.1.4.{n} | Luftfeuchtigkeits-Status n | Enum 0/1/2 | GAUGE | Für Threshold-Plugin |
| 1.3.6.1.4.1.3854.1.2.2.1.17.1.7.{n} | Oberer Grenzwert Sensor n | % rF | GAUGE | Als HRULE in Graph |
| 1.3.6.1.4.1.3854.1.2.2.1.17.1.8.{n} | Unterer Grenzwert Sensor n | % rF | GAUGE | Als HRULE in Graph |
8.4 Weitere Sensoren
| OID | Beschreibung | Einheit | RRD-Typ | Cacti-Hinweis |
|---|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.15.1.3.{n} | Spannungswert Sensor n | V × 10 | GAUGE | CDEF ÷ 10 für korrekte V-Anzeige |
| 1.3.6.1.4.1.3854.1.2.2.1.15.1.4.{n} | Spannungs-Status Sensor n | Enum 0/1/2 | GAUGE | Für Threshold-Plugin |
| 1.3.6.1.4.1.3854.1.2.2.1.10.1.3.{n} | Türkontakt-Status n | 0=zu, 1=offen | GAUGE | AREA-Graph, binär |
| 1.3.6.1.4.1.3854.1.2.2.1.11.1.3.{n} | Erschütterung / Bewegung n | 0=keine, 1=Alarm | GAUGE | AREA-Graph, binär |
| 1.3.6.1.4.1.3854.1.2.2.1.14.1.3.{n} | Rauchmelder-Status n | 0=OK, 1=Alarm | GAUGE | AREA-Graph, Threshold sofort |
| 1.3.6.1.2.1.1.3.0 | System Uptime (sysUpTime) | Hundertstelsekunden | COUNTER | Standard-SNMP OID |
9. Threshold-Plugin für Alarmierung
Cacti selbst bietet keine native Alarmfunktion.
Das Thold-Plugin (Threshold) ergänzt Cacti um Schwellwertüberwachung und Benachrichtigungen per E-Mail.
9.1 Thold-Plugin installieren
# Plugin herunterladen (GitHub): cd /usr/share/cacti/plugins/ sudo git clone github.com/Cacti/plugin_thold.git thold sudo git clone github.com/Cacti/plugin_settings.git settings # Berechtigungen setzen: sudo chown -R www-data:www-data /usr/share/cacti/plugins/thold sudo chown -R www-data:www-data /usr/share/cacti/plugins/settings
Plugins in Cacti aktivieren: Console → Configuration → Plugin Management → thold → Enable, settings → Enable.
9.2 E-Mail-Benachrichtigung konfigurieren
- Navigation: Console → Configuration → Settings → Mail/DNS.
- Folgende Felder ausfüllen:
- Mail Services: SMTP
- Mail Server: IP oder Hostname des SMTP-Servers
- Mail Server Port: 25 oder 587 (TLS)
- Mail From: cacti@example.com
- Mail From Name: Cacti Monitoring
- Test-E-Mail senden: Send a Test Email.
9.3 Threshold für Temperatursensor anlegen
- Navigation: Console → Management → Thresholds → Add.
- Data Source: Didactum Temperatur Sensor 1 auswählen.
- Einstellungen:
- Threshold Type: High / Low
- High Warning: 300 (= 30 °C × 10)
- High Alert: 350 (= 35 °C × 10)
- Low Warning: 50 (= 5 °C × 10)
- Low Alert: 0
- Repeat Alert: 10 Minuten
- Notify: E-Mail-Adresse(n) eintragen
- Threshold speichern und aktivieren.
9.4 Threshold für Leckagesensor (Sofortalarm)
- Neuen Threshold anlegen, Data Source: Didactum Leckage Sensor 1.
- Einstellungen:
- Threshold Type: High / Low
- High Alert: 0.5 (Alarm bei jedem Wert über 0)
- High Warning: leer lassen (direkt Critical)
- Repeat Alert: 5 Minuten
- Notify: Alle relevanten Kontakte
9.5 Empfohlene Threshold-Einstellungen
| Sensortyp | High Warning (Rohwert) | High Alert (Rohwert) | Low Warning | Repeat-Intervall |
|---|---|---|---|---|
| Temperatur IT-Rack (× 10) | 300 (30 °C) | 350 (35 °C) | 50 (5 °C) | 10 min |
| Temperatur USV-Raum (× 10) | 250 (25 °C) | 300 (30 °C) | 100 (10 °C) | 10 min |
| Luftfeuchtigkeit | 70 | 80 | 20 | 15 min |
| Leckage | – | 0,5 | – | 5 min |
| Spannung 230 V AC (× 10) | 2530 (253 V) | 2600 (260 V) | 2070 (207 V) | 10 min |
| Türkontakt / Rauch | – | 0,5 | – | 5 min |
10. Fehlerbehebung (Troubleshooting)
| Problem | Mögliche Ursache / Lösung |
|---|---|
| Gerät zeigt „SNMP error" im Device-Status | Community-String falsch oder UDP Port 161 blockiert. Test: snmpwalk -v2c -c public 192.168.1.100 vom Cacti-Server ausführen. |
| Graphen bleiben leer / keine Datenpunkte | Poller läuft nicht. Cron-Job prüfen: crontab -l -u www-data. Poller manuell testen: sudo -u www-data php /usr/share/cacti/poller.php. |
| Temperatur wird mit Faktor 10 falsch angezeigt (235 statt 23,5) | CDEF „Divide by 10" dem Graph-Template-Item zuweisen (Console → Data Management → CDEFs). Alternativ Schwellwerte × 10 angeben. |
| OID liefert „No Such Object" | Sensor nicht angeschlossen oder falscher Index. snmpwalk -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854.1.2.2.1.16.1.3 ausführen, um vorhandene Indizes zu ermitteln. |
| Data Query findet keine Sensoren | XML-Datei auf Syntaxfehler prüfen. Run Queries erneut ausführen. PHP-Fehlerlog prüfen: /var/log/apache2/error.log. |
| Thold-Plugin sendet keine E-Mails | SMTP-Einstellungen prüfen (Console → Settings → Mail). Test-Mail senden. PHP-Mail-Funktion aktiviert? sendmail auf dem Server installiert? |
| RRD-Datei wird nicht angelegt | Schreibrechte prüfen: ls -la /var/lib/cacti/rra/. Verzeichnis muss dem Webserver-Benutzer (www-data) gehören. |
| Poller läuft, aber Graphen zeigen „NaN" | OID-Wert liegt außerhalb der konfigurierten RRD-Min/Max-Grenzen. Data Source bearbeiten: Minimum auf 0, Maximum auf U (unbegrenzt) setzen. |
Diagnose-Befehle Übersicht
# SNMP-Erreichbarkeit testen: snmpwalk -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854 # Einzelnen Sensor abfragen: snmpget -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1 # Poller manuell ausführen (als Webserver-Benutzer): sudo -u www-data php /usr/share/cacti/poller.php --force # Poller mit Debug-Ausgabe: sudo -u www-data php /usr/share/cacti/poller.php --force --debug # RRD-Datei direkt abfragen (letzten Wert anzeigen): rrdtool lastupdate /var/lib/cacti/rra/didactum_temperature_1.rrd # RRD-Grafik manuell erzeugen (Test): rrdtool graph /tmp/test.png \ --start -3600 \ DEF:temp=/var/lib/cacti/rra/didactum_temperature_1.rrd:temperature:AVERAGE \ LINE2:temp#FF0000:"Temperatur" # Cacti-Log prüfen: sudo tail -f /var/log/cacti/cacti.log # Schreibrechte RRD-Verzeichnis prüfen: ls -la /var/lib/cacti/rra/ # PHP-Fehler prüfen: sudo tail -f /var/log/apache2/error.log
Anhang: Cacti-Konfiguration Schnell-Referenz
| Aufgabe | Cacti-Navigationspfad |
|---|---|
| Gerät anlegen | Console → Management → Devices → Add |
| Data Source anlegen | Console → Management → Data Sources → Add |
| Graph Template erstellen | Console → Templates → Graph Templates → Add |
| Data Template erstellen | Console → Templates → Data Templates → Add |
| SNMP Data Query anlegen | Console → Management → SNMP Queries → Add |
| Graph für Gerät erzeugen | Console → Management → Devices → Gerät → Create Graphs |
| CDEF (Berechnungsformel) anlegen | Console → Data Management → CDEFs → Add |
| Threshold anlegen (Thold-Plugin) | Console → Management → Thresholds → Add |
| E-Mail-Einstellungen | Console → Configuration → Settings → Mail/DNS |
| Poller-Einstellungen | Console → Configuration → Settings → Poller |
| Plugin-Verwaltung | Console → Configuration → Plugin Management |
| Graph Tree (Dashboard) | Console → Management → Graph Trees → Add |
Für firmware-spezifische OIDs und unterstützte Sensortypen immer die aktuelle Didactum-Gerätedokumentation konsultieren.