GithubHelp home page GithubHelp logo

jess-belliveau / ingressmonitorcontroller Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stakater/ingressmonitorcontroller

0.0 1.0 0.0 70.73 MB

A Kubernetes controller to watch ingresses and create liveness alerts for your apps/microservices in UptimeRobot, StatusCake, Pingdom, etc. – [✩Star] if you're using it!

Home Page: http://imc.stakater.com

License: Apache License 2.0

Makefile 1.09% Dockerfile 0.10% Smarty 0.68% Go 98.13%

ingressmonitorcontroller's Introduction

Ingress Monitor Controller

A Kubernetes/Openshift controller to watch ingresses/routes and create liveness alerts for your apps/microservices in Uptime checkers.

Get started with Stakater

Problem Statement

We want to monitor ingresses in a kubernetes cluster and routes in openshift cluster via any uptime checker but the problem is having to manually check for new ingresses or routes / removed ingresses or routes and add them to the checker or remove them.

Solution

This controller will continuously watch ingresses/routes in specific or all namespaces, and automatically add / remove monitors in any of the uptime checkers. With the help of this solution, you can keep a check on your services and see whether they're up and running and live, without worrying about manually registering them on the Uptime checker.

Supported Uptime Checkers

Currently we support the following monitors:

Usage

The following quickstart let's you set up Ingress Monitor Controller to register uptime monitors for ingresses/routes in all namespaces:

  1. Download the manifest file

  2. Open the downloaded file in a text editor. Configure the uptime checker in the config.yaml data for the ConfigMap resource, and set the following properties

    Key Description
    name Name of the provider (e.g. UptimeRobot)
    apiKey ApiKey of the provider
    apiURL Base url of the ApiProvider with trailing slash (e.g. https://api.uptimerobot.com/v2/)
    alertContacts A - separated list of contact id's inside double quotes that you want to add to the monitors (e.g. "1234567_8_9-9876543_2_1" )

    Note: Follow this guide to see how to fetch alertContacts from UptimeRobot.

  3. Enable for your Ingress/Route

    You will need to add the following annotation on your ingresses/routes so that the controller is able to recognize and monitor it.

    "monitor.stakater.com/enabled": "true"
  4. Deploy the controller by running the following command:

    For Kubernetes Cluster

    kubectl apply -f ingressmonitorcontroller.yaml -n default

    For Openshift Cluster

    oc create -f ingressmonitorcontroller.yaml -n default

Helm Charts

Alternatively if you have configured helm on your cluster, you can add ingressmonitorcontroller to helm from helm's public chart repository and deploy it via helm using below mentioned commands

helm repo add stable https://kubernetes-charts.storage.googleapis.com/

helm repo update

helm install stable/ingressmonitorcontroller

Help

Documentation

You can find more detailed documentation for configuration, extension, and support for other Uptime checkers etc. here

Have a question?

File a GitHub issue, or send us an email.

Talk to us on Slack

Join and talk to us on the #tools-ingressmonitor channel for discussing the Ingress Monitor Controller

Join Slack Chat

License

Apache2 © Stakater

About

The IngressMonitorController is maintained by Stakater. Like it? Please let us know at [email protected]

See our other projects or contact us in case of professional services and queries on [email protected]

Contributers

Stakater Team and the Open Source community! 🏆

ingressmonitorcontroller's People

Contributors

waseem-h avatar stakater-user avatar hazim1093 avatar faizanahmad055 avatar kahootali avatar anish-gupta-bose avatar rasheedamir avatar usamaahmadkhan avatar gempesaw avatar jess-belliveau avatar daveshepherd avatar ahsan-storm avatar arvind-naidu avatar mikulas avatar asim42 avatar chandraprakash1392 avatar

Watchers

James Cloos 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.