Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #4817

Re: [Python-de] Unittests vs Monitoring-Checks

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Marcel Hellkamp <marc@gsites.de>
Newsgroups de.comp.lang.python
Subject Re: [Python-de] Unittests vs Monitoring-Checks
Date Thu, 22 Jun 2017 18:00:12 +0200
Lines 41
Message-ID <mailman.214.1498147638.10125.python-de@python.org> (permalink)
References <03e3b2fd-9b09-ea7c-0c6c-b33f2ece2412@thomas-guettler.de> <87b8359c-24ae-8cef-96d1-51c9d5c1c297@gsites.de>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
X-Trace news.uni-berlin.de 3O7hJWFKmVPVxsdHTAwi7gJhSOqMKu4hYGOOiougQFOA==
Return-Path <marc@gsites.de>
X-Original-To python-de@python.org
Delivered-To python-de@mail.python.org
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1
In-Reply-To <03e3b2fd-9b09-ea7c-0c6c-b33f2ece2412@thomas-guettler.de>
Content-Language de-DE
X-BeenThere python-de@python.org
X-Mailman-Version 2.1.24
Precedence list
List-Id Die Deutsche Python Mailingliste <python-de.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-de>, <mailto:python-de-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-de/>
List-Post <mailto:python-de@python.org>
List-Help <mailto:python-de-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-de>, <mailto:python-de-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <87b8359c-24ae-8cef-96d1-51c9d5c1c297@gsites.de>
X-Mailman-Original-References <03e3b2fd-9b09-ea7c-0c6c-b33f2ece2412@thomas-guettler.de>
Xref csiph.com de.comp.lang.python:4817

Show key headers only | View raw


Hi Liste,

On 06/16/2017 08:59 AM, Thomas Güttler wrote:
> Jetzt gibt es aber noch einen anderen Bereich: Monitoring-Checks. Also
> Prüfungen,
> die nicht im Rahmen vom CI passieren, sondern Prüfungen, die für
> produktive Systeme sind.
> [...]
> Zweite Frage: Wie läuft das bei euch mit Checks: Entwicklung,
> Deployment, Ausführung, Weiterleitung, ...?

Im Idealfall ist jeder Dienst oder Service für die Interpretation seine
eigenen Metriken selbst verantwortlich und liefert nur einen
Ampel-Status ans Monitoring zurück: Also grün (alles gut), geb
(überlastet oder instabil) oder rot (fehlerhaft oder offline). Die
Health-Checks sind dabei Teil der zu entwickelnden Software und werden
ihrerseits durch Unit- oder Integrations-Tests abgedeckt. Ihre
Entwicklung unterscheidet sich nicht großartig von der anderer
Funktionalitäten.

Beispiel: Wenn ich den Auth-Service mit falschen LDAP Konfiguration
starte und keine Verbindung zustande kommt, sollte sein Health-Check rot
sein. Außerdem sollte eine bestimmte Warnung im Log auf tauchen. Das
kann ich lokal und unabhängig vom verwendeten Monitoring-Tool entwickeln
und automatisiert in einem einfach Integrations-Test prüfen.

Das Monitoring-Tool hat dann nur noch eine liste von Diensten, die es
prüfen soll und braucht keinerlei Detailwissen mehr. Auch Abhängigkeiten
zwischen Diensten müssen nicht mehr mühsam gepflegt werden, da jeder
Dienst seine eigenen Abhängigkeiten selbst prüft. Wenn was gelb oder rot
ist, schau ich ins (zentrale) log und sehe dort die Details.

Der Zustand der VMs (Auslastung, Ram-Verbrauch u.s.w.) ist völlig
unabhängig davon und wird mit Standard-Tools (nagios,
telegraf+influxdb+grafana) protokolliert. Diese Checks sind allerdings
relativ simpel und überall gleich, daher muss dort nicht viel entwickelt
oder getestet werden.

Frage beantwortet?

mfg, Marcel

Back to de.comp.lang.python | Previous | Next | Find similar


Thread

Re: [Python-de] Unittests vs Monitoring-Checks Marcel Hellkamp <marc@gsites.de> - 2017-06-22 18:00 +0200

csiph-web