opentelemetry - observability
using open telemetry
how it works
send windows event logs and other observability data to an opentelemetry backend using the opentelemetry collector.
prepare your backend
I used a free tier honeycomb.io cloud service. You will need to get your api key from here
install collector
-
download
-
https://github.com/open-telemetry/opentelemetry-collector-releases/releases
-
use a contrib package (contains event log receiver) e.g. otelcol-contrib_0.118.0_windows_x64.msi
-
-
configure
-
configuration is done with a config.yaml file
-
at least one receiver, the otlp exporter and bind it together as a service
-
test it with ''.\otelcol-contrib.exe --config config.yaml'
-
later on run as a service (created during install).
config.yaml
receivers: windowseventlog/application: channel: Application start_at: end windowseventlog/system: channel: System windowseventlog/security: channel: Security # Collect own metrics prometheus: config: scrape_configs: - job_name: 'otel-collector' scrape_interval: 10s static_configs: - targets: ['0.0.0.0:8888'] processors: batch: exporters: debug: verbosity: detailed # Outputs full telemetry data for debugging otlp: endpoint: "https://api.honeycomb.io:443" headers: x-honeycomb-team: "***put in your own key***" # Honeycomb API Key x-honeycomb-dataset: "ws-surface" # Honeycomb dataset service: pipelines: logs: receivers: - windowseventlog/application - windowseventlog/system processors: [batch] exporters: [debug, otlp] metrics: receivers: [prometheus] processors: [batch] exporters: [debug, otlp]