From bffce6b5b625cd4b706b08e1787d0ebf10e2c8f3 Mon Sep 17 00:00:00 2001 From: lijianguo Date: Wed, 16 Dec 2020 17:35:21 +0800 Subject: [PATCH] feat(influxdb): use influxdb v2 --- .../templates/monitor-grafana-deployment.yaml | 22 +++++++------- .../monitor-telegraf-deployment.yaml | 30 +++++++++---------- .../rootfs/usr/share/grafana/start-grafana | 17 ++++++----- telegraf/rootfs/config.toml.tpl | 13 ++++++++ telegraf/rootfs/start-telegraf | 2 +- 5 files changed, 49 insertions(+), 35 deletions(-) diff --git a/charts/monitor/templates/monitor-grafana-deployment.yaml b/charts/monitor/templates/monitor-grafana-deployment.yaml index 020912f..51fa86a 100644 --- a/charts/monitor/templates/monitor-grafana-deployment.yaml +++ b/charts/monitor/templates/monitor-grafana-deployment.yaml @@ -38,30 +38,30 @@ spec: {{- end}} env: {{- if eq .Values.global.influxdb_location "off-cluster" }} - - name: "INFLUXDB_URL" + - name: "INFLUXDB_URLS" valueFrom: secretKeyRef: name: influxdb-creds key: url - - name: "INFLUXDB_DATABASE" + {{- else }} + - name: "INFLUXDB_URLS" + value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)\"" + {{- end }} + - name: "INFLUXDB_BUCKET" valueFrom: secretKeyRef: name: influxdb-creds - key: database - - name: "INFLUXDB_USER" + key: bucket + - name: "INFLUXDB_ORG" valueFrom: secretKeyRef: name: influxdb-creds - key: user - - name: "INFLUXDB_PASSWORD" + key: org + - name: "INFLUXDB_TOKEN" valueFrom: secretKeyRef: name: influxdb-creds - key: password - {{- else }} - - name: "INFLUXDB_URLS" - value: http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT) - {{- end }} + key: token - name: "BIND_PORT" value: "3500" - name: "DEFAULT_USER" diff --git a/charts/monitor/templates/monitor-telegraf-deployment.yaml b/charts/monitor/templates/monitor-telegraf-deployment.yaml index d8829b8..00ddad7 100644 --- a/charts/monitor/templates/monitor-telegraf-deployment.yaml +++ b/charts/monitor/templates/monitor-telegraf-deployment.yaml @@ -43,34 +43,34 @@ spec: fieldRef: fieldPath: metadata.namespace {{- if eq .Values.global.influxdb_location "off-cluster" }} - - name: "INFLUXDB_URLS" + - name: "INFLUXDB_URLS_V2" valueFrom: secretKeyRef: name: influxdb-creds key: url - - name: "INFLUXDB_DATABASE" + {{- else }} + - name: "INFLUXDB_URLS_V2" + value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)\"" + - name: "INFLUXDB_V2_INPUT_URLS" + value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)/metrics\"" + - name: "ENABLE_INFLUXDB_V2_INPUT" + value: "true" + {{- end }} + - name: "INFLUXDB_BUCKET" valueFrom: secretKeyRef: name: influxdb-creds - key: database - - name: "INFLUXDB_USER" + key: bucket + - name: "INFLUXDB_ORG" valueFrom: secretKeyRef: name: influxdb-creds - key: user - - name: "INFLUXDB_PASSWORD" + key: org + - name: "INFLUXDB_TOKEN" valueFrom: secretKeyRef: name: influxdb-creds - key: password - {{- else }} - - name: "INFLUXDB_URLS" - value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)\"" - - name: "INFLUXDB_INPUT_URLS" - value: "\"http://$(DRYCC_INFLUXDB_SERVICE_HOST):$(DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT)/debug/vars\"" - - name: "ENABLE_INFLUXDB_INPUT" - value: "true" - {{- end }} + key: token - name: "AGENT_QUIET" value: "true" - name: "AGENT_BUFFER_LIMIT" diff --git a/grafana/rootfs/usr/share/grafana/start-grafana b/grafana/rootfs/usr/share/grafana/start-grafana index 10231e3..0dab507 100755 --- a/grafana/rootfs/usr/share/grafana/start-grafana +++ b/grafana/rootfs/usr/share/grafana/start-grafana @@ -10,16 +10,16 @@ GRAFANA_PORT=${BIND_PORT:-3000} INFLUXDB_HOST=${DRYCC_INFLUXDB_SERVICE_HOST:-"drycc-influxdb.drycc.svc.${KUBERNETES_CLUSTER_DOMAIN}"} INFLUXDB_PORT=${DRYCC_INFLUXDB_SERVICE_PORT_TRANSPORT:-8086} -INFLUXDB_DATABASE=${INFLUXDB_DATABASE:-kubernetes} -INFLUXDB_USER=${INFLUXDB_USER:-admin} -INFLUXDB_PASSWORD=${INFLUXDB_PASSWORD:-admin} +INFLUXDB_BUCKET=${INFLUXDB_BUCKET:-kubernetes} +INFLUXDB_ORG=${INFLUXDB_ORG:-drycc} +INFLUXDB_VERSION=${INFLUXDB_VERSION:-Flux} DASHBOARD_LOCATION=${DASHBOARD_JSON_PATH:-"/usr/share/grafana/api/dashboards"} # Create the dashboards directory mkdir /usr/share/grafana/dashboards echo "Building grafana.ini!" -./envtpl -in grafana.ini.tpl > grafana.ini +./envtpl > grafana.ini < grafana.ini.tpl echo "Finished building grafana config..." echo "###########################################" echo "###########################################" @@ -40,7 +40,7 @@ if [ -n "${LDAP_ENDPOINT}" ]; then fi export LDAP_HOST=${ldap_url_array[3]//\/\//} export LDAP_PORT=${ldap_url_array[4]} - ./envtpl -in ldap.toml.tpl > ldap.toml + ./envtpl > ldap.toml < ldap.toml.tpl echo "Finished building ldap config..." echo "###########################################" echo "###########################################" @@ -96,9 +96,10 @@ curl -i -XPOST -H "${HEADER_ACCEPT}" -H "${HEADER_CONTENT_TYPE}" "http://${GRAFA "access": "'"${BACKEND_ACCESS_MODE}"'", "isDefault": true, "url": "'"${INFLUXDB_URL}"'", - "password": "'"${INFLUXDB_PASSWORD}"'", - "user": "'"${INFLUXDB_USER}"'", - "database": "'"${INFLUXDB_DATABASE}"'" + "token": "'"${INFLUXDB_TOKEN}"'", + "bucket": "'"${INFLUXDB_BUCKET}"'", + "version": "'"${INFLUXDB_VERSION}"'", + "organization": "'"${INFLUXDB_ORG}"'", }' echo "" diff --git a/telegraf/rootfs/config.toml.tpl b/telegraf/rootfs/config.toml.tpl index 092a0a6..ad050f5 100644 --- a/telegraf/rootfs/config.toml.tpl +++ b/telegraf/rootfs/config.toml.tpl @@ -66,6 +66,14 @@ {{ if .INFLUXDB_UDP_PAYLOAD}} udp_payload = {{ .INFLUXDB_UDP_PAYLOAD | quote }} {{ end }} {{ end }} +{{ if .INFLUXDB_URLS_V2}} +[[outputs.influxdb_v2]] + urls = [{{ .INFLUXDB_URLS_V2 }}] + bucket = {{default "kubernetes" .INFLUXDB_BUCKET | quote }} + organization = {{default "drycc" .INFLUXDB_ORG | quote }} + token = {{default "" .INFLUXDB_TOKEN | quote }} +{{ end }} + {{ if .KAFKA_BROKERS}} [[outputs.kafka]] brokers = [{{ .KAFKA_BROKERS }}] @@ -168,6 +176,11 @@ urls = [{{ .INFLUXDB_INPUT_URLS }}] {{ end }} +{{ if .ENABLE_INFLUXDB_V2_INPUT }} +[[inputs.prometheus]] + urls = [{{ .INFLUXDB_V2_INPUT_URLS }}] +{{ end }} + {{ if and .KUBERNETES_URL .ENABLE_KUBERNETES }} [[inputs.kubernetes]] url = {{ .KUBERNETES_URL | quote }} diff --git a/telegraf/rootfs/start-telegraf b/telegraf/rootfs/start-telegraf index 2bab082..88edb0e 100755 --- a/telegraf/rootfs/start-telegraf +++ b/telegraf/rootfs/start-telegraf @@ -39,7 +39,7 @@ if [ "${INFLUXDB_URLS:0:1}" != "\"" ]; then fi echo "Building config.toml!" -envtpl -in config.toml.tpl | sed '/^$/d' > config.toml +envtpl > config.toml < config.toml.tpl | sed '/^$/d' echo "Finished building toml..." echo "###########################################"