The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
[[File:Admin_Icinga.png]] | |||
Zur einfacheren Verwaltung der Chaosdorf-Server und weiterer Hosts existiert das Chaosdorf-Admin-Toolkit. | Zur einfacheren Verwaltung der Chaosdorf-Server (und in Zukunft weiterer | ||
Hosts) existiert das Chaosdorf-Admin-Toolkit. | |||
Dieses ist ein in [http://git-scm.com/ git] getracktes Debian-Paket, welches einfach auf jedem | Dieses ist ein in [http://git-scm.com/ git] getracktes Debian-Paket, welches | ||
einfach auf jedem Host installiert wird und somit einen Teil der nötigen | |||
zusätzlichen Konfigurationsdateien, Skripte etc. bereitstellt. Im Vergleich zu | |||
manuellem Rumgefrickel in /usr/local senkt dies den Administrationsaufwand | |||
deutlich. Vor allem muss man sich nicht mehr darum sorgen, dass diese Dateien | |||
auf den verschiedenen Hosts auf dem gleichen Stand sind. | |||
[ | [http://github.com/chaosdorf/chaosdorf-admin-toolkit Das Repository auf GitHub] | ||
= Inhalt = | |||
== Fabric == | == Fabric == | ||
Zum Ausrollen des neuesten Admin-Toolkit-Releases benutzen wir [http://fabfile.org/ fabric]. Die Software hat leider noch ein paar Macken, | Zum Ausrollen des neuesten Admin-Toolkit-Releases benutzen wir | ||
aber insgesamt ist | [http://fabfile.org/ fabric]. Die Software hat leider noch ein paar Macken, | ||
fischen und anzupassen. | aber insgesamt ist `fab configs deploy:2011.04.07` deutlich angenehmer zu | ||
tippen, als jedes mal die entsprechenden Befehle aus der Shell-History zu | |||
fischen und anzupassen. [[!gh_at fabfile.py]] | |||
== NSCA-Helfer == | |||
Unsere Nagios-Checks werden lokal per cron ausgefühl und dann per `nsca_send` | |||
auf unseren Monitoringserver geschoben. Damit wir nicht die gemeinsamen Checks | |||
doppelt definiert haben, sind sie zentral [[!gh_at_np passive_checks.cfg | |||
desc="konfiguriert"]] und werden dann von einem weiteren kleinen [[!gh_at_np | |||
submit_checks desc="Perlskript"]] ausgeführt. | |||
== Checkskripte == | |||
Diverse nicht in Debian enthaltene und ein paar eigene. Zum Beispiel: | |||
= | [[!gh_at_nl check_cert_expire desc="check\_cert\_expire"]] | ||
erinnert uns rechtzeitig, unsere SSL-Zertifikate zu erneuern. Deutlich | |||
komfortabler als Kalendereinträge. | |||
[[!gh_at_nl check_git_status desc="check\_git\_status"]] | |||
überprüft, ob in `/etc` (etckeeper) oder `/usr/local` (normales git-repo) | |||
irgendwelche Änderungen liegen, die noch nicht commitet wurden. Durch | |||
ausreichend hohe Check- und Retry-Intervalle in der Icinga-Config stört es auch | |||
nicht bei üblichen Adminarbeiten. | |||
Insbesondere die CGI- und Git-Wrapper von Ikiwiki sind eine beliebte | |||
Fehlerquelle (falsche Berechtigungen, nicht richtig geupdated etc.). | |||
[[!gh_at_nl check_ikiwiki desc="check_ikiwiki"]] | |||
liest daher die Configs unserer ikiwiki-Instanzen aus und überprüft, ob darin | |||
denn auch alles mit rechten Dingen zugeht. | |||
[[!gh_at_nr check_websites desc="check_websites"]] | |||
überprüft auf basis einer [[!gh_at_nr chaosdorf_websites.ini desc="Config"]], | |||
ob diverse URLs auf unseren diversen vhosts den richtigen Status liefern (401 | |||
Authorization required, 200 OK oder 301 Redirect auf spezifische andere URL). | |||
== Icinga-Goodies == | == Icinga-Goodies == | ||
Line 46: | Line 63: | ||
andererseits entstehen dadurch so schöne Situationen wie diese: | andererseits entstehen dadurch so schöne Situationen wie diese: | ||
20:59 <-- mete!~mete@shells.chaosdorf.de [Remote host closed the connection] | |||
20:59 <-- penma_!~penma@shells.chaosdorf.de [Read error: Connection reset by peer] | |||
20:59 <-- muzy!~muzy@shells.chaosdorf.de [Remote host closed the connection] | |||
[ ... und noch ein paar mehr ... ] | |||
21:09 icinga PROBLEM host alert: shells.chaosdorf.de is DOWN | |||
O'RLY? :-) | O'RLY? :-) | ||
(for the record: Es war eine geplante Downtime, die wir nur nicht im Icinga eingetragen hatten) | (for the record: Es war eine geplante Downtime, | ||
die wir nur nicht im Icinga eingetragen hatten) | |||
== checkrestart-Hook == | == checkrestart-Hook == | ||
Nach jedem Systemupdate wird über einen dpkg-Hook nachgeschaut, ob noch Daemons mit veralteten Libraryversionen laufen, so dass man diese ggf. neustarten kann. | Nach jedem Systemupdate wird über einen `dpkg`-Hook nachgeschaut, ob noch | ||
Daemons mit veralteten Libraryversionen laufen, so dass man diese ggf. | |||
neustarten kann. | |||
== Backups == | == Backups == | ||
Auch Backups werden über das Debianpaket geregelt. Sie werden von [ | Auch Backups werden über das Debianpaket geregelt. Sie werden von [[!gh_at | ||
backup/backup_external]] lokal generiert, komprimiert und verschlüsselt, | |||
anschließend per SFTP auf einen anderen Host übertragen. | |||
Geplant ist, sie in Zukunft mit einem speziellen Adminkey zu verschlüsseln und | |||
auf mehreren Hosts zu speichern. Das vorhandene Skript ist darauf bereits | |||
ausgelegt. | |||
== Dependencies == | == Dependencies == | ||
Line 71: | Line 95: | ||
Debianpakete, u.a. etckeeper, git, vim und zsh. | Debianpakete, u.a. etckeeper, git, vim und zsh. | ||
= Pläne = | |||
* Bei Installation automatisch den Nagios-User anlegen |