Para melhor visualização, recomendo resolução de no mínimo 1280 x 800 e navegador Mozilla Firefox


sexta-feira, 7 de fevereiro de 2020

MongoDB - Um pouco sobre log de alerta

Por Eduardo Legatti

Olá,

Como todo banco de dados, O MongoDB também tem um log de erros e de informações que são úteis para monitoração e resolução de problemas. O caminho desse log é configurável durante o startup do MongoDB e geralmente tem o nome de mongo.log.

Segue abaixo o padrão utilizado nas mensagens que aparecem no arquivo de log do MongoDB:

[timestamp] [severity] [component] [context] [message]

Em relação ao item severidade (severity) temos os seguintes grupos:




Em relação aos componentes (component) temos as seguintes classes:

  • Access:  access control
  • Command: database commands
  • Control: control activities
  • FTDC: diagnostic data collection activities
  • Geo:  parsing geospatial shapes
  • Index: indexing operations
  • Network: network activities
  • Query: queries
  • REPL: replica sets
  • REPL_HB: replica sets heartbeats
  • Rollback: rollback db operations
  • Sharding: sharding
  • Storage: storage activities
  • Journal: journal activities
  • Write: db write operations

Em relação ao contexto (context), geralmente ela vem acompanhada das informações de Thread e ID de conexão de uma sessão do MongoDB. Outras informações podem ser o valor [initandlisten]. Mensagens no log referente a qualquer nova conexão realizada na instância do MongoDB terá o valor de contexto como [initandlisten] e para as demais outras mensagens as mesmas serão acompanhadas da Thread ou ID de conexão conforme demonstrado a seguir.

2020-02-07T13:06:29.731+0000 [initandlisten] connection accepted from 127.0.0.1:27017 #1000 (13 connections now open)
2020-02-07T13:06:35.770+0000 [conn1000] end connection 127.0.0.1:27017 (12 connections now open)

Exemplo de uma mensagem completa de uma parte do log:
 
2020-02-07T13:28:32.450-0500 I NETWORK [initandlisten] waiting for connections on port 27017

Timestamp: 2020-02-07T13:28:32.450-0500
Severity: I
Component: NETWORK
Context: [initandlisten]
Message: waiting for connections on port 27017

Segue abaixo exemplos das mensagens mais comuns que podemos ser encontradas no arquivo  de log do MongoDB:

2020-02-07T13:19:46-0300 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
Resolução: Criar o usuário Admin no banco de dados Admin

2020-02-07T13:20:46-0300 E COMMAND  [initandlisten] ** ERROR: getMore command failed. Cursor not found
Resolução: Remover a opção de timeout do cursor db.collection.find(query).noCursorTimeout() ou aumente o limite de tempo db.adminCommand( { setParameter: 1, cursorTimeoutMillis: 600000 } )

2020-02-07T13:21:46-0300 E INDEX  [initandlisten] ** ERROR:E11000 duplicate key error index: db01.customer.$cod.id_1 dup key: { : null }
Resolução: Se refere a violação de uma unique constraint. Tente inserir um documento com um valor de chave diferente para o campo em questão

2020-02-07T13:22:46-0300 E NETWORK  [initandlisten] ** ERROR:Timed out connecting to localhost:27017.
Resolução: A latência entre o driver cliente e o servidor é muito grande. Aumente o valor da opção connectionTimeout na string de conexão.

2020-02-07T13:23:46-0300 E WRITE  [initandlisten] ** ERROR: A write operation resulted in an error. E11000 duplicate key error index: db01.customer.$_id_ dup key: { : 0 }
Resolução: Remova o documento _id duplicado ou insira um documento com outro _id

2020-02-07T13:24:46-0300 E NETWORK  [initandlisten] ** ERROR: No connection could be made because the target machine actively refused it 127.0.0.1:27017 at System.Net.Sockets.Socket.EndConnect
Resolução: O servidor não estpa rodando na porta padrão 27017 ou utilize uma porta diferente.

2020-02-07T13:25.505-0300 I INDEX    [conn4904867] add index fails, too many indexes for db01.customer key:{ cus_status: 1 }
Resolução: Cada collection no MongoDB pode ter no máximo 64 índices. Remova índices que não estão sendo utilizados.



Nenhum comentário:

Postagens populares