go-dnscollector

command module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2024 License: MIT Imports: 15 Imported by: 0

README

Go Report Go version Go tests Go bench Go lines

DNS-collector

release

DNS-collector acts as a passive high speed ingestor with pipelining support for your DNS logs, written in Golang. It allows enhancing your DNS logs by adding metadata, extracting usage patterns, and facilitating security analysis.

Additionally, DNS-collector also support

Features

Get Started

Download the latest release binary and start the DNS-collector with the provided configuration file. The default configuration listens on tcp/6000 for a DNSTap stream and DNS logs are printed on standard output.

./go-dnscollector -config config.yml

run

If you prefer run it from docker, follow this guide.

Configuration

The configuration of DNS-collector is done through a file named config.yml. When the DNS-collector starts, it will look for the config.yml from the current working directory.

See the full configuration guide for more details.

Run the DNS-collector in dry mode to verify the configuration.

./go-dnscollector -config config.yml -test-config
INFO: 2023/12/24 14:43:29.043730 main - config OK!

Usage examples

The _examples folder from documentation contains a number of various configurations to get you started with the DNS-collector in different ways.

The _integration folder contains DNS-collector configuration files and docker compose examples for popular tools:

DNS Telemetry

DNS-collector provides telemetry capabilities with the Prometheus logger, you can easily monitor key performance indicators and detect anomalies in real-time.

dashboard

Performance

Tuning may be necessary to deal with a large traffic loads. Please refer to the performance tuning guide if needed.

Performance metrics are available to evaluate the efficiency of your pipelines. These metrics allow you to track:

  • The number of incoming and outgoing packets processed by each worker
  • The number of packets matching the policies applied (forwarded, dropped)
  • The number of "discarded" packets
  • Memory consumption
  • CPU consumption

A build-in dashboard is available for monitoring these metrics.

dashboard

Contributing

See the development guide for more information on how to build it yourself.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL