![Page 1: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/1.jpg)
Wisse, was deine Elefanten machenPostgreSQL Performance-Analyse mit collectd
Sebastian ”tokkee“ Harl <[email protected]>
teamix GmbH / collectd core team
PGConf.DE 201111. November 2011
![Page 2: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/2.jpg)
Uber teamix
• gegrundet 2001• Ursprunge: Open-Source und Netzwerke
DebianNagiosSchulungenu.v.m.
• Heute auch:NetAppVMWareRiverbed (WAN-Beschleunigung)JuniperN-IX (Nurnberger Internet-eXchange)
Wisse, was deine Elefanten machen Folie 2
![Page 3: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/3.jpg)
Was ist collectd?UberblickWichtige Eigenschaften
Plugin-Uberblick
PostgreSQL Prozesse
Statistiken von PostreSQL abfragen
Performance-Daten in RDBMS speichern
Uber den Tellerrand
Wisse, was deine Elefanten machen Folie 3
![Page 4: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/4.jpg)
Was ist collectd?
• collectd sammelt Leistungsdaten von Rechnern• Leistungsdaten sind zum Beispiel:
CPU-AuslastungSpeichernutzungNetzwerkverkehr
• Daten werden erhoben, verarbeitet und gespeichert• Haufig: Darstellung als Graphen• → Performance-Analyse, Kapazitatsplanung• Nicht verwechseln mit Monitoring!• Homepage: http://collectd.org/
Wisse, was deine Elefanten machen Folie 4
![Page 5: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/5.jpg)
Wichtige Eigenschaften
• Daemon• Freie Software (großtenteils GPLv2)• Portierbar (Linux, *BSD, Solaris, . . . )• Skalierbar (OpenWrt, . . . , Cluster / Cloud)• Effizient (Default-Auflosung: 10 Sekunden)• Modular (uber 100 Plugins in Version 5.0)
Wisse, was deine Elefanten machen Folie 5
![Page 6: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/6.jpg)
Wichtige Eigenschaften
• Daemon• Freie Software (großtenteils GPLv2)• Portierbar (Linux, *BSD, Solaris, . . . )• Skalierbar (OpenWrt, . . . , Cluster / Cloud)• Effizient (Default-Auflosung: 10 Sekunden)• Modular (uber 100 Plugins in Version 5.0)
Wisse, was deine Elefanten machen Folie 5
![Page 7: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/7.jpg)
10-Sekunden-Auflosung
Wisse, was deine Elefanten machen Folie 6
![Page 8: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/8.jpg)
Wichtige Eigenschaften
• Daemon• Freie Software (großtenteils GPLv2)• Portierbar (Linux, *BSD, Solaris, . . . )• Skalierbar (OpenWrt, . . . , Cluster / Cloud)• Effizient (Default-Auflosung: 10 Sekunden)• Modular (uber 100 Plugins in Version 5.0)
Wisse, was deine Elefanten machen Folie 7
![Page 9: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/9.jpg)
Wichtige Eigenschaften
• Daemon• Freie Software (großtenteils GPLv2)• Portierbar (Linux, *BSD, Solaris, . . . )• Skalierbar (OpenWrt, . . . , Cluster / Cloud)• Effizient (Default-Auflosung: 10 Sekunden)• Modular (uber 100 Plugins in Version 5.0)
Wisse, was deine Elefanten machen Folie 7
![Page 10: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/10.jpg)
Verfugbare Plugins (Auswahl)
apache amqp apcups ascent batterybind conntrack contextswitch cpu cpufreqcsv curl curl json dbi dfdisk dns email entropy execfilecount fscache GenericJMX gmond hddtempinterface ipmi iptables ipvs irqjava libvirt load logfile madwifimatch regex mbmon memcachec memcached memoryMonitorus multimeter mysql netapp netlinknetwork nfs nginx notify email ntpdnut olsrd onewire openvpn OpenVZoracle perl ping postgresql powerdnsprocesses protocols python routeros rrdcachedrrdtool sensors serial snmp swapsyslog table tail tape target scaletcpconns teamspeak2 ted thermal tokyotyrantunixsock uptime users uuid vmemvserver wireless write http xmms zfs arc
Wisse, was deine Elefanten machen Folie 8
![Page 11: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/11.jpg)
Technische Details
• Aktuelle Version ist 5.0 (Release: Marz 2011)• Pakete fur diverse Distributionen vorhanden
(Debian, RedHat, FreeBSD, OpenWrt, OpenSolaris [WIP], . . . )• Major-Version 4.x ist an einigen Stellen inkompatibel1
→ v5upgrade Target• Geschrieben in C• Versionsverwaltung mit Git
→ git://git.verplant.org/collectd.git
1http://collectd.org/wiki/index.php/V4_to_v5_migration_guideWisse, was deine Elefanten machen Folie 9
![Page 12: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/12.jpg)
Verwendung
• Daemon lauft auf jedem Client (Ausnahme: SNMP o.a.)• ublicherweise: ein oder mehrere zentrale Server, die Werte von
Clients empfangen (Push-Modell)• First steps: install; select plugins; start daemon;
enjoy ;-)
Wisse, was deine Elefanten machen Folie 10
![Page 13: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/13.jpg)
Darstellung: Collection 4 (C4)
• Grundidee: Daten uber, z. B., JSON zur Verfugung stellen• verschiedene Frontends davor moglich• effiziente Handhabung von vielen Datensatzen durch Caching• flexible Konfiguration von Graphen
Wisse, was deine Elefanten machen Folie 11
![Page 14: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/14.jpg)
Was ist collectd?
Plugin-UberblickCPU, Speicher, Netzwerk-I/ONetzwerk-PluginRRDtool-Plugin (Uberblick)Generische Plugins (Uberblick)Eigene Erweiterungen (Uberblick)
PostgreSQL Prozesse
Statistiken von PostreSQL abfragen
Performance-Daten in RDBMS speichern
Uber den Tellerrand Wisse, was deine Elefanten machen Folie 12
![Page 15: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/15.jpg)
Plugin-Uberblick
• Spezielle Lese-PluginsCPU, Speicher, Netzwerk-Schnittstellen
• Schreib- bzw. IO-PluginsNetzwerk-PluginRRDtool, RRDCacheD
• Generische PluginsSNMPtailPostgreSQL
Wisse, was deine Elefanten machen Folie 13
![Page 16: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/16.jpg)
CPU, Speicher, Netzwerk-I/O
Synopsis
LoadPlugin "cpu"LoadPlugin "memory"LoadPlugin "interface"
<Plugin interface>Interface loInterface sit0IgnoreSelected true
</Plugin>
Wisse, was deine Elefanten machen Folie 14
![Page 17: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/17.jpg)
CPU, Speicher, Netzwerk-I/O
Synopsis
LoadPlugin "cpu"LoadPlugin "memory"LoadPlugin "interface"
<Plugin interface>Interface loInterface sit0IgnoreSelected true
</Plugin>
Wisse, was deine Elefanten machen Folie 14
![Page 18: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/18.jpg)
CPU, Speicher, Netzwerk-I/O
Wisse, was deine Elefanten machen Folie 15
![Page 19: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/19.jpg)
CPU, Speicher, Netzwerk-I/O
Wisse, was deine Elefanten machen Folie 16
![Page 20: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/20.jpg)
CPU, Speicher, Netzwerk-I/O
Wisse, was deine Elefanten machen Folie 17
![Page 21: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/21.jpg)
Netzwerk-Plugin
Betriebsarten
• Daten versenden (”Client“)• Daten empfangen (”Server“)• Weiterleiten (”Proxy“)• Unicast (”Punkt-zu-Punkt“)• Multicast (”Punkt-zu-Gruppe“)• IPv4 und IPv6
Ein Daemon fur allesRolle des Daemon hangt von der Konfiguration ab.
Wisse, was deine Elefanten machen Folie 18
![Page 22: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/22.jpg)
Netzwerk-Plugin: Unicast
Wisse, was deine Elefanten machen Folie 19
![Page 23: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/23.jpg)
Netzwerk-Plugin: Multicast
Wisse, was deine Elefanten machen Folie 20
![Page 24: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/24.jpg)
Netzwerk-Plugin: Server/Client
Synopsis: Client
LoadPlugin "network"
<Plugin "network">Server "collectd0.musterfirma.de"Server "collectd1.musterfirma.de"Server "ff18::efc0:4a42"
</Plugin>
Wisse, was deine Elefanten machen Folie 21
![Page 25: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/25.jpg)
Netzwerk-Plugin: Server/Client
Synopsis: Server
LoadPlugin "network"
<Plugin "network">Listen "collectd0.musterfirma.de"Listen "ff18::efc0:4a42"
</Plugin>
Wisse, was deine Elefanten machen Folie 22
![Page 26: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/26.jpg)
Netzwerk-Plugin: Proxy
Wisse, was deine Elefanten machen Folie 23
![Page 27: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/27.jpg)
Netzwerk-Plugin: Proxy
Synopsis: Proxy
LoadPlugin "network"
<Plugin "network">Listen "collectgw.extern.musterfirma.de"Server "collectd1.intern.musterfirma.de"Forward true
</Plugin>
Wisse, was deine Elefanten machen Folie 24
![Page 28: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/28.jpg)
Netzwerk-Plugin
Authentifizierung / Verschlusselung
• (seit Version 4.7.0)• Authentifizierung via HMAC-SHA-256• Verschlusselung mit AES-256 (OFB)
Wisse, was deine Elefanten machen Folie 25
![Page 29: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/29.jpg)
Netzwerk-Plugin
Authentifizierung / VerschlusselungClient
Nichts Sign Encrypt
Server
Nichts akzeptiert akzeptiert nicht moglichAuthFile akzeptiert akzeptiert akzeptiert
Sign nicht akzeptiert akzeptiert akzeptiertEncrypt nicht akzeptiert nicht akzeptiert akzeptiert
Wisse, was deine Elefanten machen Folie 26
![Page 30: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/30.jpg)
RRDtool-Plugin (Uberblick)
• Schreibt Daten effizient in RRD-Dateien → Caching• Funktionalitat nun in RRDtool als RRD Caching Daemon
verfugbar
Synopsis
LoadPlugin "rrdtool"
<Plugin "rrdtool">DataDir "/var/lib/collectd/rrd"
</Plugin>
Wisse, was deine Elefanten machen Folie 27
![Page 31: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/31.jpg)
RRDtool-Plugin (Caching)
Konfiguration
<Plugin "rrdtool">DataDir "/var/lib/collectd/rrd"
CacheTimeout 3600 # 1 hourCacheFlush 86400 # 1 day
WritesPerSecond 30</Plugin>
• FLUSH ermoglicht dennoch die graphische Darstellung vonaktuellen Daten
Wisse, was deine Elefanten machen Folie 28
![Page 32: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/32.jpg)
Generische Plugins (Uberblick)
• Idee: Generische Ansatze, statt Speziallosungen• → Benutzerkonfiguration bestimmt das Verhalten• ⇒ Unterstutzung fur neue Gerate braucht i.d.R. keine neue
Version von collectd• Beispiele: SNMP, tail, curl, DBI, PostgreSQL
Wisse, was deine Elefanten machen Folie 29
![Page 33: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/33.jpg)
Eigene Erweiterungen (Uberblick)
• collectd API: C, Perl, Python, Java• Externe Programme mittels unixsock- oder exec-Plugin
Wisse, was deine Elefanten machen Folie 30
![Page 34: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/34.jpg)
Was ist collectd?
Plugin-Uberblick
PostgreSQL Prozesse
Statistiken von PostreSQL abfragen
Performance-Daten in RDBMS speichern
Uber den Tellerrand
Wisse, was deine Elefanten machen Folie 31
![Page 35: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/35.jpg)
PostgreSQL Prozesse
% ps ax | grep postgres20177 ? S 0:05 /usr/lib/postgresql/8.3/bin/postgres
-D /var/lib/postgresql/8.3/main-c config_file=/etc/postgresql/8.3/main/postgresql.conf
20183 ? Ss 0:09 postgres: writer process20184 ? Ss 0:05 postgres: wal writer process20185 ? Ss 0:04 postgres: autovacuum launcher process20186 ? Ss 0:13 postgres: stats collector process20312 ? Ss 2:04 postgres: collectd mail 127.0.0.1(33027) idle
• Behandlung einer Client-Verbindung:postgres: user database host activity
Wisse, was deine Elefanten machen Folie 32
![Page 36: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/36.jpg)
Das processes Plugin von collectd
• Das processes Plugin kann div. Informationen uber einzelneProzesse (oder Gruppen)
RSS- und VM-GroßeUser- und System-ZeitAnzahl Page-FaultsSchatzwerte zum I/O
• Auswahl entweder an Hand des Prozessnamens oder Regex aufKommandozeile
Wisse, was deine Elefanten machen Folie 33
![Page 37: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/37.jpg)
Das processes Plugin: Konfiguration
collectd.conf
<Plugin "processes">ProcessMatch pg_writer "postgres:.writer.process"ProcessMatch pg_wal_writer "postgres:.wal.writer.process"ProcessMatch pg_autovacuum "postgres:.*autovacuum"ProcessMatch pg_stats_collector \
"postgres:.stats.collector.process"# Datenbankverbindungen durch Benutzer ’user’ProcessMatch pg_user_mail "postgres:.user"# Datenbankverbindungen auf DB ’mail’ProcessMatch pg_db_mail "postgres:.[A-Za-z0-9]+.mail"
</Plugin>
(vor 5.0.1 durften Regexen kein Whitespace enthalten)
Wisse, was deine Elefanten machen Folie 34
![Page 38: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/38.jpg)
![Page 39: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/39.jpg)
Was ist collectd?
Plugin-Uberblick
PostgreSQL Prozesse
Statistiken von PostreSQL abfragenDer PostgreSQL Statistik-SammlerDas postgresql Plugin von collectd
Performance-Daten in RDBMS speichern
Uber den Tellerrand
Wisse, was deine Elefanten machen Folie 36
![Page 40: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/40.jpg)
Der PostgreSQL Statistik-Sammler
postgresql.conf
# Aktuell ausgefuhrtes Kommandotrack_activities = on# Tabellen- und Index-Zugrifftrack_counts = on# Benutzerdefinierte Funktionentrack_functions = none # none, pl, all
Ablegen der Statistiken, z.B. auf Flash-Speicher:
stats_temp_directory = ’/mnt/flash/pg_stat_tmp’
Wisse, was deine Elefanten machen Folie 37
![Page 41: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/41.jpg)
Sammeln der Statistiken
• Server Prozesse ubermitteln Statistiken vor idle• Reports werden vom Sammler minimal alle
PGSTAT STAT INTERVAL Millisekunden erstellt• Wahrend einer Transaktion wird ein Snapshot des Reports
verwendet→ siehe pg stat clear snapshot()
Wisse, was deine Elefanten machen Folie 38
![Page 42: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/42.jpg)
Abfrage der Statistiken
• Einige vordefinierte Viewspg stat bgwriterpg stat databasepg stat all indexespg statio all tablesu.v.m. (Tabelle 27.1 in Doku)
• alternativ: Funktionen zur Abfrage der einzelnen Werte
Wisse, was deine Elefanten machen Folie 39
![Page 43: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/43.jpg)
Das postgresql Plugin von collectd
• Generisches Plugin, welches beliebige (numerische) Werte uberSQL abfragen kann
• Standardmaßig werden diverse Werte vom Statistik-Sammlerabgefragt
• Konfiguration besteht aus zwei Teilen:SQL-Queries mit Spezifikation zur Interpretation der WerteDatenbankverbindungen
Wisse, was deine Elefanten machen Folie 40
![Page 44: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/44.jpg)
Einschub: Namensschema von collectd
• jeder Datensatz hat einen eindeutigen IdentifierHostnamePlugin NamePlugin Instanz (optional)TypTyp Instanz (optional)
• hostname/plugin[-instanz]/typ[-instanz]• Der Typ definiert, wie ein Datum interpretiert werden soll
(angelehnt an RRDtools Datasource-Typen)• Typen mussen vordefiniert sein (types.db(5))
• Beispiel: server1.bsp.de/cpu-0/cpu-idle
Wisse, was deine Elefanten machen Folie 41
![Page 45: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/45.jpg)
Das postgresql Plugin: Query-Definition
collectd.conf
<Plugin postgresql><Query disk_usage>
Statement "SELECT pg_database_size($1) AS size;"Param database
<Result>Type pg_db_sizeValuesFrom "size"
</Result></Query>
</Plugin>
Wisse, was deine Elefanten machen Folie 42
![Page 46: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/46.jpg)
Das postgresql Plugin: DB-Definition
collectd.conf
<Plugin postgresql><Database mail>
Host "db.bsp.de"User "user"Password "geheim"Query disk_usageQuery disk_io
</Database></Plugin>
Wisse, was deine Elefanten machen Folie 43
![Page 47: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/47.jpg)
Was ist collectd?
Plugin-Uberblick
PostgreSQL Prozesse
Statistiken von PostreSQL abfragen
Performance-Daten in RDBMS speichern
Uber den Tellerrand
Wisse, was deine Elefanten machen Folie 44
![Page 48: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/48.jpg)
Performance-Daten in RDBMS speichern
• Traditionell: Speichern in RRDtool (konstanter Speicherverbrauch,Konsolidierung, schlechte Skalierbarkeit)
• Speicherung in RDBMS ermoglicht komplexe Auswertung undbessere Skalierung
• Probleme:Struktur der Datenbank (Komplexitat vs. unnotige Redundanz vs.Performance)Behandlung von alten Daten (Partitionierung?)
Wisse, was deine Elefanten machen Folie 45
![Page 49: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/49.jpg)
Was ist collectd?
Plugin-Uberblick
PostgreSQL Prozesse
Statistiken von PostreSQL abfragen
Performance-Daten in RDBMS speichern
Uber den Tellerrand
Wisse, was deine Elefanten machen Folie 46
![Page 50: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/50.jpg)
Uber den Tellerrand: Interaktion
• collectd-nagiosFragt Daten via unixsock-Plugin ab und erzeugt Nagios-kompatibleAusgabe
• exec-nagios.pxPerl-Skript welches Nagios-Plugins ausfuhrt (→ exec-Plugin)
• exec-munin.pxPerl-Skript welches Munin-Plugins ausfuhrt (→ exec-Plugin)
• gmond-PluginEmpfangt und verarbeitet Ganglia Multicast-Pakete
Wisse, was deine Elefanten machen Folie 47
![Page 51: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/51.jpg)
Wisse, was deine Elefanten machen
Vielen Dank fur die Aufmerksamkeit!
Gibt es Fragen?
https://www.postgresql.eu/events/feedback/pgconfde2011/
Wisse, was deine Elefanten machen Folie 48
![Page 52: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/52.jpg)
Wisse, was deine Elefanten machen
Kontakt:Sebastian ”tokkee“ Harlteamix GmbH, Nurnberg
<[email protected]> — irc.freenode.net/#collectd — http://identi.ca/collectd
Artikel zum Thema collectd:http://linuxtechnicalreview.de/Vorschau/(show)/Themen/
Monitoring/Performance-Analyse-mit-Collectd
Wisse, was deine Elefanten machen Folie 49
![Page 53: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/53.jpg)
Optional
Wisse, was deine Elefanten machen Folie 50
![Page 54: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/54.jpg)
SNMP-Plugin
Allgemeines
• Fragt Netzwerk-Zubehor via SNMP ab• Generisch: Nicht fur ein gestimmtes Gerat geschrieben• Mehrere Gerate werden parallel abgefragt
Konfiguration
• ”Data“-Blocke• ”Host“-Blocke
Wisse, was deine Elefanten machen Folie 50
![Page 55: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/55.jpg)
SNMP-Plugin
Synopsis: Data-Block
<Plugin "snmp"><Data "ifmib_if_octets64">
Type "if_octets"Table trueInstance "IF-MIB::ifName"Values "IF-MIB::ifHCInOctets" \
"IF-MIB::ifHCOutOctets"</Data>
</Plugin>
Wisse, was deine Elefanten machen Folie 51
![Page 56: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/56.jpg)
SNMP-Plugin
Synopsis: Host-Block
<Plugin "snmp"><Host "switch0.intern.musterfirma.de">
Address "10.0.42.2"Version 1Community "public"Collect "ifmib_if_octets64"Interval 60
</Host></Plugin>
Wisse, was deine Elefanten machen Folie 52
![Page 57: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/57.jpg)
SNMP-Plugin: Users
Wisse, was deine Elefanten machen Folie 53
![Page 58: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/58.jpg)
SNMP-Plugin: USV-Last
Wisse, was deine Elefanten machen Folie 54
![Page 59: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/59.jpg)
SNMP-Plugin: Cache-Alter
Wisse, was deine Elefanten machen Folie 55
![Page 60: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/60.jpg)
tail-Plugin
Allgemeines
• Verfolgt Log-Dateien• Extrahiert Werte oder zahlt Ereignisse• Selektion der Zeilen / Werte mit regularen Ausdrucken• Verwendbar fur MTAs, Web-Server, . . .
Wisse, was deine Elefanten machen Folie 56
![Page 61: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/61.jpg)
tail-Plugin
Konfiguration
<Plugin "tail"><File "/var/log/exim4/mainlog">
Instance "exim"<Match>
Regex "S=([1-9][0-9]*)"DSType "CounterAdd"Type "ipt_bytes"Instance "total"
</Match></File>
</Plugin>
Wisse, was deine Elefanten machen Folie 57
![Page 62: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/62.jpg)
tail-Plugin: Verbindungen von Exim
Wisse, was deine Elefanten machen Folie 58
![Page 63: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/63.jpg)
tail-Plugin: SSH Brute-Force-Attacke
Wisse, was deine Elefanten machen Folie 59
![Page 64: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/64.jpg)
RRDCacheD-Plugin
Allgemeines
• Update-Prinzip des RRDtool-Plugins• Eigenstandiger Daemon• Integration in RRDtool 1.4• Weitere Funktionen, z. B. Journaling• Vorteil: Neustart von collectd ohne Cache-Verlust
Wisse, was deine Elefanten machen Folie 60
![Page 65: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/65.jpg)
RRDCacheD-PluginSu
chba
um
Upd
ate-
Que
ue
Flus
h-Q
ueue
Upd
ate-
Thr
ead
Dat
eisy
stem
Graphik c© Florian ”octo“ Forster
Wisse, was deine Elefanten machen Folie 61
![Page 66: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/66.jpg)
RRDCacheD-PluginSu
chba
um
Upd
ate-
Que
ue
Flus
h-Q
ueue
Upd
ate-
Thr
ead
Dat
eisy
stem
Graphik c© Florian ”octo“ Forster
Wisse, was deine Elefanten machen Folie 61
![Page 67: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/67.jpg)
RRDCacheD-PluginSu
chba
um
Upd
ate-
Que
ue
Flus
h-Q
ueue
Upd
ate-
Thr
ead
Dat
eisy
stem
Graphik c© Florian ”octo“ Forster
Wisse, was deine Elefanten machen Folie 61
![Page 68: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/68.jpg)
RRDCacheD-PluginSu
chba
um
Upd
ate-
Que
ue
Flus
h-Q
ueue
Upd
ate-
Thr
ead
Dat
eisy
stem
Graphik c© Florian ”octo“ Forster
Wisse, was deine Elefanten machen Folie 61
![Page 69: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/69.jpg)
Perl-Plugin
Allgemeines
• Integriert einen Perl-Interpreter(vergleichbar zu Apaches mod perl)
• Instanziierung und Syntax-Analyse nur einmal• Exportiert die API
(→ nicht nur Lese-Plugins moglich)
Wisse, was deine Elefanten machen Folie 62
![Page 70: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/70.jpg)
Perl-Plugin: Beispiel
package Collectd::Plugin::Magic;use Collectd qw( :all );sub magic_read{
my $vl = { plugin => ’magic’,values => [Magic->getCurrentLevel ()] };
plugin_dispatch_values (’magic_level’, $vl);}plugin_register (TYPE_READ, ’magic’, ’magic_read’);
Wisse, was deine Elefanten machen Folie 63
![Page 71: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/71.jpg)
unixsock-Plugin
Allgemeines
• Offnet einen UNIX-Domain-Socket• Kennt mehrere Befehle
(z. B. PUTVAL, FLUSH, LISTVAL)• Interaktion mit externen Programmen moglich• collectdctl (ab Version 5.0, eta: dieses Jahr ;-))• cussh.pl: ”collectd UNIX socket shell“
Wisse, was deine Elefanten machen Folie 64
![Page 72: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/72.jpg)
unixsock-Plugin: Beispiel
-> | PUTVAL "testhost/magic/magic_level" \interval=10 1179574444:42
<- | 0 Success
Wisse, was deine Elefanten machen Folie 65
![Page 73: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/73.jpg)
exec-Plugin
Allgemeines
• Fuhrt Programme aus• Liest von deren Standard-Ausgabe• Konnen uber langere Perioden laufen
(vgl. init)
Wisse, was deine Elefanten machen Folie 66
![Page 74: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/74.jpg)
exec-Plugin: Beispiel
#!/bin/shINTVL=${COLLECTD_INTERVAL:-10}CHOST="${COLLECTD_HOSTNAME:-localhost}"IDENT="$CHOST/magic/magic_level"while sleep $INTVLdo
VALUE=‘magic --level‘echo "PUTVAL \"$IDENT\" interval=$INTVL N:$VALUE"
done
Wisse, was deine Elefanten machen Folie 67
![Page 75: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/75.jpg)
Java-Plugin
Allgemeines
• Integriert eine ”Java Virtual Maschine“ (JVM)• Exportiert die API
(→ nicht nur Lese-Plugins moglich)• Prinzipielle Ahnlichkeit zum Perl-Plugin
Wisse, was deine Elefanten machen Folie 68
![Page 76: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/76.jpg)
Java-Plugin: Beispiel
import org.collectd.api.Collectd;import org.collectd.api.CollectdReadInterface;public class MagicPlugin
implements CollectdReadInterface{
public int read (); /* Callback-Funktion */public MagicPlugin (); /* Konstruktor */
}
Wisse, was deine Elefanten machen Folie 69
![Page 77: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/77.jpg)
Java-Plugin: Beispiel
public int read (){
ValueList vl = new ValueList ();vl.setHost ("testhost");vl.setPlugin ("magic");vl.setType ("magic_level");vl.addValue (Magic.getCurrentLevel ());return (Collectd.dispatchValues (vl));
}
Wisse, was deine Elefanten machen Folie 70
![Page 78: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/78.jpg)
Java-Plugin: Beispiel
public MagicPlugin (){
/* Callback-Funktion anmelden */Collectd.registerRead ("MagicPlugin", this);
}
Wisse, was deine Elefanten machen Folie 71
![Page 79: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/79.jpg)
Erweiterungen: Zusammenfassung
• collectd API nutzenC, Perl, Python und Java moglich
• Externe Programme erweiternunixsock-Plugin ermoglicht Kommunikation
• Eigenes Programm / Skript schreiben→ exec-Plugin
Wisse, was deine Elefanten machen Folie 72
![Page 80: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/80.jpg)
Erweiterungen: Zusammenfassung
• collectd API nutzenC, Perl, Python und Java moglich
• Externe Programme erweiternunixsock-Plugin ermoglicht Kommunikation
• Eigenes Programm / Skript schreiben→ exec-Plugin
Wisse, was deine Elefanten machen Folie 72
![Page 81: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/81.jpg)
Erweiterungen: Zusammenfassung
• collectd API nutzenC, Perl, Python und Java moglich
• Externe Programme erweiternunixsock-Plugin ermoglicht Kommunikation
• Eigenes Programm / Skript schreiben→ exec-Plugin
Wisse, was deine Elefanten machen Folie 72
![Page 82: PostgreSQL Performance-Analyse mit collectd Sebastian tokkee“ …pgsql.pdf · 2011-11-11 · Plugin-Uberblick¨ CPU, Speicher, Netzwerk-I/O Netzwerk-Plugin RRDtool-Plugin (Uberblick)¨](https://reader031.vdocuments.pub/reader031/viewer/2022011822/5ecdaccae6a6dc1a70663fea/html5/thumbnails/82.jpg)
Uber den Tellerrand: Zubehor
• snmp-probe-host.pxErzeugt semi-automatisch <Host />-Blocke fur das SNMP-Plugin
• jcollectdJava-Implementierung des Netzwerk-Protokolls (→ JMX)
• kcollectdKDE-Programm zur Near-Realtime-Anzeige von Graphen
• Perl, Ruby, Python Module und C-Bibliothek fur dieKommunikation mit dem unixsock-Plugin verfugbar
Wisse, was deine Elefanten machen Folie 73