BIND dns with Beats

I want to use elastic siem for my DNS server logs,
we are using a BIND DNS server, I don't want to install Packetbeat/Filebeat on the DNS server machine. we use syslog-ng to redirect DNS server logs to UDP port 514.

This is how my logs look like: (I get these result using nc -luv 514)

    <13>Sep  6 08:17:39 ns BIND-DNS: 08:17:39.181 resolver: debug 1: createfetch: A
    <13>Sep  6 08:17:39 ns BIND-DNS: 08:17:39.283 database: debug 1: decrement_reference: delete from rbt: 0x7f38645f44e0
    <13>Sep  6 08:17:39 ns BIND-DNS: 08:17:39.294 resolver: debug 1: createfetch: A
    <13>Sep  6 08:17:33 ns BIND-DNS: 08:17:35.173 queries: info: client ( query: IN A + (

I'm really confused and I don't have any idea what should I use, packetbeat (dns module)? filebeat dns/udp/syslog? I have tried with packetbeat and filebeat but I can't get it to work :cry:
can someone please point me in the right direction?

And where do they go from there?

syslog-ng redirect logs to my elasticsearch server.
the sample logs were received on the elastic server.

It goes directly to Elasticsearch from syslog-ng?
What do Beats have to do with things then?

Sorry, I think I explained badly, I meant it goes to the host that running my Elasticsearch. if I listen on port 514 I can see the logs, But now I need beats to send them to elasticsearch.

Ok, did you look at

Yes, I have tested syslog with UDP 514 but it didn't work.
It seems like it couldn't parse the data, or my data wasn't the expected format.
I know I can use processor for parsing, but I was looking for some preconfigured module that can detect DNS data (maybe like packetbeat dns config)

Ah ok, that's a bit clearer now :slight_smile:

There's not at the moment, but it shouldn't be too hard to parse with an ingest pipeline. Can you share part of the raw log?

Thanks for being so patient :slight_smile:

this is how my raw logs look like.

No worries, I forgot you posted that originally! :slight_smile:

I'll check out a possible pattern and circle back around on this/

Thank you, I greatly appreciate it :pray:

I ran into a bug with this, which held things up.

<%{NUMBER:number}> %{MONTH:month} %{MONTHDAY:monthday} %{TIME:time} %{WORD:word} %{WORD:word2}-%{WORD:word3}: %{GREEDYDATA:data} is a pattern that works with what you have provided.

1 Like