Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/glynnbird/cloudant_exporter
Prometheus & Go experiment
https://github.com/glynnbird/cloudant_exporter
Last synced: 5 days ago
JSON representation
Prometheus & Go experiment
- Host: GitHub
- URL: https://github.com/glynnbird/cloudant_exporter
- Owner: glynnbird
- Created: 2023-05-11T13:37:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-04T10:15:55.000Z (6 months ago)
- Last Synced: 2024-10-12T22:12:54.857Z (about 1 month ago)
- Language: Go
- Size: 1.44 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cloudant Prometheus Exporter
A simple Cloudant Prometheus client that polls a Cloudant account for
information and publishes them in a Prometheus-consumable format on a `/metrics`
endpoint.![](./images/grafana-dashboard.png)
## Configuring
Expects environment variables to be supplied according to
[this documentation](https://cloud.ibm.com/apidocs/cloudant?code=go#authentication-with-external-configuration).
e.g.```sh
export CLOUDANT_URL="https://myservice.cloudant.com"
export CLOUDANT_APIKEY="my_IAM_API_KEY"
```## Running locally
```sh
go run ./cmd/cloudant_exporter
```## Running in Docker
First we turn this repo into a Docker image:
```sh
# build a docker image
docker build -t cloudant_exporter .
```Then we can can spin up a container, exposing its port `8080` to our port
`8080`:```sh
# run it with credentials as environment variables
docker run \
-e CLOUDANT_URL="$CLOUDANT_URL" -e CLOUDANT_APIKEY="$CLOUDANT_APIKEY" \
-i \
-p 8080:8080 \
cloudant_exporter:latest
```## Running in IBM Code Engine
Assuming you have installed the
[IBM Cloud CLI](https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli)
and the
[IBM Code Engine CLI plugin](https://cloud.ibm.com/docs/codeengine?topic=codeengine-cli),
you can deploy `cloudant_exporter` into IBM Code Engine using the command line:```sh
# create a project
ibmcloud ce project create --name mycloudantexporterproject
# create an application within the project
ibmcloud ce application create \
--name mycloudantexporter \
--image ghcr.io/glynnbird/cloudant_exporter:latest \
--env "CLOUDANT_URL=$CLOUDANT_URL" \
--env "CLOUDANT_APIKEY=$CLOUDANT_APIKEY" \
--max 1 --min 1
```## Running Prometheus locally
[Download Prometheus](https://prometheus.io/docs/prometheus/latest/getting_started/#downloading-and-running-prometheus)
or run `brew install prometheus` on a Mac.Create a `prometheus.yml` file containing:
```yaml
global:external_labels:
monitor: 'cloudant'scrape_configs:
- job_name: 'cloudant'
scrape_interval: 1m
static_configs:
- targets: ['localhost:8080']
```where `localhost:8080` is the domain and port of your `cloudant_exporter`
application.Run Prometheus with:
```sh
prometheus --config.file=prometheus.yml
```Prometheus's web interface runs on port `9090` by default, so visit http://localhost:9090 in a web browser after starting Prometheus.