All Projects → camilb → Prometheus Kubernetes

camilb / Prometheus Kubernetes

Licence: apache-2.0
Monitoring Kubernetes clusters on AWS, GCP and Azure using Prometheus Operator and Grafana

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Prometheus Kubernetes

Go Project Sample
Introduce the best practice experience of Go project with a complete project example.通过一个完整的项目示例介绍Go语言项目的最佳实践经验.
Stars: ✭ 344 (-34.6%)
Mutual labels:  prometheus, grafana
Docker monitoring logging alerting
Docker host and container monitoring, logging and alerting out of the box using cAdvisor, Prometheus, Grafana for monitoring, Elasticsearch, Kibana and Logstash for logging and elastalert and Alertmanager for alerting.
Stars: ✭ 479 (-8.94%)
Mutual labels:  prometheus, grafana
Kubegraf
Grafana-plugin for k8s' monitoring
Stars: ✭ 345 (-34.41%)
Mutual labels:  prometheus, grafana
Hastic Server
Hastic data management server for analyzing patterns and anomalies from Grafana
Stars: ✭ 292 (-44.49%)
Mutual labels:  prometheus, grafana
Dockprom
Docker hosts and containers monitoring with Prometheus, Grafana, cAdvisor, NodeExporter and AlertManager
Stars: ✭ 4,489 (+753.42%)
Mutual labels:  prometheus, grafana
Prometheus
A docker-compose stack for Prometheus monitoring
Stars: ✭ 3,383 (+543.16%)
Mutual labels:  prometheus, grafana
Awesome Monitoring
INFRASTRUCTURE、OPERATION SYSTEM and APPLICATION monitoring tools for Operations.
Stars: ✭ 356 (-32.32%)
Mutual labels:  prometheus, grafana
cloud-computer
☁️ The Cloud Native Computer
Stars: ✭ 5 (-99.05%)
Mutual labels:  grafana, prometheus
Kubernetes App
A set of dashboards and panels for kubernetes.
Stars: ✭ 398 (-24.33%)
Mutual labels:  prometheus, grafana
Version Checker
Kubernetes utility for exposing image versions in use, compared to latest available upstream, as metrics.
Stars: ✭ 371 (-29.47%)
Mutual labels:  prometheus, grafana
K8s Tew
Kubernetes - The Easier Way
Stars: ✭ 269 (-48.86%)
Mutual labels:  prometheus, grafana
Cluster Monitoring
Cluster monitoring stack for clusters based on Prometheus Operator
Stars: ✭ 453 (-13.88%)
Mutual labels:  prometheus, grafana
Agent
Prometheus Metrics, Loki Logs, and Tempo Traces, optimized for Grafana Cloud.
Stars: ✭ 265 (-49.62%)
Mutual labels:  prometheus, grafana
Edgerealtimevideoanalytics
An example of using Redis Streams, RedisGears, RedisAI and RedisTimeSeries for Realtime Video Analytics (i.e. counting people)
Stars: ✭ 305 (-42.02%)
Mutual labels:  prometheus, grafana
docker-prometheus
A minimal Prometheus Server, Node Exporter, BlackBox Exporter and Grafana implementation with `docker-compose`.
Stars: ✭ 71 (-86.5%)
Mutual labels:  grafana, prometheus
Zenko
Zenko is the open source multi-cloud data controller: own and keep control of your data on any cloud.
Stars: ✭ 353 (-32.89%)
Mutual labels:  prometheus, grafana
horizon-exporter
Export Laravel Horizon metrics using this Prometheus exporter.
Stars: ✭ 17 (-96.77%)
Mutual labels:  grafana, prometheus
iota-nelson-node
IOTA Nelson docker-compose file with prometheus and grafana dashboard
Stars: ✭ 39 (-92.59%)
Mutual labels:  grafana, prometheus
Pihole Exporter
A Prometheus exporter for PI-Hole's Raspberry PI ad blocker
Stars: ✭ 352 (-33.08%)
Mutual labels:  prometheus, grafana
Victoriametrics
VictoriaMetrics: fast, cost-effective monitoring solution and time series database
Stars: ✭ 5,558 (+956.65%)
Mutual labels:  prometheus, grafana

