SQL Formatierungen, Linux erweitert um SNMP

This commit is contained in:
Sven Riwoldt
2026-08-07 09:30:08 +02:00
parent 5b00737df9
commit 53da75bbc5
2 changed files with 422 additions and 318 deletions
+105 -7
View File
@@ -49,11 +49,11 @@ mkdir -p ~/src
### Für mehrere Benutzer
| Verzeichnis | Zweck |
|-------------|-------|
| `/srv/` | Gemeinsam genutzte Projekte oder Dienste |
| `/usr/local/src/` | Systemweiter Quellcode |
| `/opt/` | Installierte Drittanbieter-Software (nicht für eigenen Quellcode) |
| Verzeichnis | Zweck |
| ----------------- | ----------------------------------------------------------------- |
| `/srv/` | Gemeinsam genutzte Projekte oder Dienste |
| `/usr/local/src/` | Systemweiter Quellcode |
| `/opt/` | Installierte Drittanbieter-Software (nicht für eigenen Quellcode) |
---
@@ -137,7 +137,7 @@ find ~/Downloads -name "*.zip" -delete
---
# `xargs` erklärt
# xargs erklärt
## Was macht `xargs`?
@@ -307,11 +307,13 @@ find . -name "*.log" -print0 | xargs -0 rm
### `find`
- Dateien suchen:
```bash
find . -name "*.txt"
```
- Direkt löschen:
```bash
find . -name "*.txt" -delete
```
@@ -334,4 +336,100 @@ Wenn möglich:
find . -exec <befehl> {} +
```
Diese Variante ist oft einfacher und ebenso effizient.
Diese Variante ist oft einfacher und ebenso effizient.
# SNMP: MIB-Auflösung und OID-Übersetzung mit net-snmp
## OIDs werden trotz eingehängter MIB nicht textuell aufgelöst
### Mögliche Ursachen
**MIB wird nicht geladen**
- MIB liegt nicht in einem durchsuchten Verzeichnis. Prüfen mit `net-snmp-config --default-mibdirs`; übliche Pfade sind `~/.snmp/mibs`, `/usr/share/snmp/mibs`.
- MIB nicht per `-m` oder Konfiguration aktiviert. Test: `snmpwalk -m ALL ...` oder in `~/.snmp/snmp.conf` bzw. `/etc/snmp/snmp.conf`: `mibs +MEIN-MIB`.
- net-snmp lädt standardmäßig nur ein Minimalset. `mibs :` deaktiviert alles.
**Dateiname passt nicht zum MIB-Namen**
- net-snmp löst Module über den Dateinamen auf; der interne Modulname (vor `DEFINITIONS ::= BEGIN`) muss stimmen.
**Fehlende IMPORTS / Abhängigkeiten**
- Importierte MIBs (z. B. `SNMPv2-SMI`, `SNMPv2-TC`, herstellereigene Basis-MIBs) fehlen → Parsen schlägt still fehl. Sichtbar machen mit:
```bash
snmptranslate -M+/pfad -m ALL -Dparse-mibs OID
```
**Parse-/Syntaxfehler in der MIB**
- Diagnose:
```bash
snmptranslate -Le -m ALL -M /pfad -On MEIN-MIB::objekt
```
Fehler werden auf stderr ausgegeben.
**Numerische OID gehört zu keinem geladenen Zweig**
- Die abgefragte Enterprise-OID liegt außerhalb dessen, was die MIB definiert (falsche/unvollständige MIB).
### Schneller Prüfweg
1. `snmptranslate -m +MEIN-MIB -IR meinObjekt` → gibt es einen Treffer?
2. `snmptranslate -Le -M /pfad/zu/mibs -m ALL .1.3.6.1.4.1.<enterprise>` → Fehler beim Laden?
3. Fehlende Import-MIBs nachlegen.
Meist ist es eine fehlende Import-Abhängigkeit oder ein falscher Suchpfad/Modulname.
---
## Umgekehrt: von `MIB::objekt` auf die OID schließen
Textuellen Namen statt numerischer OID übergeben (MIB muss geladen sein):
```bash
snmpget -v2c -c public host MEIN-MIB::meinObjekt.0
snmpwalk -v2c -c public host MEIN-MIB::meinObjekt
```
### Vorher ohne Gerät prüfen (Name → OID)
```bash
snmptranslate -On MEIN-MIB::meinObjekt
```
`-On` erzwingt die numerische Ausgabe, also die zugehörige OID.
Umgekehrt (OID → Name):
```
snmptranslate .1.3.6.1.4.1.xxx
```
### Nützliche Varianten
- Objektname allein suchen (ohne `MIB::`-Präfix):
```
snmptranslate -IR -On meinObjekt
```
- Vollständigen symbolischen Pfad anzeigen:
```
snmptranslate -Of MEIN-MIB::meinObjekt
```
- Objektdetails (Typ, Zugriff, Beschreibung):
```
snmptranslate -Td MEIN-MIB::meinObjekt
```
### Hinweise
- Scheitert `snmpget MEIN-MIB::meinObjekt.0` mit „Unknown Object Identifier", ist die MIB nicht geladen → mit `-m +MEIN-MIB` bzw. `-M /pfad` ergänzen.
- Bei skalaren Objekten die `.0`-Instanz nicht vergessen.