Eventhandler: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(Hinweis: auslaufendes Feature - neue Implementierung geplant)
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Textkasten|rot||Auf Basis des bestehenden Event-Handlers
sollten keine neuen geschäftskritischen Lösungen mehr aufgebaut werden. Da ein neuer Event-handler in Planung ist, der jedoch ohne Rücksicht auf Kompatibilität zum alten nur implementiert werden kann.}}
== ~/etc/event-handler ==
== ~/etc/event-handler ==


Diese Datei ermöglicht es bei bestimmten Ereignissen, wie zum Beispiel nach dem nächtlichen Verteilen der Apache-Logfiles oder der Aktivierung des Pakets nach einem Umzug, automatisch eigene Programme, z. B. das Logfile-Auswertungsprogramm [[Analog]] oder einen eigenen Daemon starten zu lassen.  
Diese Datei gilt nur für das Paket und User etc Verzeichnis, nicht im doms/example.com/etc . Sie ermöglicht es bei bestimmten Ereignissen, wie zum Beispiel nach dem nächtlichen Verteilen der Apache-Logfiles oder der Aktivierung des Pakets nach einem Umzug, automatisch eigene Programme, z. B. das Logfile-Auswertungsprogramm [[Analog installieren|Analog]] oder einen eigenen [[Daemon]] starten zu lassen.  


Der Aufruf der einzelnen Kommandos erfolgt mit einer an die Last angepassten Wartezeit, damit das System nicht mit zu vielen Jobs gleichzeitig belastet wird.  
Der Aufruf der einzelnen Kommandos erfolgt mit einer an die Last angepassten Wartezeit, damit das System nicht mit zu vielen Jobs gleichzeitig belastet wird.  
Zeile 10: Zeile 13:
# Nach dem Verteilen der Apache-Logfiles wird analog gestartet:
# Nach dem Verteilen der Apache-Logfiles wird analog gestartet:
@weblogsplit  /usr/bin/analog +g~/doms/example.net/etc/analog.cfg
@weblogsplit  /usr/bin/analog +g~/doms/example.net/etc/analog.cfg
# Nach dem Aktivieren des Pakets bzw. einem Neustart des Servers
# wird eine Informations-E-Mail geschickt:
@activate    echo 'xyz00 wurde aktiviert!' | mail email@example.net
</nowiki></pre>
</nowiki></pre>


Zuerst steht also der durch ein '''@''' eingeleitete Name des Ereignisses (s.u.), dann kommt - durch Leerzeichen und/oder Tabulatoren abgetrennt - das auszuführende Kommando. Kommentarzeilen werden am Zeilenanfang durch ein oder mehrere '''#''' gekennzeichnet.  
Zuerst steht also der durch ein '''@''' eingeleitete Name des Ereignisses (s.u.), dann kommt - durch Leerzeichen und/oder Tabulatoren abgetrennt - das auszuführende Kommando. Kommentarzeilen werden am Zeilenanfang durch ein oder mehrere '''#''' gekennzeichnet.  


Die Kommandos werden von einer [[bash]] (1) mit den Rechten des jeweiligen Users ausgeführt. Wenn bei einem Ereignis Parameter übergeben werden (s.u.), dann geschieht dies in Form von Enviroment-Variablen, die mit '''HS_''' beginnen, d.h. man könnte z.B. per
Die Kommandos werden von einer [[bash]] (1) mit den Rechten des jeweiligen Users ausgeführt. Wenn bei einem Ereignis Parameter übergeben werden (s.u.), dann geschieht dies in Form von Enviroment-Variablen, die mit '''HS_''' beginnen.
 
== Die folgenden Ereignisse gibt es derzeit: ==


<pre><nowiki>
@domstatus echo "$HS_DOM hat nun den Status $HS_STATUS." >>logfile
</nowiki></pre>


die Statusänderungen aller seiner Domains in der Datei '''logfile''' in seinem Homeverzeichnis mitloggen.
{|class="wikitable"
|-
!Name!!Parameter!!Beschreibung
|-
|@weblogsplit || ||Wird nach dem nächtlichen Split der Web-Logfiles ausgeführt
|-
|@ftplogsplit || || Wird nach dem nächtlichen Split der FTP-Logfiles ausgeführt
|-
|@maillogsplit || || Wird nach dem nächtlichen Split der Mail-Logfiles ausgeführt
|-
|@pacquotawarning || || Wird täglich ausgeführt, wenn die Paketquota überschritten wurde
|-
| ||HS_QUOTA_BLOCK_USED ||genutzter Speicherplatz
|-
| ||HS_QUOTA_BLOCK_SOFT ||gebuchter Speicherplatz
|-
| ||HS_QUOTA_BLOCK_HARD ||verfügbarer Speicherplatz für kurzzeitige Überziehung
|-
| ||HS_QUOTA_BLOCK_PERC ||Nutzung in Prozent
|-
| ||HS_QUOTA_BLOCK_GRACE-LEFT ||verbleibende Frist für kurzzeitige Überziehung
|-
|@pactrafficwarning || || Wird ausgeführt, wenn der Traffic am Vortag auf den Monat hochgerechnet zu einer Überschreitung des
Inklusivtraffics führen würde
|-
| ||HS_TRAFFIC_INCLUSIVE_MONTHLY ||gebuchter Traffic pro Monat
|-
| ||HS_TRAFFIC_INCLUSIVE_DAILY ||gebuchter Traffic pro Tag (rechnerisch zur Orientierung)
|-
| ||HS_TRAFFIC_YESTERDAY_TOTAL ||gesamter Traffic am Vortag
|-
| ||HS_TRAFFIC_YESTERDAY_HTTP ||HTTP-Traffic am Vortag
|-
| ||HS_TRAFFIC_YESTERDAY_FTP ||FTP-Traffic am Vortag
|-
| ||HS_TRAFFIC_YESTERDAY_MAIL ||Mail-Traffic am Vortag
|-
| ||HS_TRAFFIC_THISMONTH_DAYS ||Tage im Monat bisher
|-
| ||HS_TRAFFIC_THISMONTH_TOTAL ||Traffic im Monat bisher
|-
| ||HS_TRAFFIC_THISMONTH_ESTIMATED ||hochgerechneter Traffic im Monat
|-
|@paclock || || Sperrung des Pakets
|-
| ||HS_REASON ||ggf. Grund der Sperrung
|-
|@pacunlock || || Entsperrung des Pakets
|-
| ||HS_REASON ||ggf. Grund der Entsperrung
|}


