Operators
Add-on: PowerDNS DNS telemetry
A Rust agent-sidecar add-on that receives PowerDNS protobuf telemetry, maps RPZ policy hits to OCSF DNS Activity events, and forwards them through the authenticated ServiceRadar agent path.
The PowerDNS add-on is a local protobuf receiver for PowerDNS Recursor. It maps RPZ / policy-hit responses to OCSF DNS Activity events and emits them as first-class native telemetry through the authenticated agent path. It is a Rust agent-sidecar add-on and a worked example of an add-on that declares signal schemas.
At a glance
| id |
powerdns |
| version |
0.1.1 |
| language | Rust |
| delivery |
pushed-artifact |
| supervision |
agent-sidecar |
| run as |
serviceradar |
| capabilities |
native-telemetry:v1, dns-activity, powerdns-rpz |
| platforms | linux |
How it works
PowerDNS Recursor connects to the add-on’s localhost TCP listener using
protobufServer() framing. The add-on decodes each PBDNSMessage, maps
RPZ/policy-hit responses to OCSF DNS Activity, and emits generic native telemetry
batches to the local serviceradar-agent. Because it advertises
native-telemetry:v1, the agent opens the StreamTelemetry channel and forwards
its batches.
Manifest
id: powerdns
name: PowerDNS DNS Telemetry
version: 0.1.1
description: >-
Local PowerDNS protobuf receiver that maps RPZ policy hits to OCSF DNS
Activity events and forwards them through the authenticated ServiceRadar agent
path.
kind: native
delivery: pushed-artifact
supervision: agent-sidecar
language: rust
capabilities:
- native-telemetry:v1
- dns-activity
- powerdns-rpz
requires:
base_agent: ">=1.2.0"
platforms: [linux]
os_capabilities: []
run_as: serviceradar
plugin:
protocol: grpc
app_protocol_version: 1
exec:
binary: serviceradar-powerdns-addon
install_path: /usr/local/lib/serviceradar/bin
config_schema: config.schema.json
signal_schemas:
- id: com.carverauto.powerdns.dns_activity
version: 1.0.0
signal_type: event
payload_kind: ocsf_event
payload_schema: schemas/dns_activity.schema.json
display_contract: display/dns_activity.display.json
display_contract_id: com.carverauto.powerdns.dns_activity.display
display_contract_version: 1.0.0
ocsf_schema_version: 1.5.0
class_uid: 4003Telemetry
The add-on ships its payload schema (schemas/dns_activity.schema.json) and a
display contract
(display/dns_activity.display.json) in the bundle. The display contract renders
each DNS Activity record with a summary, badges (activity, status, severity), a
facts table (domain, query type, source IP, …), and a raw JSON section. The
records are OCSF DNS Activity (class_uid: 4003, OCSF schema 1.5.0).