Kubernetes Monitoring Stack
Kubernetes Monitoring Stack
by DigitalOcean

Version 2.0

KUBERNETESMONITORING

Description

The Kubernetes Monitoring Stack distills operational knowledge of integrating Prometheus, Grafana, and metrics-server for deployment onto DigitalOcean Kubernetes clusters.

This stack provides core metrics configured with cluster specific graphs tested to ensure that they function properly on DigitalOcean Kubernetes. Use this Stack to monitor your Kubernetes cluster and applications, or utilize it to provide observability for applications you are hosting outside of your cluster.

This stack source is Open Source and can be found at https://github.com/digitalocean/marketplace-kubernetes. Contributions on bug fixes and features will be kindly reviewed.

Thank you to all the contributors whose hard work make this software valuable for users.

Software Included

Getting started after deploying Kubernetes Monitoring Stack

After you've installed this app onto your cluster, you'll need to ensure that you have kubectl access to that cluster. Follow these instructions on how to connect to your cluster if you haven't already.

Grafana

Grafana isn't exposed on a public IP. However, you can use port-forwarding to access your Grafana dashboard.

Set up port-forwarding using the following command:

kubectl port-forward svc/kube-prometheus-stack-grafana 8080:80 -n kube-prometheus-stack

Your Grafana instance will now be available at http://localhost:8080.

Login with the following credentials:

Username: admin
Password: prom-operator

To change the password:

  1. Log into to Grafana with default username and password
  2. Click on the admin avatar in the bottom left in Grafana. (above the question mark)
  3. Click on Change Password
  4. Follow the instructions and click “Change password”

Once you have logged in the default Grafana Home dashboard will be displayed. To see cluster specific graphs enabled in this stack go to the “Home” menu in the upper left hand corner of your Grafana web browser page. Pull down the Home Menu and select a dashboard.

Explore other Prometheus datasource based Kubernetes dashboards at: https://grafana.com/dashboards?dataSource=prometheus&search=kubernetes

For more information on how to build your own dashboard check out: https://grafana.com/docs/guides/getting_started/

Note: Grafana is configured to create a 10 GB persistent volume.

Prometheus

The Prometheus Expression Browser enables queries of the data stored in Prometheus. You can access the Prometheus Expression Browser by run the following command:

kubectl port-forward svc/kube-prometheus-stack-prometheus 9090 -n kube-prometheus-stack

Your Prometheus instance will now be available at http://localhost:9090.

To see an example query of the per-second rate of chunks being created try:

http://localhost:9090/graph?g0.range_input=1h&g0.expr=rate(prometheus_tsdb_head_chunks_created_total[1m])&g0.tab=0

Additional information about the expression language and the Expression Browser can be found at: https://prometheus.io/docs/prometheus/latest/getting_started/#using-the-expression-browser.

Note: In this configuration Prometheus will store data for up to 30 days.

Alertmanager

The Alertmanager manages alerts being sent from Prometheus and can relay those alerts to services such as email, PagerDuty, or Slack.

To access Prometheus Alertmanager, run the following command:

kubectl port-forward svc/kube-prometheus-stack-alertmanager 9093 -n kube-prometheus-stack

Your Alertmanager instance will now be available at http://localhost:9093.

To set up an alert, follow the instructions at https://prometheus.io/docs/alerting/overview/.

metrics-server

Metrics Server is a scalable, efficient source of container resource metrics.

To view node-level metrics, run the following command:

kubectl top nodes

To view pod-level metrics across all namespaces, run the following command:

kubectl top pods --all-namespaces

Upgrading your 1-Click App

You can run the following command to update Prometheus Operator to the latest version:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm upgrade kube-prometheus-stack prometheus-community/kube-prometheus-stack --namespace kube-prometheus-stack

To update Metrics Server, you'll run the following commands:

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update > /dev/null
helm upgrade metrics-server bitnami/metrics-server --namespace kube-system

API Creation

In addition to creating Kubernetes Monitoring Stack via the control panel, you can also use the DigitalOcean API.

As an example, to create a 3 node DigitalOcean Kubernetes cluster made up of Basic Droplets in the SFO2 region, you can use the following curl command. You’ll need to either save your API access token to an environment variable or substitute it into the command below.


  curl -X POST -H "Content-Type: application/json" \
      -H "Authorization: Bearer '$TOKEN'" -d \
      '{"name": "choose-a-name","region": "sfo2","version": "1.17.5-do.0","node_pools": [{"size": "s-1vcpu-2gb","count": 3,"name": "choose-a-name"}]}' \
      "https://api.digitalocean.com/v2/kubernetes/clusters"
      

Support Details

Supported By:DigitalOceanDigitalOcean
Hours:Monday - Friday 8am - 5pm Eastern
Support URL:https://github.com/digitalocean/marketplace-kubernetes/issues
Support Email:one-clicks-team@digitalocean.com

More DigitalOcean Links

DigitalOcean Community

Developers supporting developers

Ask a Question

Ask anything related to system administration, programming, devops, open source, or the DigitalOcean platform.

List your 1-Click App in the DigitalOcean Marketplace

Partner with us to build traction for your open source project or software company