Git Product home page Git Product logo

prometheus-grafana-learning's Introduction


Logo Logo

Prometheus Grafana Learning

An experimental setup for learning Prometheus & Grafana.

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Contributing
  4. Acknowledgments

About The Project

Prometheus and Grafana are two popular open-source infrastructure monitoring tools used in the DevOps world. This project aims to provide a minimal setup of both tools in a single node Kubernetes environment for self-exploration and learning purposes. More applications can be added to the cluster to explore different metrics and visualization.

Refer to the section below on some of the tools used to setup the local environment. Vagrant and VirtualBox may not be required if the setup is expected to run on the host machine, but that will require Ansible to be installed and manually running the playbooks to spin up the Prometheus and Grafana resources in Kubernetes.

Built With

  • Ansible
  • K3S
  • Vagrant
  • Virtualbox

(back to top)

Getting Started

Prerequisites

As mentioned in the introduction, there are a couple of tools required for the local development. Please install the tools below before proceeding with the setup.

Installation

  1. Clone the repository

    git clone https://github.com/keezw/prometheus-grafana-learning.git
  2. Change working directory

    cd prometheus-grafana-learning
  3. Spin up virtual machines that will automatically install Prometheus and Grafana

    vagrant up
  4. SSH into the virtual machine to get the Grafana credentials

    vagrant ssh
    cat grafana-creds.yml
  5. Visit the Prometheus and Grafana dashboards on the host machine at http://localhost:3000 and http://localhost:9090. Login the Grafana dashboard using the credentials obtained from step 4.

  6. Add Prometheus as data source to Grafana using http://prometheus-server-ext.default.svc and import a Kubernetes dashboard to get started e.g. 315, 13332.

Slack Integration

To try out Slack notification, create a file slack.yml in the directory ansible/vars/secrets/ before spinning up the virtual machine. In the slack.yml file, provide the slack api url. For example:

---
slack_api_url: <replace with your webhook url>

Clean up environment

  1. Change directory into the cloned repo

    cd prometheus-grafana-learning
  2. Destroy the created virtual machines

    vagrant destroy

(back to top)

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. Any form of contributions is greatly appreciated!

You can also open an issue with any bugs you found or any suggestions you have. Thank you!

(back to top)

Acknowledgments

(back to top)

prometheus-grafana-learning's People

Contributors

zwkee avatar

Stargazers

mk avatar

Watchers

Kee, Zhen Wei avatar

Forkers

mk3-14159

prometheus-grafana-learning's Issues

Environment Setup

Consider setting up environment and networking of Prometheus, Grafana and Node Exporter in a docker compose script.

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.