Coder Social home page Coder Social logo

upptime's Introduction

⭐ 오픈소스 upptime 원리

  1. Github Actions의 스케줄링 기능을 이용해 미리 정의된 엔드포인트에 주기적으로 HTTP/TCP 요청을 날립니다 (기본 값: 5분).
  2. Upptime이 체크하는 여러가지 사항 중 응답이 저하되거나 다운되는 경우, 새로운 Github Issue를 발행합니다.
  3. 이후 서버 장애가 해결되면 해당 Github Issue는 Close 됩니다.
  4. 이 리포트 결과를 Github Pages로 만들어진 웹 대시보드를 통해 언제든지 확인할 수 있습니다.

Upptime

Upptime (https://upptime.js.org) is the open-source uptime monitor and status page, powered entirely by GitHub Actions, Issues, and Pages. It's made with 💚 by your friends at Koj.

I find Upptime an incredible clever usage of [GitHub Actions]. You essentially get a free configurable uptime monitor for whatever you want. – CSS Tricks

Upptime is used by 1,000+ people and teams to ensure they know when their endpoints go down.

Uptime CI Response Time CI Graphs CI Static Site CI Summary CI

📈 Live Status: 🟧 Partial outage

URL Status History Response Time Uptime
Google 🟩 Up google.yml
Response time graph 101ms
Response time 103
24-hour response time 83
7-day response time 101
30-day response time 103
1-year response time 96
100.00%All-time uptime 100.00%
24-hour uptime 100.00%
7-day uptime 100.00%
30-day uptime 100.00%
1-year uptime 100.00%
Wikipedia 🟩 Up wikipedia.yml
Response time graph 231ms
Response time 223
24-hour response time 206
7-day response time 231
30-day response time 214
1-year response time 212
100.00%All-time uptime 99.99%
24-hour uptime 100.00%
7-day uptime 100.00%
30-day uptime 100.00%
1-year uptime 99.99%
Hacker News 🟩 Up hacker-news.yml
Response time graph 324ms
Response time 358
24-hour response time 247
7-day response time 324
30-day response time 290
1-year response time 351
100.00%All-time uptime 99.93%
24-hour uptime 100.00%
7-day uptime 100.00%
30-day uptime 100.00%
1-year uptime 99.90%
Test Broken Site 🟥 Down test-broken-site.yml
Response time graph 0ms
Response time 0
24-hour response time 0
7-day response time 0
30-day response time 0
1-year response time 0
0.00%All-time uptime 0.00%
24-hour uptime 0.00%
7-day uptime 0.00%
30-day uptime 0.00%
1-year uptime 0.00%

⭐ How it works

  • GitHub Actions is used as an uptime monitor
    • Every 5 minutes, a workflow visits your website to make sure it's up
    • Response time is recorded every 6 hours and committed to git
    • Graphs of response time are generated every day
  • GitHub Issues is used for incident reports
    • An issue is opened if an endpoint is down
    • People from your team are assigned to the issue
    • Incidents reports are posted as issue comments
    • Issues are locked so non-members cannot comment on them
    • Issues are closed automatically when your site comes back up
    • Slack notifications are sent on updates
  • GitHub Pages is used for the status website
    • A simple, beautiful, and accessible PWA is generated
    • Built with Svelte and Sapper
    • Fetches data from this repository using the GitHub API

Upptime is not affiliated to or endorsed by GitHub.

Screenshot of status website

👩‍💻 Documentation

  1. How it works
  2. Getting started
  3. Configuration
  4. Triggers
  5. Notifications
  6. Badges
  7. Packages
  8. Contributing
  9. Frequently Asked Questions

Concepts

Issues as incidents

When the GitHub Actions workflow detects that one of your URLs is down, it automatically opens a GitHub issue (example issue #67). You can add incident reports to this issue by adding comments. When your site comes back up, the issue will be closed automatically as well.

Screenshot of GitHub issue Screenshot of incident page

Commits for response time

Four times per day, another workflow runs and records the response time of your websites. This data is committed to GitHub, so it's available in the commit history of each file (example commit history). Then, the GitHub API is used to graph the response time history of each endpoint and to track when a site went down.

Screenshot of GitHub commits Screenshot of live status

📄 License

Koj

An open source project by Koj.
Furnish your home in style, for as low as CHF175/month →

upptime's People

Contributors

gani0325 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.