Export Open Virtual Switch (OVS) data to Prometheus.
This exporter exports metrics from the following OVS components:
- OVS
vswitchd
service Open_vSwitch
database- OVN
ovn-controller
service
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
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
./bin/ovs-exporter --help
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