Commit 06c45891 authored by Daniel Swarbrick's avatar Daniel Swarbrick

Initial Debian packaging

parent 0bcf0750

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

prometheus-bird-exporter (1.2.1-1) unstable; urgency=medium
* Initial packaged version. Closes: #901933.
-- Daniel Swarbrick <daniel.swarbrick@profitbricks.com> Thu, 21 Jun 2018 10:57:54 +0200
Source: prometheus-bird-exporter
Section: net
Priority: optional
Maintainer: Daniel Swarbrick <daniel.swarbrick@profitbricks.com>
Build-Depends: debhelper (>= 11),
dh-golang,
golang-github-prometheus-client-golang-dev,
golang-github-prometheus-common-dev,
golang-go,
pandoc
Standards-Version: 4.1.4
Homepage: https://github.com/czerwonk/bird_exporter
XS-Go-Import-Path: github.com/czerwonk/bird_exporter
Package: prometheus-bird-exporter
Architecture: any
Depends: bird, ${misc:Depends}, ${shlibs:Depends}
Built-Using: ${misc:Built-Using}
Description: Prometheus exporter for the BIRD routing daemon
Prometheus exporter for the BIRD routing daemon, which collects metrics from
BIRD's Unix control socket. Exposed metrics include:
.
* BGP session state
* OSPF neighbor / interface count
* Imported / exported / filtered prefix counts / route state changes (BGP,
OSPF, Kernel, Static, Device, Direct)
* Protocol uptimes (BGP, OSPF)
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: github.com/czerwonk/bird_exporter
Source: https://github.com/czerwonk/bird_exporter
Files-Excluded:
vendor/github.com/alecthomas
vendor/github.com/beorn7
vendor/github.com/golang
vendor/github.com/matttproud
vendor/github.com/prometheus
vendor/github.com/sirupsen
vendor/golang.org
vendor/gopkg.in
Files: *
Copyright: 2016 Daniel Czerwonk
License: MIT
Files: debian/*
Copyright: 2018 ProfitBricks GmbH
License: MIT
Files: vendor/github.com/czerwonk/bird_socket/*
Copyright: 2017 Daniel Czerwonk
License: MIT
Comment: Included in the repackaged source, as it does not seem to deserve a
separate package.
Files: vendor/github.com/czerwonk/testutils/*
Copyright: 2016 Daniel Czerwonk
License: MIT
Comment: Included in the repackaged source, as it does not seem to deserve a
separate package.
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
ARGS="-format.new"
# Prometheus-bird-exporter supports the following options:
#
# -bird.ipv4
# Get protocols from bird (not compatible with -bird.v2) (default true)
# -bird.ipv6
# Get protocols from bird6 (not compatible with -bird.v2) (default true)
# -bird.socket string
# Socket to communicate with bird routing daemon (default "/run/bird/bird.ctl")
# -bird.socket6 string
# Socket to communicate with bird6 routing daemon (not compatible with -bird.v2) (default "/run/bird/bird6.ctl")
# -bird.v2
# Bird major version >= 2.0 (multi channel protocols)
# -format.new
# New metric format (more convinient / generic)
# -proto.bgp
# Enables metrics for protocol BGP (default true)
# -proto.direct
# Enables metrics for protocol Direct (default true)
# -proto.kernel
# Enables metrics for protocol Kernel (default true)
# -proto.ospf
# Enables metrics for protocol OSPF (default true)
# -proto.static
# Enables metrics for protocol Static (default true)
# -version
# Print version information.
# -web.listen-address string
# Address on which to expose metrics and web interface. (default ":9324")
# -web.telemetry-path string
# Path under which to expose metrics. (default "/metrics")
README.md
prometheus-bird-exporter.1
Description: Align defaults with Debian bird package's Unix socket paths
Author: Daniel Swarbrick <daniel.swarbrick@profitbricks.com>
--- a/main.go
+++ b/main.go
@@ -18,7 +18,7 @@
showVersion = flag.Bool("version", false, "Print version information.")
listenAddress = flag.String("web.listen-address", ":9324", "Address on which to expose metrics and web interface.")
metricsPath = flag.String("web.telemetry-path", "/metrics", "Path under which to expose metrics.")
- birdSocket = flag.String("bird.socket", "/var/run/bird.ctl", "Socket to communicate with bird routing daemon")
+ birdSocket = flag.String("bird.socket", "/run/bird/bird.ctl", "Socket to communicate with bird routing daemon")
birdV2 = flag.Bool("bird.v2", false, "Bird major version >= 2.0 (multi channel protocols)")
newFormat = flag.Bool("format.new", false, "New metric format (more convinient / generic)")
enableBgp = flag.Bool("proto.bgp", true, "Enables metrics for protocol BGP")
@@ -27,7 +27,7 @@
enableStatic = flag.Bool("proto.static", true, "Enables metrics for protocol Static")
enableDirect = flag.Bool("proto.direct", true, "Enables metrics for protocol Direct")
// pre bird 2.0
- bird6Socket = flag.String("bird.socket6", "/var/run/bird6.ctl", "Socket to communicate with bird6 routing daemon (not compatible with -bird.v2)")
+ bird6Socket = flag.String("bird.socket6", "/run/bird/bird6.ctl", "Socket to communicate with bird6 routing daemon (not compatible with -bird.v2)")
birdEnabled = flag.Bool("bird.ipv4", true, "Get protocols from bird (not compatible with -bird.v2)")
bird6Enabled = flag.Bool("bird.ipv6", true, "Get protocols from bird6 (not compatible with -bird.v2)")
)
From 2af06c8601720cb093bef79163d8f8d334446e9e Mon Sep 17 00:00:00 2001
From: Daniel Swarbrick <daniel.swarbrick@profitbricks.com>
Date: Wed, 20 Jun 2018 15:24:55 +0200
Subject: [PATCH] Add manpage in Markdown format
To create a manpage, use pandoc:
```
pandoc -s -t man bird_exporter.1.md -o bird_exporter.1
```
---
bird_exporter.1.md | 115 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 115 insertions(+)
create mode 100644 bird_exporter.1.md
diff --git a/bird_exporter.1.md b/bird_exporter.1.md
new file mode 100644
index 0000000..558a598
--- /dev/null
+++ b/bird_exporter.1.md
@@ -0,0 +1,115 @@
+---
+date: 2018-06-20
+footer: bird_exporter
+header: "bird_exporter's Manual"
+layout: page
+license: "Licensed under the MIT license"
+section: 1
+title: BIRD_EXPORTER
+---
+
+# NAME
+
+bird_exporter - A protocol state exporter for the BIRD routing daemon to use
+with Prometheus
+
+# SYNOPSIS
+
+**bird_exporter** [**OPTIONS**]
+
+# DESCRIPTION
+
+**bird_exporter** is a metric exporter for the BIRD routing daemon to use with
+Prometheus. Since **bird_exporter** uses the BIRD Unix socket(s), BIRD needs to
+be installed on the same machine as bird_exporter. The user executing
+bird_exporter must have read/write permission to access the BIRD Unix sockets.
+
+# OPTIONS
+
+**-bird.ipv4**
+ Get protocols from bird (not compatible with **-bird.v2**)
+
+**-bird.ipv6**
+ Get protocols from bird6 (not compatible with **-bird.v2**)
+
+**-bird.socket** */path/to/socket*
+ Socket to communicate with bird routing daemon
+
+**-bird.socket6** */path/to/socket*
+ Socket to communicate with bird6 routing daemon (not compatible with
+**-bird.v2**)
+
+**-bird.v2**
+ BIRD major version >= 2.0 (multi channel protocols)
+
+**-format.new**
+ New metric format (more convenient / generic)
+
+**-proto.bgp**
+ Enables metrics for protocol BGP
+
+**-proto.direct**
+ Enables metrics for protocol Direct
+
+**-proto.kernel**
+ Enables metrics for protocol Kernel
+
+**-proto.ospf**
+ Enables metrics for protocol OSPF
+
+**-proto.static**
+ Enables metrics for protocol Static
+
+**-version**
+ Print version information
+
+**-web.listen-address** *[address]:port*
+ Address on which to expose metrics and web interface
+
+**-web.telemetry-path** *path*
+ Path under which to expose metrics (default "/metrics")
+
+Version 2.0 of BIRD supports both IPv4 and IPv6 in a single daemon. Since
+version 1.1 of **bird_exporter**, it can be used with BIRD 2.0+ using the
+**-bird.v2** option. When using this option, **bird_exporter** queries the same
+socket for both IPv4 and IPv6. In this mode the IP protocol is determined by
+the channel information, and options **-bird.ipv4**, **-bird.ipv6** and
+**-bird.socket6** are ignored.
+
+# BIRD CONFIGURATION
+
+To get meaningful uptime information, BIRD needs to be configured to use
+ISO-format timestamps: