{"id":13449440,"url":"https://github.com/camilb/prometheus-kubernetes","last_synced_at":"2025-05-16T13:05:35.646Z","repository":{"id":45467182,"uuid":"71680737","full_name":"camilb/prometheus-kubernetes","owner":"camilb","description":"Monitoring Kubernetes  clusters on AWS, GCP and Azure using Prometheus Operator and Grafana","archived":false,"fork":false,"pushed_at":"2024-02-27T21:46:18.000Z","size":368,"stargazers_count":672,"open_issues_count":29,"forks_count":298,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-04-02T06:31:56.600Z","etag":null,"topics":["grafana","kubernetes","kubernetes-cluster","monitoring-kubernetes-clusters","prometheus","prometheus-operator"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/camilb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-23T04:02:01.000Z","updated_at":"2025-03-30T01:54:45.000Z","dependencies_parsed_at":"2024-09-27T15:40:29.739Z","dependency_job_id":null,"html_url":"https://github.com/camilb/prometheus-kubernetes","commit_stats":{"total_commits":169,"total_committers":18,"mean_commits":9.38888888888889,"dds":0.1952662721893491,"last_synced_commit":"bb1e515ce125e09f9ad7effe159292ae91db36d4"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilb%2Fprometheus-kubernetes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilb%2Fprometheus-kubernetes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilb%2Fprometheus-kubernetes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/camilb%2Fprometheus-kubernetes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/camilb","download_url":"https://codeload.github.com/camilb/prometheus-kubernetes/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247999859,"owners_count":21031046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["grafana","kubernetes","kubernetes-cluster","monitoring-kubernetes-clusters","prometheus","prometheus-operator"],"created_at":"2024-07-31T06:00:38.844Z","updated_at":"2025-04-09T08:06:10.372Z","avatar_url":"https://github.com/camilb.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Monitoring Kubernetes  clusters on AWS, GCP and Azure using Prometheus Operator by CoreOS\n\n\n![alt](https://www.camil.org/content/images/2017/cluster.png)\n\n**Note:** the work on this repository is now based on CoreOS's [kube-prometheus](https://github.com/coreos/prometheus-operator/tree/master/contrib/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.\nThe 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.\n\n## Features\n* Prometheus Operator with support for Prometheus v2.X.X\n* highly available Prometheus and Alertmaneger\n* InCluster deployment using `StatefulSets` for persistent storage\n* auto-discovery for services and pods\n* automatic RBAC configuration\n* preconfigured alerts\n* preconfigured Grafana dashboards\n* easy to setup; usually less than a minute to deploy a complete monitoring solution for Kubernetes\n* support for Kubernetes  v1.7.x and up running in  **AWS**, **GCP** and **Azure**\n* tested on clusters deployed using [kube-aws](https://github.com/kubernetes-incubator/kube-aws), [kops](https://github.com/kubernetes/kops), [GKE](https://cloud.google.com/container-engine/) and [Azure](https://azure.microsoft.com)\n## One minute deployment\n\n[![asciicast](https://asciinema.org/a/139033.png)](https://asciinema.org/a/139033)\n\n## Prerequisites\n\n* Kubernetes cluster and `kubectl` configured\n* Security Groups configured to allow the following ports:\n     * 9100/TCP  -                node-exporter\n     * 10250/TCP -                kubernetes nodes metrics,\n     * 10251/TCP -                kube-scheduler\n     * 10252/TCP -                kube-controller-manager\n     * 10054/TCP and 10055/TCP -  kube-dns\n\n#### Optional\n* SMTP Account for email alerts\n* Token for Slack alerts\n\n#### Running Kubernetes 1.12 and up?\nIf you are running Kubernetes 1.12 or higher you will also need to run [cAdvisor](https://github.com/google/cadvisor/tree/master/deploy/kubernetes) on your cluster (bound to host port 4194) in order to access resource usage and performance characteristics of running containers. \n\n## Pre-Deployment\n\nClone the repository and checkout the latest release: `curl -L https://git.io/getPrometheusKubernetes | sh -`\n\n\n## Custom settings\n\nAll the components versions can be configured using the interactive deployment script. Same for the SMTP account or the Slack token.\n\nSome other settings that can be changed before deployment:\n  * **Prometheus replicas:** default **2** ==\u003e `manifests/prometheus/prometheus-k8s.yaml`\n  * **persistent volume size:** default **40Gi** ==\u003e `manifests/prometheus/prometheus-k8s.yaml`\n  * **allocated memory for Prometheus pods:** default **2Gi** ==\u003e `manifests/prometheus/prometheus-k8s.yaml`\n  * **Alertmanager replicas:** default **3** ==\u003e `manifests/alertmanager/alertmanager.yaml`\n  * **Alertmanager configuration:** ==\u003e `assets/alertmanager/alertmanager.yaml`\n  * **custom Grafana dashboards:** add yours in `assets/grafana/` with names ending in `-dashboard.json`\n  * **custom alert rules:**  ==\u003e `assets/prometheus/rules/`\n\n**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.\n\n## Deploy\n\n    ./deploy\n\nNow you can access the dashboards locally using `kubectl port-forward`command, 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.\n\nTo remove everything, just execute the `./teardown` script.\n\n\n## Updating configurations\n\n  * **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`\n  * **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`.\n\n**Note:** all the Grafana dashboards should have names ending in `-dashboard.json`.\n\n## Custom Prometheus configuration\n\n  The official documentation for Prometheus Operator custom configuration can be found here: [custom-configuration.md](https://github.com/coreos/prometheus-operator/blob/master/Documentation/custom-configuration.md)\n  If you wish, you can update the Prometheus configuration using the `./tools/custom-configuration/update_config` script.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamilb%2Fprometheus-kubernetes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcamilb%2Fprometheus-kubernetes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcamilb%2Fprometheus-kubernetes/lists"}