Teil 2: Einrichtung SNMP Monitoring auf grafandb LXC Container

Installiere Telegraf

Über SSH oder auf der Console folgenden Befehl ausführen.

Code
apt-get install telegraf


telegraf.conf anpassen


section → [[outputs.influxdb]]

Code
urls = ["http://127.0.0.1:8086"] # required
database = "snmpdb" # required
username = "admin"
password = "admin"

section [[inputs.snmp]] (Vorsicht ist mit '#' standardmäßig auskommentiert '#' an Anfang der Sectionszeile entfernen. Diese wird somit aktiviert.

Die folgenden Zeilen sind teilweise vorhanden und müssen ggf. ebenfalls “enthashed” werden.


für Messungen im Kurzintervall von 60 Sekunden.


Code
[[inputs.snmp]]  agents = ["<hostname oder IP-Adresse zur QNAP>:161","<weitere SNMP fähige Geräte>:161" ]  timeout = "30s"  interval = "60s"  retries = 3  version = 2  community = "public"  max_repetitions = 10  

nach diesem Block können unterhalb dieser Änderungen die folgenden Sections hinzugefügt werden. Am einfachsten Copy&Paste


für Messungen im Langintervall von 15 Minuten.


Es gibt bei QNAP offenbar einige SNMP Objects deren Abfrage im Hintergrund relativ aufwändig ist. Hier macht es keinen Sinn diese minütlich abzufragen, da dass nur unnötig viel Last am System verursacht.

Hier wird einfach in der Telegraf ein weiterer Block angelegt (inputs.snmp). Hier jedoch mit leicht abgeänderter Konfiguration des Intervalls. Alle weiteren inputs.snmp… nach diesem Konfigblock laufen nun mit dieser Konfiguration nur noch alle zB.: 15 Minuten.

Code
[[inputs.snmp]]  agents = ["<hostname oder IP-Adresse zur QNAP>:161","<weitere SNMP fähige Geräte>:161"]
#   ## Timeout for each SNMP query.  timeout = "30s"  interval = "15m"
#   ## Number of retries to attempt within timeout.  retries = 3
#   ## SNMP version, values can be 1, 2, or 3  version = 2
#
#   ## SNMP community string.  community = "public"
#
#   ## The GETBULK max-repetitions parameter  max_repetitions = 10

Hier fügen wir nun die aufwändigen Tables ein. Die Abfrage dieser Daten kann schon mal gerne 10-20 Sekunden dauern.



Testen der Telegraf Config.



Nach Speicherung der telegraf.conf kommt es beim Service Restart gerne vor, dass sich irgendwo ein Tippfehler eingeschlichen hat und man wundert sich darüber, dass gar keine Metriken mehr in der DB ankommen.

Mit dem Befehl

Code
telegraf --test

auf der bash des LXC Containers wo der Telegraf läuft kann man den Output direkt im Terminal ausgeben lassen und man sieht auch eventuelle Syntax Fehler.

Im optimal Fall sieht es aber wie folgt aus.


Bild 031.png

Kommentare 2

  • hallo, vielen dank für deine Arbeit. aber könntest du den Code so darstellen das man auch weiß wie der in die Datei muss? So kann man leider nix mit anfangen, da ich nicht weis wo eine neue Zeile beginnt. an den Zeilennummern kann ich mich leider auch nicht orientieren.

    danke und Gruß.

    • Servus Marco,


      Ich bin derzeit dabei das ganze bei mir von LXC auf Docker-Compose umzustellen.

      Das hat den riesen Vorteil, dass man sich in der Container-Station nen Wolf klicken muss um alles richtig zu konfigurieren. Stattdessen baut man sich nen kompletten "Stack" an Containern in nem YAML-File zusammen. Leider hab ich das aber noch nicht dokumentiert. Wenn es soweit werde ich das gerne hier her portieren. Da ich hier aber für jede Micro-Änderung an dem Blog hier nen Admin brauche, sind hier nachträgliche Änderungen leider nicht so einfach möglich.


      Aber kurz um. Wo zwickts denn grade bei dir? Vielleicht kann ich dir auch so helfen. :)