├── README.md └── status.php /README.md: -------------------------------------------------------------------------------- 1 | # StatusPage-UptimeRobot 2 | 3 | `StatusPage-UptimeRobot` is a simple flat PHP file that retrieve's [UptimeRobot](https://www.uptimerobot.com "Uptime Robot's Homepage")'s sensors via their API and turns it into a professional service status page . 4 | 5 | - Import's monitor data from UptimeRobot. 6 | - Extracts monitor IDs that are sorted into each category. 7 | - Reports current status and recent logs. 8 | 9 | This project is designed to be a drag-and-drop solution used in conjunction with a provider like [GitHub.io](https://pages.github.com/) to provide an easy, off-site solution for labs and small service clusters. 10 | 11 | *Do not expect advanced features within this package due to the flat, one PHP file limitation!* 12 | 13 | ### Version 14 | 1.0.2 15 | 16 | ### Included Projects and Libraries 17 | 18 | `StatusPage-UptimeRobot` uses a number of projects: 19 | 20 | * [Cachet.io](https://github.com/CachetHQ/Cachet) - An open source status page system for everyone. 21 | * [Jaco Strauss' Tech Support Excuse Generator](http://www.strauss.za.com/sla/support.asp) - IT excuses for downtime. 22 | * [Twitter Bootstrap] - great UI boilerplate for modern web apps 23 | * [jQuery] - duh 24 | 25 | ### Installation 26 | 27 | `StatusPage-UptimeRobot` will run on any web-server that is capable of serving the HTML file. It is reccomended to host outside of your network for availability. 28 | 29 | Save `status.php`: 30 | ``` 31 | https://raw.githubusercontent.com/kmain4/StatusPage-UptimeRobot/master/status.php 32 | ```` 33 | 34 | Edit the configuration at the top of the file. 35 | 36 | Add your Monitors' IDs to the `categories` object on line `188`. You can find your Monitor IDs by clicking on them in the UptimeRobot website and looking at your URL. Also add your API Key. 37 | 38 | Example: `https://uptimerobot.com/dashboard.php#888246374` The ID for this Monitor is `888246374`. 39 | 40 | Head over to GitHub and create a new repository named `username.github.io`, where username is your username (or organization name) on GitHub. *If the first part of the repository doesn’t exactly match your username, it won’t work, so make sure to get it right!* 41 | 42 | Finally, simply push `status.php` to your repository and rename it to `index.php`. 43 | 44 | You can also use GitHub.io pages with custom domains like `status.constoso.com`. [Read more about it here.](https://help.github.com/articles/quick-start-setting-up-a-custom-domain/) 45 | 46 | 47 | ### Images 48 | 49 |  50 | 51 |  52 | -------------------------------------------------------------------------------- /status.php: -------------------------------------------------------------------------------- 1 | 4 | /////////////////////////////////////////////// 5 | // CONFIG 6 | /////////////////////////////////////////////// 7 | var categories = { 8 | "Websites": { 9 | "sensors": ["777688716"], 10 | "status": "2" 11 | }, 12 | "Plex": { 13 | "sensors": ["777693990", "777893558"], 14 | "status": "2" 15 | }, 16 | "Services": { 17 | "sensors": ["777864590", "777864593", "777864591", "777899388"], 18 | "status": "2" 19 | } 20 | } 21 | var apiKey = "INSERT-APIKEYHERE" 22 | /////////////////////////////////////////////// 23 | // END CONFIG 24 | /////////////////////////////////////////////// 25 | 26 | "; 27 | ?> 28 | 29 | 30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 |