Monitoring Kubernetes clusters on AWS, GCP and Azure using Prometheus Operator by CoreOS

alt

Note: the work on this repository is now based on CoreOS's kube-prometheus and it will be the default option for Kubernetes 1.7.X and up. For 1.5.X and 1.6.X you can deploy a simpler solution, located in ./basic directory. The purpose of this project is to provide a simple and interactive method to deploy and configure Prometheus on Kubernetes, especially for the users that are not using Helm.

Features

  • Prometheus Operator with support for Prometheus v2.X.X
  • highly available Prometheus and Alertmaneger
  • InCluster deployment using StatefulSets for persistent storage
  • auto-discovery for services and pods
  • automatic RBAC configuration
  • preconfigured alerts
  • preconfigured Grafana dashboards
  • easy to setup; usually less than a minute to deploy a complete monitoring solution for Kubernetes
  • support for Kubernetes v1.7.x and up running in AWS, GCP and Azure
  • tested on clusters deployed using kube-aws, kops, GKE and Azure

One minute deployment

asciicast

Prerequisites

  • Kubernetes cluster and kubectl configured
  • Security Groups configured to allow the following ports:
    • 9100/TCP - node-exporter
    • 10250/TCP - kubernetes nodes metrics,
    • 10251/TCP - kube-scheduler
    • 10252/TCP - kube-controller-manager
    • 10054/TCP and 10055/TCP - kube-dns

Optional

  • SMTP Account for email alerts
  • Token for Slack alerts

Running Kubernetes 1.12 and up?

If you are running Kubernetes 1.12 or higher you will also need to run cAdvisor on your cluster (bound to host port 4194) in order to access resource usage and performance characteristics of running containers.

Pre-Deployment

Clone the repository and checkout the latest release: curl -L https://git.io/getPrometheusKubernetes | sh -

Custom settings

All the components versions can be configured using the interactive deployment script. Same for the SMTP account or the Slack token.

Some other settings that can be changed before deployment:

  • Prometheus replicas: default 2 ==> manifests/prometheus/prometheus-k8s.yaml
  • persistent volume size: default 40Gi ==> manifests/prometheus/prometheus-k8s.yaml
  • allocated memory for Prometheus pods: default 2Gi ==> manifests/prometheus/prometheus-k8s.yaml
  • Alertmanager replicas: default 3 ==> manifests/alertmanager/alertmanager.yaml
  • Alertmanager configuration: ==> assets/alertmanager/alertmanager.yaml
  • custom Grafana dashboards: add yours in assets/grafana/ with names ending in -dashboard.json
  • custom alert rules: ==> assets/prometheus/rules/

Note: please commit your changes before deployment if you wish to keep them. The deploy script will remove the changes on most of the files.

Deploy

./deploy

Now you can access the dashboards locally using kubectl port-forwardcommand, or expose the services using a ingress or a LoadBalancer. Please check the ./tools directory to quickly configure a ingress or proxy the services to localhost.

To remove everything, just execute the ./teardown script.

Updating configurations

  • update alert rules: add or change the rules in assets/prometheus/rules/ and execute scripts/generate-rules-configmap.sh. Then apply the changes using kubectl apply -f manifests/prometheus/prometheus-k8s-rules.yaml -n monitoring
  • update grafana dashboards: add or change the existing dashboards in assets/grafana/ and execute scripts/generate-dashboards-configmap.sh. Then apply the changes using kubectl apply -f manifests/grafana/grafana-dashboards.cm.yaml.

Note: all the Grafana dashboards should have names ending in -dashboard.json.

Custom Prometheus configuration

The official documentation for Prometheus Operator custom configuration can be found here: custom-configuration.md If you wish, you can update the Prometheus configuration using the ./tools/custom-configuration/update_config script.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].