2. Seite www.consol.de
Livestatus?
28.11.2013 2
Monitoring Server
Livestatus Protokol
Unix Socket
N
Livestatus
NEB Module
• Eine Monitoring Maschine
• Ein Core
• Ein Web Interface
• Livestatus als lokale In-Memory
Datenbank für Nagios.
3. Seite
Monitoring Server B
www.consol.de
Livestatus Remote
28.11.2013 3
Monitoring Server A
Livestatus Protokol
TCP Socket
N
Livestatus
NEB Module
• Ein Web Interface
• Ein Remote Core
• Latenz des Web Interfaces
abhängig von der Anbindung des
remote Servers
4. Seite
Monitoring Server B
www.consol.de
Livestatus Remote, aber viele
28.11.2013 4
Monitoring Server A
Livestatus Protokol
TCP Socket
N
Livestatus
NEB Module
• Ein Web Interface
• Viele Remote Cores
• Latenz abhängig von
von der Anbindung
aller remote Cores.
Monitoring Server C
N
Livestatus
Monitoring Server D
N
Livestatus
6. Seite www.consol.de
Livestatus Remote, weltweit verteilt und sehr viele
28.11.2013 6
N
N
Naemon
Naemon
N N
N
N
N
N
N
N
Naemon
Naemon
Naemon
Naemon
Naemon
Naemon
7. Seite www.consol.de
Architektur
28.11.2013 7
LMD
ClientClient Client
Remote RemoteRemote
Livestatus API
Livestatus API /
A remote site can be any livestatus producer, ex.: Nagios, Icinga or Thruks HTTP(s) API
A client can be any livestatus consumer, ex.:Thruk
Prometheus export
8. Seite www.consol.de
Hier kommt LMD ins Spiel
28.11.2013 8
Monitoring Server A
Monitoring Server B
N
Livestatus
• Ein Web Interface
• Viele Remote Cores
• Keine Latenz
Monitoring Server C
N
Livestatus
Monitoring Server D
N
Livestatus
LMD
9. Seite www.consol.de
Was ist LMD
• LMD stellt eine aggregierte Livestatus Schnittstelle für alle Sites zu
verfügung
• LMD cached die Daten lokal
• Kommandos und Logfile Requests werden 1:1 durchgereicht
28.11.2013 9
11. Seite www.consol.de
LMD konfigurieren
• Keine Konfiguration notwendig
– Backends werden von Thruk konfiguriert
• Ansonsten in der lmd.ini:
[[Connections]]
name = "Monitoring Site A"
id = "id1"
source = ["192.168.33.10:6557"]
28.11.2013 11
https://github.com/sni/lmd
12. Seite www.consol.de
Was ist anders
• OutputFormat wrapped_json:
{
“data":[[1479826340],[1479826340],[1479826340]],
“failed":{},
"total":3
}
28.11.2013 12
https://github.com/sni/lmd
13. Seite www.consol.de
Was ist anders
• Sortieren inklusive
GET hosts
Columns: name
Sort: name desc
28.11.2013 13
https://github.com/sni/lmd
14. Seite www.consol.de
Was ist anders
• Extra Tabelle “sites”
• Zusätzliche Spalten “peer_name” in allen Tabellen
28.11.2013 14
https://github.com/sni/lmd