This is an automated email from the ASF dual-hosted git repository. wankai pushed a commit to branch promql in repository https://gitbox.apache.org/repos/asf/skywalking-showcase.git
The following commit(s) were added to refs/heads/promql by this push: new 54a5093 add promql showcase docker deployment. 54a5093 is described below commit 54a5093d30ec95aea00eb4dc5c419205540fa431 Author: wankai123 <wankai...@foxmail.com> AuthorDate: Tue Mar 7 09:31:16 2023 +0800 add promql showcase docker deployment. --- .../promql}/dashboards/general-service.json | 0 .../promql}/dashboards/service-mesh.json | 0 .../promql}/dashboards/virtual-database.json | 0 deploy/platform/docker/Makefile.in | 2 +- .../promql/datasources.yaml} | 11 +++++++-- .../{Makefile.in => config/promql/grafana.ini} | 10 +++++++-- .../{Makefile.in => config/promql/providers.yaml} | 10 +++++++-- .../{Makefile.in => docker-compose.promql.yaml} | 16 +++++++++++-- .../kubernetes/feature-promql/resources.yaml | 26 +++++++++++++--------- deploy/platform/kubernetes/features.mk | 2 +- docs/readme.md | 1 + 11 files changed, 57 insertions(+), 21 deletions(-) diff --git a/deploy/platform/kubernetes/feature-promql/dashboards/general-service.json b/deploy/platform/config/promql/dashboards/general-service.json similarity index 100% rename from deploy/platform/kubernetes/feature-promql/dashboards/general-service.json rename to deploy/platform/config/promql/dashboards/general-service.json diff --git a/deploy/platform/kubernetes/feature-promql/dashboards/service-mesh.json b/deploy/platform/config/promql/dashboards/service-mesh.json similarity index 100% rename from deploy/platform/kubernetes/feature-promql/dashboards/service-mesh.json rename to deploy/platform/config/promql/dashboards/service-mesh.json diff --git a/deploy/platform/kubernetes/feature-promql/dashboards/virtual-database.json b/deploy/platform/config/promql/dashboards/virtual-database.json similarity index 100% rename from deploy/platform/kubernetes/feature-promql/dashboards/virtual-database.json rename to deploy/platform/config/promql/dashboards/virtual-database.json diff --git a/deploy/platform/docker/Makefile.in b/deploy/platform/docker/Makefile.in index 2d9c98c..a0bea00 100644 --- a/deploy/platform/docker/Makefile.in +++ b/deploy/platform/docker/Makefile.in @@ -17,4 +17,4 @@ # .EXPORT_ALL_VARIABLES: -FEATURE_FLAGS ?= agent,cluster,so11y,vm,event,mysql,apisix-monitor +FEATURE_FLAGS ?= agent,cluster,so11y,vm,event,mysql,apisix-monitor,promql diff --git a/deploy/platform/docker/Makefile.in b/deploy/platform/docker/config/promql/datasources.yaml similarity index 82% copy from deploy/platform/docker/Makefile.in copy to deploy/platform/docker/config/promql/datasources.yaml index 2d9c98c..d30ff86 100644 --- a/deploy/platform/docker/Makefile.in +++ b/deploy/platform/docker/config/promql/datasources.yaml @@ -16,5 +16,12 @@ # under the License. # -.EXPORT_ALL_VARIABLES: -FEATURE_FLAGS ?= agent,cluster,so11y,vm,event,mysql,apisix-monitor +apiVersion: 1 +datasources: + - access: proxy + editable: true + isDefault: true + name: SkyWalking + orgId: 1 + type: prometheus + url: http://oap:9090 diff --git a/deploy/platform/docker/Makefile.in b/deploy/platform/docker/config/promql/grafana.ini similarity index 70% copy from deploy/platform/docker/Makefile.in copy to deploy/platform/docker/config/promql/grafana.ini index 2d9c98c..a6d181c 100644 --- a/deploy/platform/docker/Makefile.in +++ b/deploy/platform/docker/config/promql/grafana.ini @@ -16,5 +16,11 @@ # under the License. # -.EXPORT_ALL_VARIABLES: -FEATURE_FLAGS ?= agent,cluster,so11y,vm,event,mysql,apisix-monitor +# This file contains the targets to deploy features that are not +# applicable to deploy via manifest, we can deploy them via command +# line interface here, for better maintainability. + +[paths] +provisioning = /etc/grafana/provisioning +[dashboards] +default_home_dashboard_path = /var/lib/grafana/dashboards/skywalking/general-service.json diff --git a/deploy/platform/docker/Makefile.in b/deploy/platform/docker/config/promql/providers.yaml similarity index 83% copy from deploy/platform/docker/Makefile.in copy to deploy/platform/docker/config/promql/providers.yaml index 2d9c98c..af7148f 100644 --- a/deploy/platform/docker/Makefile.in +++ b/deploy/platform/docker/config/promql/providers.yaml @@ -16,5 +16,11 @@ # under the License. # -.EXPORT_ALL_VARIABLES: -FEATURE_FLAGS ?= agent,cluster,so11y,vm,event,mysql,apisix-monitor +apiVersion: 1 +providers: + - name: skywalking + orgId: 1 + type: file + folder: 'skywalking' + options: + path: /var/lib/grafana/dashboards diff --git a/deploy/platform/docker/Makefile.in b/deploy/platform/docker/docker-compose.promql.yaml similarity index 62% copy from deploy/platform/docker/Makefile.in copy to deploy/platform/docker/docker-compose.promql.yaml index 2d9c98c..aa5c256 100644 --- a/deploy/platform/docker/Makefile.in +++ b/deploy/platform/docker/docker-compose.promql.yaml @@ -15,6 +15,18 @@ # specific language governing permissions and limitations # under the License. # +version: '2.1' -.EXPORT_ALL_VARIABLES: -FEATURE_FLAGS ?= agent,cluster,so11y,vm,event,mysql,apisix-monitor +services: + grafana: + image: grafana/grafana:9.1.0 + networks: [ sw ] + volumes: + - ./config/promql/grafana.ini:/etc/grafana/grafana.ini + - ./config/promql/providers.yaml:/etc/grafana/provisioning/dashboards/providers.yaml + - ./config/promql/datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml + - ../config/promql/dashboards:/var/lib/grafana/dashboards/skywalking + ports: + - "3000:3000" +networks: + sw: diff --git a/deploy/platform/kubernetes/feature-promql/resources.yaml b/deploy/platform/kubernetes/feature-promql/resources.yaml index a07d2bd..1bfca58 100644 --- a/deploy/platform/kubernetes/feature-promql/resources.yaml +++ b/deploy/platform/kubernetes/feature-promql/resources.yaml @@ -16,6 +16,7 @@ # under the License. # +#This config is for the showcase, when deploy own free to modify it. --- apiVersion: v1 kind: ConfigMap @@ -23,22 +24,24 @@ metadata: name: grafana-config data: grafana.ini: | + [security] + disable_initial_admin_creation = true [auth.anonymous] enabled = true org_name = Main Org. # `Viewer`, `Editor` and `Admin` - org_role = Editor + org_role = Viewer [auth.basic] enabled = false [auth] disable_login_form = true + disable_signout_menu = true [paths] - data = /var/lib/grafana/ - logs = /var/log/grafana - plugins = /var/lib/grafana/plugins provisioning = /etc/grafana/provisioning [dashboards] - default_home_dashboard_path = /var/lib/grafana/dashboards/general-service.json + default_home_dashboard_path = /var/lib/grafana/dashboards/skywalking/general-service.json + [users] + viewers_can_edit = true providers.yaml: | apiVersion: 1 providers: @@ -47,15 +50,16 @@ data: allowUiUpdates: false orgId: 1 type: file - folder: '' + folder: 'skywalking' options: path: /var/lib/grafana/dashboards + foldersFromFilesStructure: true datasources.yaml: | apiVersion: 1 datasources: - access: proxy - editable: true + editable: false isDefault: true name: SkyWalking orgId: 1 @@ -96,15 +100,15 @@ spec: mountPath: /etc/grafana/provisioning/dashboards/providers.yaml subPath: providers.yaml - name: dashboards-general-service - mountPath: /var/lib/grafana/dashboards/general-service.json + mountPath: /var/lib/grafana/dashboards/skywalking/general-service.json subPath: general-service.json - name: dashboards-service-mesh - mountPath: /var/lib/grafana/dashboards/service-mesh.json + mountPath: /var/lib/grafana/dashboards/skywalking/service-mesh.json subPath: service-mesh.json - name: dashboards-virtual-database - mountPath: /var/lib/grafana/dashboards/virtual-database.json + mountPath: /var/lib/grafana/dashboards/skywalking/virtual-database.json subPath: virtual-database.json - volumes: + volumes: # require create configmap from deploy/platform/config/promql/dashboards - name: grafana-config configMap: name: grafana-config diff --git a/deploy/platform/kubernetes/features.mk b/deploy/platform/kubernetes/features.mk index 29af396..159fccb 100644 --- a/deploy/platform/kubernetes/features.mk +++ b/deploy/platform/kubernetes/features.mk @@ -162,7 +162,7 @@ undeploy.feature-function: helm # @feature: promql; extra configmaps to create for grafana dashboards .PHONY: feature-promql feature-promql: -dashboards := $(wildcard ./feature-promql/dashboards/*.json) +dashboards := $(wildcard ../config/promql/dashboards/*.json) .PHONY: deploy.feature-promql deploy.feature-promql: diff --git a/docs/readme.md b/docs/readme.md index e60d2f9..362dc38 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -105,6 +105,7 @@ Currently, the features supported are: | `postgresql` | Start a PostgreSQL server, and load generator to execute the sample SQLs periodically, set up fluent bit to fetch slow logs and export to OAP, and export their metrics to SkyWalking. | | | `apisix-monitor` | Deploy OpenTelemetry and export APISIX metrics to SkyWalking for analysis and display on UI | | | `mesh-with-agent` | Deploy services with java agent in the service mesh environment. | Only support deployment in the Kubernetes environment, docker is not supported. | +| `promql` | Deploy a Grafana to use promql service and show SkyWalking UI on the Grafana. | Free to modify the Grafana config when deploy own. | ### Kubernetes