go-dnscollector

command module
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2024 License: MIT Imports: 15 Imported by: 0

README

Go Report Go version Go tests Go bench Go lines

release

DNS-collector

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. A typical configuration in pipeline mode includes one or more collectors to receive DNS traffic and several loggers to process the incoming data.

To get started quickly, you can use this default config.yml. You can also see the _examples folder from documentation witch contains a number of various configurations to get you started with the DNS-collector in different ways.

For advanced settings, see the advanced configuration guide.

Additionally, the _integration folder contains preconfigured files and docker compose examples for integrating DNS-collector with 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