ovs_exporter
ovs_exporter copied to clipboard
Prometheus Exporter for Open Virtual Switch (OVS)
Open Virtual Switch (OVS) Exporter
Export Open Virtual Switch (OVS) data to Prometheus.
Introduction
This exporter exports metrics from the following OVS components:
- OVS
vswitchd
service -
Open_vSwitch
database - OVN
ovn-controller
service
Getting Started
Run the following commands to install it:
wget https://github.com/greenpau/ovs_exporter/releases/download/v1.0.4/ovs-exporter-1.0.4.linux-amd64.tar.gz
tar xvzf ovs-exporter-1.0.4.linux-amd64.tar.gz
cd ovs-exporter*
./install.sh
cd ..
rm -rf ovs-exporter-1.0.4.linux-amd64*
systemctl status ovs-exporter -l
curl -s localhost:9475/metrics | grep server_id
Run the following commands to build and test it:
cd $GOPATH/src
mkdir -p github.com/greenpau
cd github.com/greenpau
git clone https://github.com/greenpau/ovs_exporter.git
cd ovs_exporter
make
make qtest
Exported Metrics
Metric | Meaning | Labels |
---|---|---|
ovs_up |
Is OVS stack up (1) or is it down (0). | system_id |
For example:
$ curl localhost:9475/metrics | grep ovn
# HELP ovs_up Is OVS stack up (1) or is it down (0).
# TYPE ovs_up gauge
ovs_up 1
Flags
./bin/ovs-exporter --help
Development Notes
Run the following command to build arm64
:
make BUILD_OS="linux" BUILD_ARCH="arm64"
Next, package the binary:
make BUILD_OS="linux" BUILD_ARCH="arm64" dist
After a successful release, upload packages to Github:
owner=$(cat .git/config | egrep "^\s+url" | cut -d":" -f2 | cut -d"/" -f1)
repo=$(cat .git/config | egrep "^\s+url" | cut -d":" -f2 | cut -d"/" -f2 | sed 's/.git$//')
tag="v$(< VERSION)"
github_api_token="PASTE_TOKEN_HERE"
filename="./dist/${repo}-$(< VERSION).linux-amd64.tar.gz"
upload-github-release-asset.sh github_api_token=${github_api_token} owner=${owner} repo=${repo} tag=${tag} filename=dist/ovs-exporter-$(< VERSION).linux-amd64.tar.gz
upload-github-release-asset.sh github_api_token=${github_api_token} owner=${owner} repo=${repo} tag=${tag} filename=dist/ovs-exporter-$(< VERSION).linux-arm64.tar.gz