Sign inSign up

giacomolozito/uptime-reporting

By giacomolozito

•Updated over 6 years ago

Image
0

529

giacomolozito/uptime-reporting repository overview

⁠uptime-reporting

Service Uptime reporting tool, designed around uptime checks and leveraging tags to organize checks in the report.
Currently supports Pingdom⁠ and UptimeRobot⁠ for data collection.

Key features:

  • uses the service API to gather uptime statistics for the time range of choice (weekly, monthly, custom)
  • tags grouping⁠ capability with aggregated stats per tags, to make reports more structured and readable
  • inclusion/exclusion⁠ of checks from the reports based on their id, tags or status
  • terminal-friendly on-screen report generation or Jinja-based report templating⁠ to output in HTML, PDF, XML, etc.

Report examples

⁠How to install

Requires Python => 3.7

pip install uptime-reporting

or with docker

docker pull giacomolozito/uptime-reporting

⁠Usage

On-screen report of all checks for last week:

uptime-reporting --service pingdom --token XYZ --report weekly --date last

On-screen report of all checks for Jan 2020 (any date within that month causes the month to be selected):

uptime-reporting --service pingdom --token XYZ --report monthly --date 2020-01-01

HTML-based report of all checks for a custom date range, written to file report.html:

uptime-reporting --service pingdom --token XYZ --report range --date 2020-02-01_2020-03-15 \
  --report-format jinja --report-jinja-template html --report-filename report.html

On-screen report with terminal colors, excluding certain tags and checks from the report:

uptime-reporting --service pingdom --token XYZ --report weekly --date last --tags-exclude foo,bar \
  --checks-exclude 123456,123457 --report-format text --report-text-colors

Report grouping checks by product and for each product by client-facing vs internal endpoint (based on tags):

uptime-reporting --service pingdom --token XYZ --report weekly --date last --tags-grouping "productA,productB|client-facing,internal" \
  --report-format jinja -report-jinja-template html --report-filename report.html

The examples above are valid with any of the supported uptime services, by changing the --service parameter accordingly.

See Parameters⁠, Tags Grouping⁠, Template Writing⁠ and Service-Specific Notes⁠ docs for in-depth explanation.
Understanding Tag Grouping is especially important for well-organized reports.

⁠Disclaimer

This is an open source tool released under GPLv3, in the hope it will be useful.
It is not endorsed by Pingdom, UptimeRobot or any other organization.

Tag summary

Content type

Image

Digest

Size

27 MB

Last updated

over 6 years ago

docker pull giacomolozito/uptime-reporting