Dieser Artikel ist eine Fortsetzung des Textes zur Überwachung . Hier möchte ich mit Ihnen über die Rolle von Protokollen bei der Beurteilung des Status der beobachteten Site sprechen, sehen, was sie uns geben können, und auch die Frage aufwerfen: "Ist es möglich, Protokolle von Metriken zu trennen?"
Auf dem Weg werde ich auf einige der in der vorherigen Veröffentlichung geäußerten Thesen zurückkommen. Ich empfehle daher, dass Sie sich zuerst damit vertraut machen.
Sprechen wir also über die Protokollierung.
Was ist übrigens richtig: Protokollierung oder Protokollierung? Persönlich neige ich zur zweiten Option, einfach weil ich lade, aber ich merke, dass die meisten Leute die erste bevorzugen. Und Sie?
Nachbesprechung
Bevor ich einen neuen Artikel beginne, möchte ich kurz zum vorherigen zurückkehren. In den Kommentaren wurden mehrere Themen angesprochen, die meiner Meinung nach einige Vorschläge enthalten sollten.
Alles sammeln oder nur den Mindestbetrag?
Hier ist meine Position, dass Sie alle Metriken sammeln müssen, die das Objekt geben kann. Wie @BugM feststellte , sind sie in der Datenbank, sie fragen nicht nach Essen, sie stören niemanden. Aber wenn Sie sie nicht haben, aber Sie sie plötzlich brauchten, besonders zum Beispiel für den letzten Monat, dann kann nichts getan werden.
ML, . , , () . , , ( ML), .
, , ?
. , , :
… ,
, , . , . , .
@sizziff .
«» , 150%, , , :
@Dr_Wut :
— , — spf. , , . — .
, , - , – , .
- -
.
- – «» , (, …). – .
- - – , - . , – BI-.
.
.
, , , , , , , .
, , . :
– ; , :
2019-04-23 00:39:10,092 INFO DatabaseConnector – Connection estabilished
. – . /, , , .
– ; , . API. , , Nginx:
66.249.65.62 - - [06/Nov/2014:19:12:14 +0600] "GET /?q=%E0%A6%A6%E0%A7%8B%E0%A7%9F%E0%A6%BE HTTP/1.1" 200 4356 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
– . , .
– , .
: , , , , – , , , , . , , , , , .
, « ?».
– , , .
– , database_error_count. , , - , , ( ) . :
2019-04-27 00:39:10,092 ERROR DatabaseConnector – Error connecting to database MSSQLDB – connection refused on port 1433
– .
, . , , «» , , , , , , .
, . -, , , , … !
– HTTP- , , , , , , :
, , , . Observability – .
? ? ? ? , .
:
(99% - API - - , - )
(- API)
( )
. .
, HTTP – .
. :
DMZ (trace ID) ; !
, , -, , -,
, trace ID , – .
, :
– , :
;
, – Pull Push.
Pull – ( , , ), , //- . – ; – , .
Push – / / . , , .
, , ( , ), .
– plain text, jsonl, logsft, . – , .
– , .
:
@timestamp<time>:
application<string>: , ;
host<string>: ,
log_type<string>: ; application|access|.... ( application )
trace_id<string>: ( )
.
, :
message<string>:
generic_message<string>:
level<string>:
level_value<int>:
logger_name<string>: , ( )
thread_name<string>: , ( )
stack_trace<string>: ; - ( )
:
status_code<int>:
elapsed_time<int>: ,
requested_resource<string>:
method<string>:
.
, .
:
– NoSQL , , . , , –
– , - , . , ,
, , «EMERGENCY», , , , , . , «FATAL» - .
, «generic_message». .
– ( , ).
– , . :
:
Error on AMQP connection <0.12956.79> (127.0.0.1:52879 -> 127.0.0.1:5672, state: starting):
, :
Error on AMQP connection <{connection_id}> ({remote_host} -> {destination_host}, state: {connection_state}):
.
? :
; , , . ,
; «session_id»
, ( , ), ( )
. .
, . Elasticsearch, , , Loki . , - https://habr.com/ru/company/badoo/blog/507718/.
, , .
:
, ( , ).
:
- , ERROR
– , ( , )
, – , , ,
:
, :
;
, ; , ,
, ?
, – , , . .
, , , – .
Vielleicht erscheint später ein weiterer Artikel, der bereits Beispiele für die Verwendung bestimmter Technologien und Praktiken enthält, in denen wir versuchen werden, das zuvor Beschriebene umzusetzen und zu sehen, wie es funktioniert.