Coder Social home page Coder Social logo

pdns-statsd-proxy's Introduction

PowerDNS statistics to statsd bridge

Build Status codecov Quality Gate StatusVulnerabilitiesTechnical DebtMaintainability Rating

Background: PowerDNS is a powerful open source DNS server that offers both recursive and authoritative packages. It has powerful statistics available via a HTTP RESTFul API, carbon protocol or via a cli tool. The problem with this is that not all metrics systems provide support for carbon or have http agents that support the PowerDNS API.

This tool aims to provide a lightweight http to statsd bridge/proxy. It will query the PowerDNS API and emit the metrics in either statsd gauge or increments to a statsd server of your choice.

PowerDNS Support

recursor

  • 4.0
  • 4.1
  • 4.2
  • 4.3

authoritative

  • 4.3

Build

Requires Docker to be installed as it builds within a container to output binaries in Linux elf format.

make build

Will output an artifact to $PWD/bin

Install

make install

Will install the artifact from $PWD/bin into /opt/pdns-stats-proxy/ and the systemd unit (service)

Running

Enable in systemctl

systemctl enable pdns-stats-proxy

Architecture

This tool uses a worker model, a powerdns client will execute and poll, the statistics are then passed via channel to a statistics worker which then emits them via statsd.

License

FOSSA Status

pdns-statsd-proxy's People

Contributors

dependabot[bot] avatar jimmystewpot avatar jlambatl avatar jrthiesse avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

eburcat fossabot

pdns-statsd-proxy's Issues

Non-graceful failure when PowerDNS API stats are different

On our PowerDNS the statistics from the API are a slightly different - and as a results only 2 of the statistics are actually sent.
Probably when there's a missing statistic in the json result - the loop stops.
We've patched by setting in stats.go exactly the statistics that our server is providing - but there should be a better handling of this issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.