{{Textkasten|gelb||Achtung: Dieses Event dient nur als Beispiel und ist (bislang) nicht implementiert.}}
----
[[Kategorie:HSDoku]]
[[Kategorie:Pakete bei HS]]
[[Kategorie:Glossar]]

Aktuelle Version vom 23. Januar 2012, 07:41 Uhr

Auf Basis des bestehenden Event-Handlers sollten keine neuen geschäftskritischen Lösungen mehr aufgebaut werden. Da ein neuer Event-handler in Planung ist, der jedoch ohne Rücksicht auf Kompatibilität zum alten nur implementiert werden kann.


~/etc/event-handler

Diese Datei gilt nur für das Paket und User etc Verzeichnis, nicht im doms/example.com/etc . Sie ermöglicht es bei bestimmten Ereignissen, wie zum Beispiel nach dem nächtlichen Verteilen der Apache-Logfiles oder der Aktivierung des Pakets nach einem Umzug, automatisch eigene Programme, z. B. das Logfile-Auswertungsprogramm Analog oder einen eigenen Daemon starten zu lassen.

Der Aufruf der einzelnen Kommandos erfolgt mit einer an die Last angepassten Wartezeit, damit das System nicht mit zu vielen Jobs gleichzeitig belastet wird.

Die auszuführenden Kommandos werden in einem crontab-ähnlichen Format eingetragen. Beispiel:

# Nach dem Verteilen der Apache-Logfiles wird analog gestartet:
@weblogsplit  /usr/bin/analog +g~/doms/example.net/etc/analog.cfg

Zuerst steht also der durch ein @ eingeleitete Name des Ereignisses (s.u.), dann kommt - durch Leerzeichen und/oder Tabulatoren abgetrennt - das auszuführende Kommando. Kommentarzeilen werden am Zeilenanfang durch ein oder mehrere # gekennzeichnet.

Die Kommandos werden von einer bash (1) mit den Rechten des jeweiligen Users ausgeführt. Wenn bei einem Ereignis Parameter übergeben werden (s.u.), dann geschieht dies in Form von Enviroment-Variablen, die mit HS_ beginnen.

Die folgenden Ereignisse gibt es derzeit:

Name Parameter Beschreibung
@weblogsplit Wird nach dem nächtlichen Split der Web-Logfiles ausgeführt
@ftplogsplit Wird nach dem nächtlichen Split der FTP-Logfiles ausgeführt
@maillogsplit Wird nach dem nächtlichen Split der Mail-Logfiles ausgeführt
@pacquotawarning Wird täglich ausgeführt, wenn die Paketquota überschritten wurde
HS_QUOTA_BLOCK_USED genutzter Speicherplatz
HS_QUOTA_BLOCK_SOFT gebuchter Speicherplatz
HS_QUOTA_BLOCK_HARD verfügbarer Speicherplatz für kurzzeitige Überziehung
HS_QUOTA_BLOCK_PERC Nutzung in Prozent
HS_QUOTA_BLOCK_GRACE-LEFT verbleibende Frist für kurzzeitige Überziehung
@pactrafficwarning Wird ausgeführt, wenn der Traffic am Vortag auf den Monat hochgerechnet zu einer Überschreitung des

Inklusivtraffics führen würde

HS_TRAFFIC_INCLUSIVE_MONTHLY gebuchter Traffic pro Monat
HS_TRAFFIC_INCLUSIVE_DAILY gebuchter Traffic pro Tag (rechnerisch zur Orientierung)
HS_TRAFFIC_YESTERDAY_TOTAL gesamter Traffic am Vortag
HS_TRAFFIC_YESTERDAY_HTTP HTTP-Traffic am Vortag
HS_TRAFFIC_YESTERDAY_FTP FTP-Traffic am Vortag
HS_TRAFFIC_YESTERDAY_MAIL Mail-Traffic am Vortag
HS_TRAFFIC_THISMONTH_DAYS Tage im Monat bisher
HS_TRAFFIC_THISMONTH_TOTAL Traffic im Monat bisher
HS_TRAFFIC_THISMONTH_ESTIMATED hochgerechneter Traffic im Monat
@paclock Sperrung des Pakets
HS_REASON ggf. Grund der Sperrung
@pacunlock Entsperrung des Pakets
HS_REASON ggf. Grund der Entsperrung