Kubesphere whizard-telemetry

Use when installing or configuring the WizTelemetry Platform Service extension for KubeSphere, which provides the common APIServer backend services for all WizTelemetry observability extensions

install
source · Clone the upstream repo
git clone https://github.com/kubesphere/kubesphere
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/kubesphere/kubesphere "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/whizard-telemetry" ~/.claude/skills/kubesphere-kubesphere-whizard-telemetry && rm -rf "$T"
manifest: skills/whizard-telemetry/SKILL.md
source content

WizTelemetry Platform Service

Overview

WizTelemetry Platform Service is a common service for all observability extensions of KubeSphere's WizTelemetry Observability Platform. It provides a common APIServer for all observability extensions, offering backend platform services for Logging, Auditing, Events, Notifications, Tracing, and more.

When to Use

  • Installing or configuring the WizTelemetry Platform Service extension
  • Managing API services for observability extensions
  • Configuring OpenSearch connections for various data types
  • Enabling Global Observability monitoring

Architecture

Components

ComponentDescriptionDefault
whizard-telemetry-apiserverCommon APIServer for all observability extensions1 replica
wiz-telemetry-consoleWeb console for WizTelemetry1 replica

Dependencies

The WizTelemetry Platform Service does not have hard dependencies on other components. All APIs can be enabled/disabled based on the deployed extensions:

  • Optional: OpenSearch - Required only when enabling logging, auditing, events, notification history, or traffic APIs
  • Optional: Prometheus - Required only when enabling monitoring API
  • Optional: Notification Manager - Required only when enabling notification API
  • Optional: KubeSphere Observability (Whizard) - Required only when enabling global observability

Configuration should be added incrementally as you deploy additional observability extensions (e.g., WhizardLogging, WhizardAuditing, WhizardEvents, WhizardNotification).

Installation

Prerequisites

Step 1: Get latest version

kubectl get extensionversions -n kubesphere-system -l kubesphere.io/extension-ref=whizard-telemetry -o jsonpath='{range .items[*]}{.spec.version}{"\n"}{end}' | sort -V | tail -1

Step 2: Generate config

Run the helper script in the skill's scripts directory:

cd whizard-telemetry && ./scripts/generate-config.sh

This script will:

  1. Check which observability extensions are installed (whizard-logging, whizard-auditing, whizard-events, whizard-notification, whizard-monitoring, whizard-alerting)
  2. Check if vector extension is installed
  3. Output the config section only (between ---CONFIG_START--- and ---CONFIG_END---)

Step 3: Create InstallPlan

Use the generated config to create the InstallPlan:

apiVersion: kubesphere.io/v1alpha1
kind: InstallPlan
metadata:
  name: whizard-telemetry
  namespace: kubesphere-system
spec:
  extension:
    name: whizard-telemetry
    version: <VERSION>  # From Step 1
  enabled: true
  upgradeStrategy: Manual
  config: |
    <CONFIG_FROM_STEP_2>

⚠️ CRITICAL: InstallPlan

metadata.name
MUST be
whizard-telemetry
. DO NOT use any other name.

Configuration from Other Extensions

The whizard-telemetry configuration is automatically generated based on which observability extensions are installed. You do NOT need to manually configure it - it will be generated when you install the corresponding extensions.

How it works:

  • When you install whizard-logging, whizard-auditing, whizard-events, etc., the system automatically generates the corresponding whizard-telemetry config
  • OpenSearch endpoint and credentials are obtained from the vector extension's secret

Configuration Parameters

The

whizard-telemetry.config
section is automatically generated by the helper script based on installed extensions. You do not need to manually configure it.

Image Parameters

ParameterTypeDefaultDescription
whizard-telemetry.apiserver.image.repository
stringkubesphere/whizard-telemetry-apiserverAPI server image
whizard-telemetry.apiserver.image.tag
stringlatestAPI server image tag
wiz-telemetry-console.image.repository
stringkubesphere/wiz-telemetry-consoleConsole image
wiz-telemetry-console.image.tag
string2.1.0Console image tag

Scheduling Parameters

ParameterTypeDefaultDescription
whizard-telemetry.apiserver.nodeSelector
object{}Node selector
whizard-telemetry.apiserver.tolerations
list[]Tolerations
whizard-telemetry.apiserver.affinity
object{}Affinity
wiz-telemetry-console.nodeSelector
object{}Node selector
wiz-telemetry-console.tolerations
list[]Tolerations
wiz-telemetry-console.affinity
object{}Affinity

Extension Operations

Check Extension Status

# View extension installation status
kubectl get installplan -n kubesphere-system -l extension.kubesphere.io/name=whizard-telemetry

# View extension version
kubectl get extensionversions -n kubesphere-system whizard-telemetry

Check Pod Status

# View API server pods
kubectl get pods -n extension-whizard-telemetry -l app=whizard-telemetry-apiserver

# View console pods
kubectl get pods -n extension-whizard-telemetry -l app=wiz-telemetry-console

View Logs

# View API server logs
kubectl logs -n extension-whizard-telemetry -l app=whizard-telemetry-apiserver --tail=100

# View console logs
kubectl logs -n extension-whizard-telemetry -l app=wiz-telemetry-console --tail=100

Uninstall Extension

# Delete the InstallPlan to uninstall
kubectl delete installplan -n kubesphere-system whizard-telemetry

Update Configuration

When new observability extensions are installed or uninstalled (e.g., whizard-logging, whizard-events, whizard-auditing), you need to update the whizard-telemetry config.

Step 1: Generate new config

cd whizard-telemetry && ./scripts/generate-config.sh

This script will check installed extensions and generate the complete config.

Step 2: Update InstallPlan

# Get the generated config (between ---CONFIG_START--- and ---CONFIG_END---)
# Then patch the InstallPlan:
kubectl get installplan whizard-telemetry -n kubesphere-system -o yaml > /tmp/whizard-telemetry.yaml

# Edit the file and update the config section, then apply:
kubectl apply -f /tmp/whizard-telemetry.yaml

Note: The config is automatically generated based on installed extensions. After installing new extensions (logging, events, auditing, notification, etc.), always regenerate and apply the config.

Troubleshooting

Check API Server Health

# Check API server endpoints
kubectl get endpoints -n extension-whizard-telemetry whizard-telemetry-apiserver

# Check API server service
kubectl get svc -n extension-whizard-telemetry whizard-telemetry-apiserver

View Configuration

# View current configuration
kubectl get installplan -n kubesphere-system whizard-telemetry -o yaml

# View configmap
kubectl get configmap -n extension-whizard-telemetry whizard-telemetry-config -o yaml