Getting Started with Helm Charts (Scalar Manager)
Scalar Manager is a centralized management and monitoring solution for ScalarDB and ScalarDL within Kubernetes cluster environments that allows you to:
- Check the availability of ScalarDB or ScalarDL.
- Schedule or execute pausing jobs that create transactionally consistent periods in the databases used by ScalarDB or ScalarDL.
- Check the time-series metrics and logs of ScalarDB or ScalarDL through Grafana dashboards.
For more details, refer to Scalar Manager Overview.
This guide will show you how to deploy and access Scalar Manager on a Kubernetes cluster.
Assumption
This guide assumes that you are aware of how to deploy ScalarDB or ScalarDL with the monitoring and logging tools to a Kubernetes cluster.
Requirement
- You must deploy
kube-prometheus-stack
according to the instructions in Getting Started with Helm Charts (Monitoring using Prometheus Operator). - You must deploy
loki-stack
according to the instructions in Getting Started with Helm Charts (Logging using Loki Stack).
What we create
We will deploy the following components on a Kubernetes cluster as follows.
+--------------------------------------------------------------------------------------------------+
| +----------------------+ |
| | scalar-manager | |
| | | |
| | +------------------+ | --------------------------(Manage)--------------------------+ |
| | | Scalar Manager | | | |
| | +------------------+ | | |
| +--+-------------------+ | |
| | | |
| +------------------------------------+ | |
| | loki-stack | V |
| | | +-----------------+ |
| | +--------------+ +--------------+ | <----------------(Log)--------------- | Scalar Products | |
| | | Loki | | Promtail | | | | |
| | +--------------+ +--------------+ | | +-----------+ | |
| +------------------------------------+ | | ScalarDB | | |
| | | +-----------+ | |
| +------------------------------------------------------+ | | |
| | kube-prometheus-stack | | +-----------+ | |
| | | | | ScalarDL | | |
| | +--------------+ +--------------+ +--------------+ | -----(Monitor)----> | +-----------+ | |
| | | Prometheus | | Alertmanager | | Grafana | | +-----------------+ |
| | +-------+------+ +------+-------+ +------+-------+ | |
| | | | | | |
| | +----------------+-----------------+ | |
| | | | |
| +--------------------------+---------------------------+ |
| | | |
| | | Kubernetes |
+----+-----------------------+---------------------------------------------------------------------+
| |
expose to localhost (127.0.0.1) or use load balancer etc to access
| |
(Access Dashboard through HTTP)
| |
+----+----+ +----+----+
| Browser | <-(Embed)-- + Browser |
+---------+ +---------+
Step 1. Upgrade the kube-prometheus-stack
to allow Grafana to be embedded
-
Add or revise this value to the custom values file (e.g. scalar-prometheus-custom-values.yaml) of the
kube-prometheus-stack
kubeStateMetrics:
enabled: true
nodeExporter:
enabled: true
kubelet:
enabled: true
grafana:
grafana.ini:
users:
default_theme: light
security:
allow_embedding: true
auth.anonymous:
enabled: true
org_name: "Main Org."
org_role: Editor -
Upgrade the Helm installation
helm upgrade scalar-monitoring prometheus-community/kube-prometheus-stack -n monitoring -f scalar-prometheus-custom-values.yaml