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 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:
Postar um comentário