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.
Requires Python => 3.7
pip install uptime-reporting
or with docker
docker pull giacomolozito/uptime-reporting
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.
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.