Merge pull request 'feat: add dashboard intergration guideline' (#104) from icecheng/feature into master
Reviewed-on: https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-ops/pulls/104
This commit is contained in:
commit
8b08495717
BIN
docs/asserts/image.png
Normal file
BIN
docs/asserts/image.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 214 KiB |
BIN
docs/asserts/image1.png
Normal file
BIN
docs/asserts/image1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 386 KiB |
BIN
docs/asserts/image2.png
Normal file
BIN
docs/asserts/image2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 513 KiB |
BIN
docs/asserts/image3.png
Normal file
BIN
docs/asserts/image3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 387 KiB |
@ -1,15 +1,16 @@
|
||||
# 1. 服务提供Metrics接口
|
||||
# 1. Service Provides Metrics Interface
|
||||
|
||||
在`webapi/providers`目录下创建一个`metrics.py`文件,用于提供Metrics接口。
|
||||
Create a `metrics.py` file in the `webapi/providers` directory to provide the Metrics interface.
|
||||
|
||||
内容如下
|
||||
Content as follows:
|
||||
```
|
||||
# Prometheus metric prefix is : freeleaps_metrics
|
||||
def register(app):
|
||||
instrumentator = (
|
||||
Instrumentator().instrument(
|
||||
app,
|
||||
metric_namespace="freeleaps-mertics",
|
||||
metric_subsystem=app_settings.APP_NAME)
|
||||
metric_namespace="freeleaps",
|
||||
metric_subsystem="metrics",)
|
||||
)
|
||||
|
||||
@app.on_event("startup")
|
||||
@ -18,32 +19,32 @@ def register(app):
|
||||
logging.info("Metrics endpoint exposed at /api/_/metrics")
|
||||
```
|
||||
|
||||
参考https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-service-hub/src/branch/master/apps/metrics的接入方式
|
||||
Reference the integration approach at https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-service-hub/src/branch/master/apps/metrics
|
||||
|
||||
|
||||
# 2. 配置Metrics采集
|
||||
# 2. Configure Metrics Collection
|
||||
|
||||
## 2.1. 找到helm pkg目录
|
||||
对于freeleaps内部服务而言,你需要在freeleaps-ops仓库下找到该服务部署的helm-package配置
|
||||
> 比如metrics服务,他的配置在`https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-ops/src/branch/master/freeleaps/helm-pkg/metrics`
|
||||
## 2.1. Find the helm pkg directory
|
||||
For freeleaps internal services, you need to find the helm-package configuration for the service deployment in the freeleaps-ops repository
|
||||
> For example, the metrics service configuration is at `https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-ops/src/branch/master/freeleaps/helm-pkg/metrics`
|
||||
|
||||
对于freeleaps租户服务而言(通过one-click部署),你需要在对应服务仓库下找到`.freeleas/devops/helm-pkg`
|
||||
> 比如magicleaps服务,他的配置在`https://gitea.freeleaps.mathmast.com/products/magicleaps/src/branch/main/.freeleaps/devops/helm-pkg`
|
||||
For freeleaps tenant services (deployed via one-click), you need to find `.freeleaps/devops/helm-pkg` in the corresponding service repository
|
||||
> For example, the magicleaps service configuration is at `https://gitea.freeleaps.mathmast.com/products/magicleaps/src/branch/main/.freeleaps/devops/helm-pkg`
|
||||
|
||||
## 2.2. 新增新增servicemonitor配置
|
||||
在templates文件夹下新增`servicemonitor.yaml`文件,内容如下,内容参考`https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-ops/src/branch/master/freeleaps/helm-pkg/notification/templates/notification/servicemonitor.yaml`
|
||||
## 2.2. Add servicemonitor configuration
|
||||
Add a `servicemonitor.yaml` file in the templates folder with the following content, referencing `https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-ops/src/branch/master/freeleaps/helm-pkg/notification/templates/notification/servicemonitor.yaml`
|
||||
|
||||
根据value.yaml中的配置,更新必要内容,比如第6行从notification修改为metrics
|
||||
Update necessary content based on the configuration in value.yaml, for example, change line 6 from notification to metrics
|
||||
|
||||
## 2.3. 修改value.{alpha|prod}.yaml
|
||||
新增serviceMonitor配置,参考`https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-ops/src/branch/master/freeleaps/helm-pkg/notification/values.prod.yaml`
|
||||
## 2.3. Modify value.{alpha|prod}.yaml
|
||||
Add serviceMonitor configuration, referencing `https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-ops/src/branch/master/freeleaps/helm-pkg/notification/values.prod.yaml`
|
||||
```
|
||||
- name: notification-service
|
||||
type: ClusterIP
|
||||
port: 8003
|
||||
targetPort: 8003
|
||||
serviceMonitor:
|
||||
enabled: true # alpha环境设置为false
|
||||
enabled: true # Set to false for alpha environment
|
||||
labels:
|
||||
release: kube-prometheus-stack
|
||||
namespace: freeleaps-monitoring-system
|
||||
@ -51,22 +52,36 @@ def register(app):
|
||||
scrapeTimeout: ''
|
||||
```
|
||||
|
||||
# 3. 配置Grafanana Dashboard
|
||||
## 2.4. Verify Metrics Collection Results
|
||||
|
||||
## 2.1. 在helm-pkg下新增`dashboard.yaml`
|
||||
Forward the service [kube-prometheus-stack-prometheus] to local port through LENS, access `http://localhost:9090/targets` to check if the corresponding Endpoint can be found
|
||||

|
||||
Access `http://localhost:9090/query` to check if the corresponding metrics can be found
|
||||

|
||||
|
||||
内容参考`https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-ops/src/branch/master/freeleaps/helm-pkg/notification/templates/notification/dashboard.yaml`
|
||||
# 3. Configure Grafana Dashboard
|
||||
|
||||
# 3. Configure Grafana Dashboard
|
||||
|
||||
## 3.1. Add `dashboard.yaml` under helm-pkg
|
||||
|
||||
Content reference `https://gitea.freeleaps.mathmast.com/freeleaps/freeleaps-ops/src/branch/master/freeleaps/helm-pkg/notification/templates/notification/dashboard.yaml`
|
||||
|
||||
|
||||
## 2.2. 修改value.{alpha|prod}.yaml
|
||||
## 3.2. Modify value.{alpha|prod}.yaml
|
||||
|
||||
```yaml
|
||||
dashboard:
|
||||
enabled: true # alphah环境设置为false
|
||||
enabled: true # Set to false for alpha environment
|
||||
name: freeleaps-prod-metrics-dashboard
|
||||
title: Freeleaps Metrics Dashboard (PROD/ALPHA)
|
||||
metricsPrefix: freeleaps_metrics
|
||||
```
|
||||
|
||||
## 3.3. Verify Dashboard Addition
|
||||
|
||||
Login to `https://grafana.mathmast.com` to check if the dashboard was added successfully
|
||||
|
||||

|
||||
|
||||

|
||||
@ -5,8 +5,8 @@ global:
|
||||
logIngest:
|
||||
enabled: false
|
||||
dashboard:
|
||||
enabled: true
|
||||
name: freeleaps-prod-metrics-dashboard
|
||||
enabled: false
|
||||
name: freeleaps-alpha-metrics-dashboard
|
||||
title: Freeleaps Metrics Dashboard (ALPHA)
|
||||
metricsPrefix: freeleaps_metrics
|
||||
metrics:
|
||||
@ -56,7 +56,7 @@ metrics:
|
||||
port: 8009
|
||||
targetPort: 8009
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
enabled: false
|
||||
labels:
|
||||
release: kube-prometheus-stack
|
||||
namespace: freeleaps-monitoring-system
|
||||
|
||||
@ -5,7 +5,7 @@ global:
|
||||
logIngest:
|
||||
enabled: false
|
||||
dashboard:
|
||||
enabled: false
|
||||
enabled: true
|
||||
name: freeleaps-prod-metrics-dashboard
|
||||
title: Freeleaps Metrics Dashboard (PROD)
|
||||
metricsPrefix: freeleaps_metrics
|
||||
@ -56,7 +56,7 @@ metrics:
|
||||
port: 8009
|
||||
targetPort: 8009
|
||||
serviceMonitor:
|
||||
enabled: false
|
||||
enabled: true
|
||||
labels:
|
||||
release: kube-prometheus-stack
|
||||
namespace: freeleaps-monitoring-system
|
||||
|
||||
@ -6,7 +6,7 @@ logIngest:
|
||||
enabled: false
|
||||
dashboard:
|
||||
enabled: false
|
||||
name: freeleaps-prod-metrics-dashboard
|
||||
name: freeleaps-metrics-dashboard
|
||||
title: Freeleaps Metrics Dashboard
|
||||
metrics:
|
||||
replicas: 1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user