Skip to content

fealone/monitapi

Repository files navigation

monitapi

All Contributors


What is this

monitapi is something to monitor API(URL) by a serverless.
It supports hosting with FastAPI, running with CLI, and deploying to serverless.

Getting Started

Please refer to the documents created by Docusaurus.
A rich README and website are in preparation.

https://fealone.github.io/monitapi

Image of operating environment

GCP

AWS

Installation

monitapi is made by Python, so can you install it via PyPI.

pip install monitapi

Example targets file

monitor_targets:
    - github-monitapi
      method: "GET"
      url: https://github.com/fealone/monitapi
      status_code: 200
      timeout: 5
      retry: 1
      retry_wait: 5

notification_targets:
    - notification-to-slack:
      type: slack
      endpoint: {Slack Incoming Webhooks endpoint}
      payload:
          blocks:
              -
                type: section
                text:
                    type: mrkdwn
                    text: "Target: {{url}}, Status: {{status_code}}, Expect: {{expected_status_code}}, Message: {{message}}"

Usage

One shot

monitapi monitor {targets.yaml}

Run with FastAPI

You need to put targets.yaml in the current directory.

monitapi serve

Deploy to serverless

monitapi deploy {platform} --name {function-name} --file {targets.yaml} --options {deploy-option}

Contributors ✨

Thanks goes to these wonderful people (emoji key):


fealone

💻 🖋 🎨 💡

This project follows the all-contributors specification. Contributions of any kind welcome!

License

This project is licensed under the GPLv3 License - see the LICENSE file for details