この記事は、モニタリングに関するテキストの続きです。ここでは、観察されたサイトの状態を評価する際のログの役割について話し、ログが何を提供できるかを確認し、「ログをメトリックから分離することは可能ですか?」という質問を提起することを提案します。
その過程で、前回の出版物で表現されたこれらのいくつかに戻りますので、最初にそれをよく理解することをお勧めします。
それでは、ロギングについて話しましょう。
ちなみに、何が正しいのでしょうか:ロギングまたはロギング?個人的には、私は2番目のオプションに傾倒しています。なぜなら、単に怠け者だからですが、ほとんどの人が最初のオプションを好むことに気づきました。あなたも?
デブリーフィング
新しい記事を始める前に、簡単に前の記事に戻りたいと思います。コメントでいくつかのトピックが提起されましたが、私の意見では、いくつかの提案をする必要があります。
すべてを収集しますか、それとも最小限の量を収集しますか?
ここでの私の立場は、オブジェクトが提供できるすべてのメトリックを収集する必要があるということです。@BugMが指摘したように、彼らはデータベースにあり、食べ物を求めたり、誰にも迷惑をかけたりしません。しかし、それらを持っていないのに、特に先月などに突然必要になった場合は、何もできません。
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
– , ( , )
, – , , ,
:
, :
;
, ; , ,
, ?
, – , , . .
, , , – .
おそらく後で別の記事が表示され、すでに特定のテクノロジーとプラクティスの使用例が示されています。ここでは、前に説明したものを実装し、それがどのように機能するかを確認します。