Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
First and foremost sorry about my code quality. I haven't been programming i C# for years.
I saw a need for remote syslog capabilities and decided to give it a go. Feel free to roast me.
What:
Adds a new Technitium DNS App that allows for use of remote syslog servers for log collection in RFC3164 format.
Messages are sent as JSON for easy field extractions and parsings in your log aggregator/SIEM of choice.
I will also be releasing a Splunk app that provides Splunk CIM compatibility among other things to accompany this contribution, should it be accepted.
https://docs.splunk.com/Documentation/CIM/5.3.2/User/Overview
This app is not compatible with the query searching UI for obvious reasons, therefore we return a NotSupportedException on attempts to query the logs that have been sent off to a remote server.
The app features some basic input format validation for the syslogServers configuration.
Why:
No matter if you are big, security conscious company looking to integrate DNS logging into your SIEM or a homelabber looking to troubleshoot that pesky DNS issue (It's always DNS).
Remote syslog ensures that you can use the collection, indexing and search tooling that you want to keep track of your data.
Syslog is easy to setup, easy to integrate with and most companies already have some kind of syslog collection setup in place.
To get started:
Example config:
{ "enableLogging": true, "syslogServers": ["192.168.1.2:514","10.1.2.3:7899"] }
Closes:
#513
#133
Relates to:
#781
Big fan of the project!