A simple application for Technitium DNS that logs queries to an AMQP broker using RabbitMQ's client library.
- Download the latest
.zip
file from the releases page. - Login into your Technitium administration panel and go into the "Apps" tab.
- Click on the "Install" button.
- Give the application a name, select the downloaded
.zip
file and click on install.
- Configure the application by following the Configuration section.
This application can be made to suit a variety of situations and log throughput via Technitium's administration panel.
- Go into the "Apps" tab, find the installed application and click on "".
- Make changes to the configuration inside the modal.
- Any error should be reported ???.
Click here to see an example configuration
{
"enabled": true,
"amqpHost": "127.0.0.1",
"amqpPort": 5672,
"amqpVirtualHost": "/technitium",
"amqpAuthUsername": "technitium-na1",
"amqpAuthPassword": "change-me",
"amqpRoutingKey": "dns-na1",
"amqpExchangeName": "amq.topic",
"amqpHeartbeat": 30,
"amqpReconnectInDispose": true,
"ampqsEnabled": false,
"ampqsRequired": true,
"queueMaxSize": 10000,
"queueMaxFailures": 5,
"queueFailuresBypassSizeLimits": true,
"senderColdDelayMs": 5000,
"senderInterBatchDelayMs": 500,
"senderBatchMaxSize": 100,
"senderPostFailureDelayMs": 250
}
Field | Description |
---|---|
enabled |
Allows or prevent the app from processing logs |
amqpHost |
Broker's [???] |
amqpPort |
Broker's exposed port |
amqpVirtualhost |
Broker's virtual host |
amqpAuthUsername |
Username with which to connect to the broker |
amqpAuthPassword |
Password with which to connect to the broker |
amqpHeartbeat |
|
amqpReconnectInDispose |
|
ampqsEnabled |
|
ampqsRequired |
Field | Description |
---|---|
amqpRoutingKey |
Routing key used by every message |
amqpExchangeName |
Exchange's name to which messages are sent |
Field | Description |
---|---|
queueMaxSize |
|
queueMaxFailures |
|
queueFailuresBypassSizeLimits |
Field | Description |
---|---|
senderColdDelayMs |
|
senderInterBatchDelayMs |
|
senderBatchMaxSize |
|
senderPostFailureDelayMs |
This sections assumes you already have git and dotnet installed.
If you're cloning the repository for the first time:
git clone --recurse-submodules https://github.com/aziascreations/Technitium-QueryLogsAMQP.git
If you cloned the repository with the submodules:
git submodule update --init
The application can be built by using the build.cmd script.
If you don't want to use it or are on Linux, you can simply run the appropriate commands present in that script.
The code in this repository is licensed under the GNU GPLv3.
- RabbitMQ.Client - Apache-2.0 license
- Newtonsoft.Json - MIT License