Hi, I’m running SigNoz in one Docker container and...
# support
a
Hi, I’m running SigNoz in one Docker container and my PHP app in another. • Traces work fine — in Infrastructure Monitoring → Traces I can see them, and the
host.name
matches correctly with my server/app. • The issue is with logs: in Infrastructure Monitoring → Logs nothing appears, but in the standalone Logs section I can see all logs. I’m collecting logs using file-based log collection with this config:
Copy code
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318
  hostmetrics:
    collection_interval: 30s
    scrapers:
      cpu: {}
      disk: {}
      load: {}
      filesystem: {}
      memory: {}
      network: {}
      paging: {}
      process:
        mute_process_name_error: true
        mute_process_exe_error: true
        mute_process_io_error: true
      processes: {}
  prometheus:
    config:
      global:
        scrape_interval: 30s
      scrape_configs:
        - job_name: otel-collector-binary
          static_configs:
            - targets: ['localhost:8888']
  filelog/nginx_access:
    include: [ /var/log/nginx/access.log ]
    start_at: end
  filelog/nginx_error:
    include: [ /var/log/nginx/error.log ]
    start_at: end
  filelog/php_fpm_error:
    include: [ /var/log/php-fpm/error.log ]
    start_at: end
  filelog/whois_microservice_v1:
    include: [ /var/www/php/v1/logs/*.log ]
    start_at: end
processors:
  batch:
    send_batch_size: 10000
    send_batch_max_size: 11000
    timeout: 10s
  # Ref: <https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/resourcedetectionprocessor/README.md>
  resourcedetection:
    detectors: [env, system] # include ec2 for AWS, gcp for GCP and azure for Azure.
    # Using OTEL_RESOURCE_ATTRIBUTES envvar, env detector adds custom labels.
    timeout: 2s
    system:
      hostname_sources: [os] # alternatively, use [dns,os] for setting FQDN as host.name and os as fallback
  attributes/common:
    actions:
      - key: host.name
        value: common_microservice
        action: upsert
  attributes/nginx_access:
    actions:
      - key: service.name
        value: nginx_access
        action: upsert
  attributes/nginx_error:
    actions:
      - key: service.name
        value: nginx_error
        action: upsert
  attributes/php_fpm_error:
    actions:
      - key: service.name
        value: php_fpm_error
        action: upsert
  attributes/whois_microservice_v1:
    actions:
      - key: service.name
        value: whois_microservice_v1
        action: upsert
extensions:
  health_check: {}
  zpages: {}
exporters:
  otlp:
    endpoint: signoz_server_open_telemetry_collector:4317
    tls:
      insecure: true
  debug:
    # verbosity of the logging export: detailed, normal, basic
    verbosity: detailed
service:
  telemetry:
    metrics:
      address: 0.0.0.0:8888
  extensions: [health_check, zpages]
  pipelines:
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]
    metrics/internal:
      receivers: [prometheus, hostmetrics]
      processors: [resourcedetection, batch]
      exporters: [otlp]
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]
    logs/nginx_access:
      receivers: [filelog/nginx_access]
      processors: [attributes/common, attributes/nginx_access]
      exporters: [otlp]
    logs/nginx_error:
      receivers: [ filelog/nginx_error ]
      processors: [attributes/common, attributes/nginx_error]
      exporters: [ otlp ]
    logs/php_fpm_error:
      receivers: [ filelog/php_fpm_error ]
      processors: [attributes/common,  attributes/php_fpm_error ]
      exporters: [ otlp ]
    logs/whois_microservice_v1:
      receivers: [ filelog/whois_microservice_v1 ]
      processors: [attributes/common,  attributes/whois_microservice_v1 ]
      exporters: [ otlp ]
Why aren’t logs tied to the host (like traces) and showing up in the Infrastructure Monitoring Logs tab?