원클릭으로
opensearch-dashboard
Generate OpenSearch Dashboards (Kibana) saved objects — index patterns, visualizations, and dashboards as JSON. Use when the user asks to create dashboards, charts, or visualizations for OpenSearch/Elasticsearch/Kibana.
메뉴
Generate OpenSearch Dashboards (Kibana) saved objects — index patterns, visualizations, and dashboards as JSON. Use when the user asks to create dashboards, charts, or visualizations for OpenSearch/Elasticsearch/Kibana.
Generate a mock API server from OpenAPI specs, TypeScript interfaces, or endpoint descriptions for frontend development and testing. Use when the user asks to create a mock server, fake API, or stub endpoints.
Map and visualize module dependencies, detect circular imports, and identify coupling hotspots. Use when the user asks to analyze dependencies, find circular imports, or understand module relationships.
Generate typed error classes, error handling middleware, and HTTP error mapping following project conventions. Use when the user asks to set up error handling, create error classes, or implement error middleware.
Create, manage, and clean up feature flags for gradual rollouts and safe deployments. Use when the user asks to add a feature flag, toggle, or manage feature gating.
Generate docker-compose.yml files for local development with application services, databases, caches, and queues. Use when the user asks to set up a local dev environment or create docker-compose configuration.
Design and create automation workflows — shell scripts, Cursor hooks, GitHub Actions, cron jobs, and task runners. Use when the user asks to automate a process, create a script, or set up a workflow.
| name | opensearch-dashboard |
| description | Generate OpenSearch Dashboards (Kibana) saved objects — index patterns, visualizations, and dashboards as JSON. Use when the user asks to create dashboards, charts, or visualizations for OpenSearch/Elasticsearch/Kibana. |
Generate exportable OpenSearch Dashboards / Kibana saved objects (index patterns, visualizations, dashboards) as NDJSON for import.
When the user asks to create, generate, or design OpenSearch/Kibana dashboards, visualizations, or index patterns.
logs-*, orders-*)@timestamp or created_at){
"type": "index-pattern",
"attributes": {
"title": "logs-*",
"timeFieldName": "@timestamp",
"fields": "[]"
}
}
| Chart Type | Best For | OpenSearch Vis Type |
|---|---|---|
| Line chart | Trends over time | line |
| Bar chart | Comparisons, distributions | histogram |
| Pie chart | Proportions | pie |
| Area chart | Cumulative trends | area |
| Data table | Detailed breakdowns | table |
| Metric | Single KPI value | metric |
| Gauge | Value against threshold | gauge |
| Heat map | Density / correlation | heatmap |
| Markdown | Text panels, notes | markdown |
| TSVB | Advanced time series | metrics |
| Vega | Custom visualizations | vega |
For each visualization:
{
"id": "1",
"enabled": true,
"type": "count",
"params": {},
"schema": "metric"
}
Common metrics:
count — number of documentsavg / sum / min / max — field statisticscardinality — unique countpercentiles — p50, p95, p99top_hits — sample documents{
"id": "2",
"enabled": true,
"type": "date_histogram",
"params": {
"field": "@timestamp",
"interval": "auto",
"min_doc_count": 1
},
"schema": "segment"
}
Common buckets:
date_histogram — time buckets (interval: 1m, 5m, 1h, 1d, auto)terms — top N values of a fieldrange — custom numeric rangesfilters — named query filtershistogram — fixed-width numeric bucketsTemplate for a visualization saved object:
{
"type": "visualization",
"id": "[unique-id]",
"attributes": {
"title": "[Visualization Title]",
"visState": "{\"title\":\"[title]\",\"type\":\"[vis-type]\",\"aggs\":[...],\"params\":{...}}",
"uiStateJSON": "{}",
"description": "[what this shows]",
"kibanaSavedObjectMeta": {
"searchSourceJSON": "{\"index\":\"[index-pattern-id]\",\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
}
}
}
Dashboard saved object:
{
"type": "dashboard",
"id": "[dashboard-id]",
"attributes": {
"title": "[Dashboard Title]",
"description": "[what this dashboard monitors]",
"panelsJSON": "[{\"gridData\":{\"x\":0,\"y\":0,\"w\":24,\"h\":15,\"i\":\"1\"},\"panelIndex\":\"1\",\"embeddableConfig\":{},\"panelRefName\":\"panel_0\"}]",
"optionsJSON": "{\"hidePanelTitles\":false,\"useMargins\":true}",
"timeRestore": true,
"timeTo": "now",
"timeFrom": "now-24h",
"refreshInterval": {
"pause": false,
"value": 30000
},
"kibanaSavedObjectMeta": {
"searchSourceJSON": "{\"query\":{\"query\":\"\",\"language\":\"kuery\"},\"filter\":[]}"
}
},
"references": [
{"name": "panel_0", "type": "visualization", "id": "[vis-id]"}
]
}
{"type":"index-pattern","id":"...","attributes":{...}}
{"type":"visualization","id":"...","attributes":{...},"references":[...]}
{"type":"dashboard","id":"...","attributes":{...},"references":[...]}
curl -X POST "[OPENSEARCH_DASHBOARDS_URL]/api/saved_objects/_import" \
-H "osd-xsrf: true" \
--form file=@dashboard-export.ndjson
[OPENSEARCH_DASHBOARDS_URL] as placeholdernow-24h unless user specifies otherwiseExportable NDJSON file with index pattern, visualizations, and dashboard. Ready to import via UI or API.
GET [index]/_mapping