statuspage-exporter

command module
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 12, 2022 License: MIT Imports: 19 Imported by: 0

README

Statuspage Exporter

FOSSA Status Build Status License Release Docker

Statuspage exporter exports metrics from given statuspages as prometheus metrics.

Supported statuspage engines:

  • Statuspage.io (Widely used statuspage engine. For example by GitHub). You can check that statuspage is supported by this engine by checking that it has a /api/v2/components.json endpoint.
  • Status.io (Widely used statuspage engine. For example by Gitlab.com. You can check that statuspage is supported by this engine by checking footer of the page. It should contain status.io text)

Statuspage exporter will automatically detect, which engine used by statuspage and will use appropriate parser. If this statuspage is not supported by any of the engines, then statuspage exporter will show error message in the logs.

Statuspage.io Engine
Status.io Engine

Running exporter

You can run the exporter with docker, kubernetes, or just as a binary.

Docker

Docker images available in Github Registry/DockerHub in all arch (amd64, arm64, arm/v7) for linux. Please be careful with DockerHun pull limits.

Registry Repository
Github Registry ghcr.io/sergeyshevch/statuspage-exporter
DockerHub sergeykons/statuspage-exporter
docker run -p 8080:8080 ghcr.io/sergeyshevch/statuspage-exporter --statuspages=https://www.githubstatus.com, https://https://jira-software.status.atlassian.com
Helm
helm add sergeyshevch sergeyshevch.github.io/charts
helm install sergeyshevch/statuspage-exporter --namespace statuspage-exporter --create-namespace --set statuspages[0]=https://www.githubstatus.com
Binary

Please select latest available release from releases page

wget https://github.com/sergeyshevch/statuspage-exporter/releases/download/v1.2.0/statuspage-exporter_v1.2.0_darwin_amd64 -O statuspage-exporter
sudo chmod +x statuspage-exporter
./statuspage-exporter

Configuration

You can provide configuration using configuration file or environment variables.

Configuration file must be named as '.statuspage-exporter.yaml' and should be placed in the home directory or same directory as the binary.

Environment variable names are the same as configuration file keys but in upper case and with underscores instead of dots.

You can read defaults from config.go

Configuration file example
http_port: 8080
# Delay between requests to the statuspages
fetch_delay: 5
# Timeout for the http client
client_timeout: 2
# List of the targets to scrape
statuspages:
  - https://githubstatus.com
  - https://jira-software.status.atlassian.com
  - https://status.gitlab.com
retry_count: 3

Metrics Example

# HELP service_status Status of a service component, values 0 (operational) to 4 (major_outage)
# TYPE service_status gauge
service_status{component="API Requests",service="GitHub",status_page_url="https://status.github.com"} 1
service_status{component="Actions",service="GitHub",status_page_url="https://status.github.com"} 1
service_status{component="Codespaces",service="GitHub",status_page_url="https://status.github.com"} 1
service_status{component="Copilot",service="GitHub",status_page_url="https://status.github.com"} 1
service_status{component="Git Operations",service="GitHub",status_page_url="https://status.github.com"} 1
service_status{component="Issues",service="GitHub",status_page_url="https://status.github.com"} 1
service_status{component="Packages",service="GitHub",status_page_url="https://status.github.com"} 1
service_status{component="Pages",service="GitHub",status_page_url="https://status.github.com"} 1
service_status{component="Pull Requests",service="GitHub",status_page_url="https://status.github.com"} 1
service_status{component="Visit www.githubstatus.com for more information",service="GitHub",status_page_url="https://status.github.com"} 1
service_status{component="Webhooks",service="GitHub",status_page_url="https://status.github.com"} 1
# HELP statuspage_exporter_build_info A metric with a constant '1' value labeled by version, revision, branch, and goversion from which statuspage_exporter was built.
# TYPE statuspage_exporter_build_info gauge
statuspage_exporter_build_info{branch="",goversion="go1.19.2",revision="",version=""} 1

License Scan

FOSSA Status

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL