All Projects → czerwonk → Bird_exporter

czerwonk / Bird_exporter

Licence: mit
Bird protocol state exporter for bird routing daemon to use with https://prometheus.io/

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Bird exporter

emq exporter
Simple server that scrapes EMQ metrics and exporters them via HTTP for Prometheus consumption
Stars: ✭ 31 (-63.53%)
Mutual labels:  exporter, prometheus
Kminion
KMinion is a feature-rich Prometheus exporter for Apache Kafka written in Go. It is lightweight and highly configurable so that it will meet your requirements.
Stars: ✭ 274 (+222.35%)
Mutual labels:  exporter, prometheus
geoip-exporter
GeoIP exporter for Prometheus
Stars: ✭ 27 (-68.24%)
Mutual labels:  exporter, prometheus
selectel-exporter
No description or website provided.
Stars: ✭ 25 (-70.59%)
Mutual labels:  exporter, prometheus
Eventstore exporter
EventStoreDB (https://eventstore.com/eventstoredb/) metrics Prometheus exporter.
Stars: ✭ 36 (-57.65%)
Mutual labels:  exporter, prometheus
prometheus-bigquery-exporter
An exporter for converting BigQuery results into Prometheus metrics
Stars: ✭ 27 (-68.24%)
Mutual labels:  exporter, prometheus
Exporterhub.io
A Curated List of Prometheus Exporters
Stars: ✭ 252 (+196.47%)
Mutual labels:  exporter, prometheus
airflow-prometheus-exporter
Export Airflow metrics (from mysql) in prometheus format
Stars: ✭ 25 (-70.59%)
Mutual labels:  exporter, prometheus
Openstack Exporter
Prometheus openstack exporter written in Golang.
Stars: ✭ 23 (-72.94%)
Mutual labels:  exporter, prometheus
Raspberrypi exporter
Prometheus exporter for Raspberry Pi metrics
Stars: ✭ 18 (-78.82%)
Mutual labels:  exporter, prometheus
Ipmi exporter
IPMI Exporter for prometheus.io, written in Go.
Stars: ✭ 74 (-12.94%)
Mutual labels:  exporter, prometheus
Druid Exporter
A Golang based exporter captures druid API related metrics and receives druid-emitting HTTP JSON data.
Stars: ✭ 54 (-36.47%)
Mutual labels:  exporter, prometheus
jail exporter
A Prometheus exporter for FreeBSD jail metrics
Stars: ✭ 21 (-75.29%)
Mutual labels:  exporter, prometheus
gluster exporter
Gluster Exporter for Prometheus
Stars: ✭ 70 (-17.65%)
Mutual labels:  exporter, prometheus
opentsdb exporter
Prometheus exporter for OpenTSDB
Stars: ✭ 20 (-76.47%)
Mutual labels:  exporter, prometheus
horizon-exporter
Export Laravel Horizon metrics using this Prometheus exporter.
Stars: ✭ 17 (-80%)
Mutual labels:  exporter, prometheus
Github Exporter
Prometheus exporter for github metrics
Stars: ✭ 231 (+171.76%)
Mutual labels:  exporter, prometheus
docker-pulls
A simple compose script to use in conjunction with the prometheus stack to monitor Docker pulls.
Stars: ✭ 19 (-77.65%)
Mutual labels:  exporter, prometheus
Hana sql exporter
SAP Hana SQL Exporter for Prometheus
Stars: ✭ 18 (-78.82%)
Mutual labels:  exporter, prometheus
Atlas exporter
Metric exporter for RIPE Atlas measurement results
Stars: ✭ 48 (-43.53%)
Mutual labels:  exporter, prometheus

bird_exporter

Go Report Card

Metric exporter for bird routing daemon to use with Prometheus

Remarks

Since bird_exporter uses the bird unix sockets, bird has to be installed on the same maschine as bird_exporter. Also the user executing bird_exporter must have permission to access the bird socket files.

Bird configuration

To get meaningful uptime information bird has to be configured this way:

timeformat protocol     iso long;

Important information for users of bird 2.0+

Version 2.0 of bird routing daemon does support IPv4 and IPv6 in one single daemon now. For further information see here. Since version 1.1 bird_exporter can be used with bird 2.0+ using the -bird.v2 parameter. When using this parameter bird_exporter queries the same bird socket for IPv4 and IPv6. In this mode the IP protocol is determined by the channel information and parameters -bird.ipv4, -bird.ipv6 and -bird.socket6 are ignored.

Metric formats

In version 1.0 a new metric format was introduced. To prevent a breaking change the new format is optional and can be enabled by using the -format.new flag. The new format handles protocols more generic and allows a better query structure. Also it adheres more to the metric naming best practices. In both formats protocol specific metrics are prefixed with the protocol name (e.g. OSPF running metric).

This is a short example of the different formats:

old format

bgp4_session_prefix_count_import{name="bgp1"} 600000
bgp6_session_prefix_count_import{name="bgp1"} 50000
ospfv3_running{name="ospf1"} 1

new format

bird_protocol_prefix_import_count{name="bgp1",proto="BGP",ip_version="4"} 600000
bird_protocol_prefix_import_count{name="bgp1",proto="BGP",ip_version="6"} 50000
bird_ospfv3_running{name="ospf1"} 1

Default Port

In version 0.7.1 the default port changed to 9324 since port 9200 is the default port of elasticsearch. The new port is now registered in the default port allocation list (https://github.com/prometheus/prometheus/wiki/Default-port-allocations)

Sockets

In version 0.8 communication to bird changed to sockets. The default socket path is /var/run/bird.ctl (for bird) and /var/run/bird6.ctl (for bird6). In case you are using different paths in your installation, the socket path can be specified by usind the -bird.socket (for bird) and -bird.socket6 (for bird6) flag.

Install

go get -u github.com/czerwonk/bird_exporter

Usage

bird_exporter -format.new=true

BIRD RS Dashboard

this sample dashboard was created by openbsod. Thanks for contributing!

https://grafana.com/dashboards/5259

alt text

Features

  • 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)

Third Party Components

This software uses components of the following projects

License

(c) Daniel Czerwonk, 2016. Licensed under MIT license.

Prometheus

see https://prometheus.io/

Bird routing daemon

see http://bird.network.cz/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].