#mongodb #logging
#mongodb #ведение журнала
Вопрос:
Есть ли способ настроить систему ведения журнала на печать уровня и типа сообщения, чтобы легко понять, когда возникает проблема с mongo?
Я видел, что иногда он печатает информацию, заслуживающую внимания, но которая не помечена, чтобы ее было легко распознать, например: предупреждение, ошибка, информация и т.д.
2019-03-18T14:57:06.683 0100 I REPL_HB [replexec-0] Error in heartbeat (requestId: 3) to 10.100.xxx.xxx:27117, response status: NetworkInterfaceExceededTimeLimit: Couldn't get a connection within the time limit
2019-03-18T14:57:12.683 0100 I ASIO [Replication] Connecting to 10.100.60.138:27117
2019-03-18T14:57:14.852 0100 I NETWORK [listener] connection accepted from 10.100.xxx.xxx:53844 #15 (11 connections now open)
2019-03-18T14:57:14.852 0100 I NETWORK [conn15] received client metadata from 10.100.xxx.xxx:53844 conn15: { driver: { name: "MongoDB Internal Client", version: "4.0.4" }, os: { type: "Linux", name: "Ubuntu", architecture: "x86_64", version: "16.04" } }
Комментарии:
1. по умолчанию в журналах указано, что I (информация) обозначает уровень серьезности, остальные — F (фатальный), E (ошибка), W (предупреждение), D (отладка)
2. Так просто? Спасибо. Но это все «Информация». Как вы видите ниже, некоторые сообщения на самом деле являются ошибками или, по крайней мере, предупреждениями
3. это то, чего вы хотите? если да, то я должен изменить свой комментарий на answers (ответы)
4. если ваши журналы содержат только «Info», это означает, что mongodb рассматривает это только как info. если вам нужны более подробные журналы, вы могли бы изменить метод детализации или использовать docs.mongodb.com/manual/reference/log-messages/#client-data
5. Я ожидал, что некоторые из них будут, по крайней мере, предупреждениями: 2019-03-18T15:32:47.218 0100 I REPL [репликация-0] Мы слишком устарели, чтобы использовать x.x.x.x: 27117 в качестве источника синхронизации. Заносим этот источник синхронизации в черный список, потому что наша последняя полученная временная метка: Timestamp (1550252895, 1) предшествует их самой ранней временной метке: Timestamp (1552444297, 1) на 1 минуту до: 2019-03-18 T15:33:47.218 0100
Ответ №1:
общий формат строк журнала mongo таков
<timestamp> <severity> <component> [<context>] <message>
и что вы подразумеваете под: предупреждение, ошибка, информация и т.д.
они уже существуют по умолчанию (серьезность)
коды серьезности следующие
Level Description
F Fatal- The database error has caused the database to no longer be accessible
E Error - Database errors which will stop DB execution.
W Warning - Database messages which explains potentially harmful behaviour of DB.
I Informational - Messages just for information purpose like ‘A new connection accepted’.
D Debug - Mostly useful for debugging the DB errors
вы могли бы прочитать больше о расшифровке строки logs здесь или здесь