Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

405
Visualizações
Elasticsearch, Kibana, dotnet core y docker

Tengo mi aplicación dotnet core configurada para usar SeriLog que inicia sesión en un ElasticSearch Sink . Cuando ejecuto mi aplicación dotnet core localmente con ElasticSearch y Kibana , tengo dos contenedores separados, puedo registrar cosas de mi aplicación en Elastic y también puedo ver estos mensajes de registro en Kibana .

Cuando incluyo mi aplicación dotnet core en el archivo docker-compose.yml hasta el punto final donde se encuentra la aplicación, espero que registre varios mensajes en Elasticsearch , pero no lo hace. Sospecho que mi aplicación no entiende cómo comunicarse con Elasticsearch cuando está en contenedores. Mi docker-compose.yml se ve así:

versión: '3.0'

 services: db: image: mysql:5.7 environment: MYSQL_RANDOM_ROOT_PASSWORD: 1 MYSQL_DATABASE: chtr MYSQL_USER: dbuser MYSQL_PASSWORD: dbuserpassword volumes: - dbdata:/var/lib/mysql - ./_MySQL_Init_Script:/docker-entrypoint-initdb.d restart: always elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4 container_name: elasticsearch ports: - "9200:9200" volumes: - elasticsearch-data:/usr/share/elasticsearch/data kibana: image: docker.elastic.co/kibana/kibana:6.2.4 container_name: kibana ports: - "5601:5601" depends_on: - elasticsearch chtr.server: depends_on: - db - kibana image: trebias/chtr.server build: context: . ports: - "8080:80" - "56:5601" volumes: dbdata: elasticsearch-data:

chtr.server es mi imagen que se extrae de mi centro acoplable.

A appsettings.json dentro de mi aplicación dotnet core:

 { "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Information", "System": "Information", "Microsoft": "Information" } }, "ElasticConfiguration": { "Uri": "http://[::]:9200/" } }

Donde creo el registrador como este en mi archivo Startup.cs :

 var elasticSearch = Configuration["ElasticConfiguration:Uri"]; Log.Logger = new LoggerConfiguration().Enrich.FromLogContext().WriteTo.Elasticsearch(new ElasticsearchSinkOptions( new Uri(elasticSearch)) { AutoRegisterTemplate = true }).CreateLogger();

Como dije al principio de este post; Funciona cuando ejecuto Kibana y Elasticsearch en contenedores y mi aplicación localmente, pero no cuando las tres aplicaciones están en contenedores.

¿Alguna sugerencia?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

El servicio se ejecuta en un contenedor, por eso debe escribir su registro usando el nombre del contenedor como se muestra a continuación:

Configuración de aplicaciones.Desarrollo.json:

 { "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Information", "System": "Information", "Microsoft": "Information" } }, "ElasticConfiguration": { "Uri": "http://elasticsearch:9200/" } }

Puede encontrar aquí un ejemplo completo que muestra cómo configurar Serilog, Seq, elasticsearch y kibana para trabajar juntos en la solución de contenedores Docker.

registro de estructura con serilog seq y búsqueda elástica en docker

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda