{"id":"e5034801-ede8-4c57-b3fb-9879315c4037","shortId":"bMQvXT","kind":"skill","title":"whizard-telemetry","tagline":"Use when installing or configuring the WizTelemetry Platform Service extension for KubeSphere, which provides the common APIServer backend services for all WizTelemetry observability extensions","description":"# WizTelemetry Platform Service\n\n## Overview\n\nWizTelemetry 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.\n\n## When to Use\n\n- Installing or configuring the WizTelemetry Platform Service extension\n- Managing API services for observability extensions\n- Configuring OpenSearch connections for various data types\n- Enabling Global Observability monitoring\n\n## Architecture\n\n### Components\n\n| Component | Description | Default |\n|-----------|-------------|---------|\n| whizard-telemetry-apiserver | Common APIServer for all observability extensions | 1 replica |\n| wiz-telemetry-console | Web console for WizTelemetry | 1 replica |\n\n### Dependencies\n\nThe WizTelemetry Platform Service does not have hard dependencies on other components. All APIs can be enabled/disabled based on the deployed extensions:\n\n- **Optional**: OpenSearch - Required only when enabling logging, auditing, events, notification history, or traffic APIs\n- **Optional**: Prometheus - Required only when enabling monitoring API\n- **Optional**: Notification Manager - Required only when enabling notification API\n- **Optional**: KubeSphere Observability (Whizard) - Required only when enabling global observability\n\nConfiguration should be added incrementally as you deploy additional observability extensions (e.g., WhizardLogging, WhizardAuditing, WhizardEvents, WhizardNotification).\n\n## Installation\n\n### Prerequisites\n\n**Step 1: Get latest version**\n\n```bash\nkubectl get extensionversions -l kubesphere.io/extension-ref=whizard-telemetry -o jsonpath='{range .items[*]}{.spec.version}{\"\\n\"}{end}' | sort -V | tail -1\n```\n\n**Step 2: Generate config**\n\nRun the helper script in the skill's scripts directory:\n\n```bash\ncd whizard-telemetry && ./scripts/generate-config.sh\n```\n\nThis script will:\n1. Check which observability extensions are installed (whizard-logging, whizard-auditing, whizard-events, whizard-notification, whizard-monitoring, whizard-alerting)\n2. Check if vector extension is installed\n3. Output the config section only (between ---CONFIG_START--- and ---CONFIG_END---)\n\n**Step 3: Create InstallPlan**\n\nUse the generated config to create the InstallPlan:\n\n```yaml\napiVersion: kubesphere.io/v1alpha1\nkind: InstallPlan\nmetadata:\n  name: whizard-telemetry\nspec:\n  extension:\n    name: whizard-telemetry\n    version: <VERSION>  # From Step 1\n  enabled: true\n  upgradeStrategy: Manual\n  config: |\n    <CONFIG_FROM_STEP_2>\n```\n\n**⚠️ CRITICAL: InstallPlan `metadata.name` MUST be `whizard-telemetry`. DO NOT use any other name.**\n\n### Configuration from Other Extensions\n\nThe 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.\n\n**How it works:**\n- When you install whizard-logging, whizard-auditing, whizard-events, etc., the system automatically generates the corresponding whizard-telemetry config\n- OpenSearch endpoint and credentials are obtained from the **vector extension's secret**\n\n## Configuration Parameters\n\nThe `whizard-telemetry.config` section is automatically generated by the helper script based on installed extensions. You do not need to manually configure it.\n\n### Image Parameters\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `whizard-telemetry.apiserver.image.repository` | string | kubesphere/whizard-telemetry-apiserver | API server image |\n| `whizard-telemetry.apiserver.image.tag` | string | latest | API server image tag |\n| `wiz-telemetry-console.image.repository` | string | kubesphere/wiz-telemetry-console | Console image |\n| `wiz-telemetry-console.image.tag` | string | 2.1.0 | Console image tag |\n\n### Scheduling Parameters\n\n| Parameter | Type | Default | Description |\n|-----------|------|---------|-------------|\n| `whizard-telemetry.apiserver.nodeSelector` | object | {} | Node selector |\n| `whizard-telemetry.apiserver.tolerations` | list | [] | Tolerations |\n| `whizard-telemetry.apiserver.affinity` | object | {} | Affinity |\n| `wiz-telemetry-console.nodeSelector` | object | {} | Node selector |\n| `wiz-telemetry-console.tolerations` | list | [] | Tolerations |\n| `wiz-telemetry-console.affinity` | object | {} | Affinity |\n\n## Extension Operations\n\n### Check Extension Status\n\n```bash\n# View extension installation status\nkubectl get installplan whizard-telemetry\n\n# View extension version\nkubectl get extensionversions -l kubesphere.io/extension-ref=whizard-telemetry\n```\n\n### Check Pod Status\n\n```bash\n# View API server pods\nkubectl get pods -n extension-whizard-telemetry -l app=whizard-telemetry-apiserver\n\n# View console pods\nkubectl get pods -n extension-whizard-telemetry -l app=wiz-telemetry-console\n```\n\n### View Logs\n\n```bash\n# View API server logs\nkubectl logs -n extension-whizard-telemetry -l app=whizard-telemetry-apiserver --tail=100\n\n# View console logs\nkubectl logs -n extension-whizard-telemetry -l app=wiz-telemetry-console --tail=100\n```\n\n### Uninstall Extension\n\n```bash\n# Delete the InstallPlan to uninstall\nkubectl delete installplan whizard-telemetry\n```\n\n### Update Configuration\n\nWhen new observability extensions are installed or uninstalled (e.g., whizard-logging, whizard-events, whizard-auditing), you need to update the whizard-telemetry config.\n\n**Step 1: Generate new config**\n\n```bash\ncd whizard-telemetry && ./scripts/generate-config.sh\n```\n\nThis script will check installed extensions and generate the complete config.\n\n**Step 2: Update InstallPlan**\n\n```bash\n# Get the generated config (between ---CONFIG_START--- and ---CONFIG_END---)\n# Then patch the InstallPlan:\nkubectl get installplan whizard-telemetry -n kubesphere-system -o yaml > /tmp/whizard-telemetry.yaml\n\n# Edit the file and update the config section, then apply:\nkubectl apply -f /tmp/whizard-telemetry.yaml\n```\n\n**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.\n\n## Troubleshooting\n\n### Check API Server Health\n\n```bash\n# Check API server endpoints\nkubectl get endpoints -n extension-whizard-telemetry whizard-telemetry-apiserver\n\n# Check API server service\nkubectl get svc -n extension-whizard-telemetry whizard-telemetry-apiserver\n```\n\n\n### View Configuration\n\n```bash\n# View current configuration\nkubectl get installplan whizard-telemetry -o yaml\n\n# View configmap\nkubectl get configmap -n extension-whizard-telemetry whizard-telemetry-config -o yaml\n```","tags":["whizard","telemetry","kubesphere","agent-skills","cloud-native","cncf","devops","ebpf","hacktoberfest","kubernetes","llm","multi-cluster"],"capabilities":["skill","source-kubesphere","skill-whizard-telemetry","topic-agent-skills","topic-cloud-native","topic-cncf","topic-devops","topic-ebpf","topic-hacktoberfest","topic-kubernetes","topic-kubesphere","topic-llm","topic-multi-cluster","topic-multi-tenancy","topic-observability"],"categories":["kubesphere"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/kubesphere/kubesphere/whizard-telemetry","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add kubesphere/kubesphere","source_repo":"https://github.com/kubesphere/kubesphere","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 16920 github stars · SKILL.md body (6,793 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-03T00:52:31.521Z","embedding":null,"createdAt":"2026-04-18T21:53:22.349Z","updatedAt":"2026-05-03T00:52:31.521Z","lastSeenAt":"2026-05-03T00:52:31.521Z","tsv":"'-1':230 '/extension-ref=whizard-telemetry':219,531 '/scripts/generate-config.sh':250,664 '/tmp/whizard-telemetry.yaml':707,721 '/v1alpha1':314 '1':113,123,208,254,331,655 '100':592,610 '2':232,279,677 '2.1.0':476 '3':286,299 'ad':192 'addit':197 'affin':495,505 'alert':278 'alway':741 'api':82,139,161,169,178,459,465,537,575,749,754,770 'apiserv':20,53,106,108,553,590,768,784 'apivers':311 'app':549,566,586,604 'appli':717,719,744 'architectur':98 'audit':64,155,266,399,644,738 'automat':361,406,432,726 'backend':21,59 'base':143,363,438,728 'bash':212,245,511,535,573,613,659,680,752,787 'cd':246,660 'check':255,280,508,532,668,748,753,769 'common':19,37,52,107 'complet':674 'compon':99,100,137 'config':234,289,293,296,305,336,413,653,658,675,684,686,689,714,724,746,812 'configmap':800,803 'configur':8,75,87,189,351,359,376,426,448,626,786,790 'connect':89 'consol':118,120,472,477,555,570,594,608 'correspond':386,409 'creat':300,307 'credenti':417 'critic':337 'current':789 'data':92 'default':102,454,484 'delet':614,620 'depend':125,134 'deploy':146,196 'descript':101,455,485 'directori':244 'e.g':200,635 'edit':708 'enabl':94,153,167,176,186,332 'enabled/disabled':142 'end':226,297,690 'endpoint':415,756,759 'etc':403,740 'event':65,156,269,402,641,737 'extens':13,27,42,57,80,86,112,147,199,258,283,323,354,367,387,423,441,506,509,513,523,545,562,582,600,612,630,670,731,735,762,778,806 'extension-whizard-telemetri':544,561,581,599,761,777,805 'extensionvers':215,527 'f':720 'file':710 'generat':233,304,362,381,407,433,656,672,683,727 'get':209,214,517,526,541,558,681,696,758,774,792,802 'global':95,187 'hard':133 'health':751 'helper':237,436 'histori':158 'imag':450,461,467,473,478 'increment':193 'instal':6,73,205,260,285,369,384,393,440,514,632,669,730,733 'installplan':301,309,316,338,518,616,621,679,694,697,793 'item':223 'jsonpath':221 'kind':315 'kubectl':213,516,525,540,557,578,596,619,695,718,757,773,791,801 'kubespher':15,44,180,703 'kubesphere-system':702 'kubesphere.io':218,313,530 'kubesphere.io/extension-ref=whizard-telemetry':217,529 'kubesphere.io/v1alpha1':312 'kubesphere/whizard-telemetry-apiserver':458 'kubesphere/wiz-telemetry-console':471 'l':216,528,548,565,585,603 'latest':210,464 'list':491,501 'log':63,154,263,396,572,577,579,595,597,638,736 'manag':81,172 'manual':335,375,447 'metadata':317 'metadata.name':339 'monitor':97,168,275 'must':340 'n':225,543,560,580,598,701,760,776,804 'name':318,324,350 'need':373,445,646 'new':628,657,734 'node':488,498 'note':722 'notif':66,157,171,177,272,739 'o':220,705,797,813 'object':487,494,497,504 'observ':26,41,47,56,85,96,111,181,188,198,257,366,629 'obtain':419 'offer':58 'opensearch':88,149,414 'oper':507 'option':148,162,170,179 'output':287 'overview':31 'paramet':427,451,452,481,482 'patch':692 'platform':11,29,33,48,60,78,128 'pod':533,539,542,556,559 'prerequisit':206 'prometheus':163 'provid':17,50 'rang':222 'regener':742 'replica':114,124 'requir':150,164,173,183 'run':235 'schedul':480 'script':238,243,252,437,666 'secret':425 'section':290,430,715 'selector':489,499 'server':460,466,538,576,750,755,771 'servic':12,22,30,34,38,61,79,83,129,772 'skill':241 'skill-whizard-telemetry' 'sort':227 'source-kubesphere' 'spec':322 'spec.version':224 'start':294,687 'status':510,515,534 'step':207,231,298,330,654,676 'string':457,463,470,475 'svc':775 'system':405,704 'tag':468,479 'tail':229,591,609 'telemetri':3,105,117,249,321,327,344,358,412,521,547,552,564,569,584,589,602,607,624,652,663,700,764,767,780,783,796,808,811 'toler':492,502 'topic-agent-skills' 'topic-cloud-native' 'topic-cncf' 'topic-devops' 'topic-ebpf' 'topic-hacktoberfest' 'topic-kubernetes' 'topic-kubesphere' 'topic-llm' 'topic-multi-cluster' 'topic-multi-tenancy' 'topic-observability' 'trace':67 'traffic':160 'troubleshoot':747 'true':333 'type':93,453,483 'uninstal':611,618,634 'updat':625,648,678,712 'upgradestrategi':334 'use':4,72,302,347 'v':228 'various':91 'vector':282,422 'version':211,328,524 'view':512,522,536,554,571,574,593,785,788,799 'web':119 'whizard':2,104,182,248,262,265,268,271,274,277,320,326,343,357,395,398,401,411,520,546,551,563,583,588,601,623,637,640,643,651,662,699,763,766,779,782,795,807,810 'whizard-alert':276 'whizard-audit':264,397,642 'whizard-ev':267,400,639 'whizard-log':261,394,636 'whizard-monitor':273 'whizard-notif':270 'whizard-telemetri':1,247,319,325,342,356,410,519,622,650,661,698,794 'whizard-telemetry-apiserv':103,550,587,765,781 'whizard-telemetry-config':809 'whizard-telemetry.apiserver.affinity':493 'whizard-telemetry.apiserver.image.repository':456 'whizard-telemetry.apiserver.image.tag':462 'whizard-telemetry.apiserver.nodeselector':486 'whizard-telemetry.apiserver.tolerations':490 'whizard-telemetry.config':429 'whizardaudit':202 'whizardev':203 'whizardlog':201 'whizardnotif':204 'wiz':116,568,606 'wiz-telemetry-consol':115,567,605 'wiz-telemetry-console.affinity':503 'wiz-telemetry-console.image.repository':469 'wiz-telemetry-console.image.tag':474 'wiz-telemetry-console.nodeselector':496 'wiz-telemetry-console.tolerations':500 'wiztelemetri':10,25,28,32,46,77,122,127 'work':390 'yaml':310,706,798,814","prices":[{"id":"443f8ac0-39d7-4a45-8393-0e4787c0cea0","listingId":"e5034801-ede8-4c57-b3fb-9879315c4037","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"kubesphere","category":"kubesphere","install_from":"skills.sh"},"createdAt":"2026-04-18T21:53:22.349Z"}],"sources":[{"listingId":"e5034801-ede8-4c57-b3fb-9879315c4037","source":"github","sourceId":"kubesphere/kubesphere/whizard-telemetry","sourceUrl":"https://github.com/kubesphere/kubesphere/tree/master/skills/whizard-telemetry","isPrimary":false,"firstSeenAt":"2026-04-18T21:53:22.349Z","lastSeenAt":"2026-05-03T00:52:31.521Z"}],"details":{"listingId":"e5034801-ede8-4c57-b3fb-9879315c4037","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"kubesphere","slug":"whizard-telemetry","github":{"repo":"kubesphere/kubesphere","stars":16920,"topics":["agent-skills","ai","cloud-native","cncf","devops","ebpf","hacktoberfest","kubernetes","kubesphere","llm","multi-cluster","multi-tenancy","observability","servicemesh","skills","skills-sh","skillsmp"],"license":"other","html_url":"https://github.com/kubesphere/kubesphere","pushed_at":"2026-04-27T06:10:27Z","description":"The container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ 🖥 ☁️","skill_md_sha":"c7ece6797c530a24f5fb5d06ba2d0bc7141782dc","skill_md_path":"skills/whizard-telemetry/SKILL.md","default_branch":"master","skill_tree_url":"https://github.com/kubesphere/kubesphere/tree/master/skills/whizard-telemetry"},"layout":"multi","source":"github","category":"kubesphere","frontmatter":{"name":"whizard-telemetry","description":"Use when installing or configuring the WizTelemetry Platform Service extension for KubeSphere, which provides the common APIServer backend services for all WizTelemetry observability extensions"},"skills_sh_url":"https://skills.sh/kubesphere/kubesphere/whizard-telemetry"},"updatedAt":"2026-05-03T00:52:31.521Z"}}