📦 Kibana — Kibana托管集成

v1.0.0

通过 Maton 托管网关安全调用 Kibana API,集中管理仪表盘、数据视图、告警、空间与 Fleet 等全部保存对象,无需本地安装即可快速增删改查。

0· 298·1 当前·1 累计
byungkyu 头像by @byungkyu·MIT-0
下载技能包
License
MIT-0
最后更新
2026/3/6
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
这是一个仅含指令的 Kibana 集成,始终使用 Maton API 网关,仅请求单个 MATON_API_KEY 环境变量,无需安装,也未请求无关权限。
评估建议
该技能内部一致,但会将你的 Kibana 请求路由至第三方 maton.ai。安装前请确认你信任 Maton:查阅其文档、隐私政策与访问控制。使用最小权限的 Maton API 密钥,创建专用服务账户并定期轮换密钥。创建连接时,流程可能要求你在 Maton 的认证页粘贴 Kibana API 密钥——仅在你信任该运营商时执行。由于技能会向外网发起调用,请监控使用与审计日志,发现异常及时处理。若需更严格控制,可考虑直连 Kibana 实例或自建网关。...
详细分析 ▾
用途与能力
名称/描述(Kibana 集成)与指令一致:SKILL.md 展示如何调用 Maton 网关代理 Kibana API。请求 MATON_API_KEY 与托管认证网关相符。
指令范围
指令仅限于向 gateway.maton.ai 与 ctrl.maton.ai 发起 HTTP 请求,并使用 MATON_API_KEY 与 kbn-xsrf 标头。SKILL.md 还指导在浏览器打开认证 URL 以提供 Kibana API 密钥建立连接——这是 OAuth 类流程的常见做法,但意味着你必须信任 Maton 服务处理你的 Kibana 凭证。
安装机制
未提供安装规范或代码(仅指令),因此技能本身不会写入磁盘或下载任何内容,属于最低风险安装配置。
凭证需求
仅需单个环境变量 (MATON_API_KEY),与文档中的网关认证直接对应。SKILL.md 提及在创建连接时提供 Kibana API 密钥,但这是已说明的认证流程的一部分,而非未解释的环境访问请求。
持久化与权限
always 为 false,技能由用户调用;无迹象表明其尝试修改其他技能或请求持久的高权限平台特权。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/3/6

首次发布:支持托管认证的 Kibana API 技能,提供广泛的保存对象管理功能。 - 通过 Maton 网关安全托管访问 Kibana API。 - 支持保存对象、仪表盘、数据视图、空间、告警、连接器和 Fleet 的操作。 - 提供 Python 快速示例代码与环境配置说明。 - 详述列出、创建、更新和删除 Kibana 资源的方法。 - 指导通过 Maton 控制门户管理连接。

无害

安装命令

点击复制
官方npx clawhub@latest install kibana
镜像加速npx clawhub@latest install kibana --registry https://cn.longxiaskill.com

技能文档

通过托管 API 认证访问 Kibana 的 saved objects、仪表板、数据视图、空间、告警和 Fleet。

快速开始

``bash python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://gateway.maton.ai/kibana/api/saved_objects/_find?type=dashboard') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') req.add_header('kbn-xsrf', 'true') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF `

基础 URL

` https://gateway.maton.ai/kibana/{native-api-path} ` 网关将请求代理到您的 Kibana 实例并自动注入认证信息。

认证

所有请求均需提供 Maton API key 和
kbn-xsrf 请求头: ` Authorization: Bearer $MATON_API_KEY kbn-xsrf: true ` 环境变量: 将 API key 设为 MATON_API_KEY`bash export MATON_API_KEY="YOUR_API_KEY" `

获取 API Key

连接管理

https://ctrl.maton.ai 管理您的 Kibana 连接。

列出连接

`bash python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections?app=kibana&status=ACTIVE') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF `

创建连接

`bash python <<'EOF' import urllib.request, os, json data = json.dumps({'app': 'kibana'}).encode() req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') req.add_header('Content-Type', 'application/json') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF ` 在浏览器中打开返回的 url 完成认证,您需要提供 Kibana API key。

删除连接

`bash python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}', method='DELETE') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF `

---

API 参考

重要: 所有 Kibana API 请求必须携带
kbn-xsrf: true 请求头。

状态与功能

获取状态

`bash GET /kibana/api/status ` 响应: `json { "name": "kibana", "uuid": "abc123", "version": { "number": "8.15.0", "build_hash": "..." }, "status": { "overall": {"level": "available"} } } `

列出功能

`bash GET /kibana/api/features ` 返回所有 Kibana 功能及其能力列表。

---

Saved Objects

查找 Saved Objects

`bash GET /kibana/api/saved_objects/_find?type={type} ` 查询参数:
  • type - 对象类型:dashboardvisualizationindex-patternsearchlensmap
  • search - 搜索查询
  • page - 页码
  • per_page - 每页结果数(默认 20,最大 10000)
  • fields - 返回字段

响应: `json { "page": 1, "per_page": 20, "total": 5, "saved_objects": [ { "id": "abc123", "type": "dashboard", "attributes": { "title": "My Dashboard", "description": "Dashboard description" }, "version": "1", "updated_at": "2024-01-01T00:00:00.000Z" } ] } `

获取 Saved Object

`bash GET /kibana/api/saved_objects/{type}/{id} `

创建 Saved Object

`bash POST /kibana/api/saved_objects/{type}/{id} Content-Type: application/json { "attributes": { "title": "My Index Pattern", "timeFieldName": "@timestamp" } } `

更新 Saved Object

`bash PUT /kibana/api/saved_objects/{type}/{id} Content-Type: application/json { "attributes": { "title": "Updated Title" } } `

删除 Saved Object

`bash DELETE /kibana/api/saved_objects/{type}/{id} `

批量操作

`bash POST /kibana/api/saved_objects/_bulk_get Content-Type: application/json [ {"type": "dashboard", "id": "abc123"}, {"type": "visualization", "id": "def456"} ] `

---

Data Views

列出 Data Views

`bash GET /kibana/api/data_views ` 响应: `json { "data_view": [ { "id": "abc123", "title": "logs-", "timeFieldName": "@timestamp" } ] } `

获取 Data View

`bash GET /kibana/api/data_views/data_view/{id} `

创建 Data View

`bash POST /kibana/api/data_views/data_view Content-Type: application/json { "data_view": { "title": "logs-
", "timeFieldName": "@timestamp" } } ` 响应: `json { "data_view": { "id": "abc123", "title": "logs-", "timeFieldName": "@timestamp" } } `

更新 Data View

`bash POST /kibana/api/data_views/data_view/{id} Content-Type: application/json { "data_view": { "title": "updated-logs-
" } } `

删除 Data View

`bash DELETE /kibana/api/data_views/data_view/{id} `

---

Spaces

列出 Spaces

`bash GET /kibana/api/spaces/space ` 响应: `json [ { "id": "default", "name": "Default", "description": "Default space", "disabledFeatures": [] } ] `

获取 Space

`bash GET /kibana/api/spaces/space/{id} `

创建 Space

`bash POST /kibana/api/spaces/space Content-Type: application/json { "id": "marketing", "name": "Marketing", "description": "Marketing team space", "disabledFeatures": [] } `

更新 Space

`bash PUT /kibana/api/spaces/space/{id} Content-Type: application/json { "id": "marketing", "name": "Marketing Team", "description": "Updated description" } `

删除 Space

`bash DELETE /kibana/api/spaces/space/{id} `

---

Alerting

查找告警规则

`bash GET /kibana/api/alerting/rules/_find ` 查询参数:
  • search - 搜索查询
  • page - 页码
  • per_page - 每页结果数

响应: `json { "page": 1, "per_page": 10, "total": 5, "data": [ { "id": "abc123", "name": "CPU Alert", "consumer": "alerts", "enabled": true, "rule_type_id": "metrics.alert.threshold" } ] } `

获取告警规则

`bash GET /kibana/api/alerting/rule/{id} `

启用/禁用规则

`bash POST /kibana/api/alerting/rule/{id}/_enable POST /kibana/api/alerting/rule/{id}/_disable `

静音/取消静音规则

`bash POST /kibana/api/alerting/rule/{id}/_mute_all POST /kibana/api/alerting/rule/{id}/_unmute_all `

获取告警健康状态

`bash GET /kibana/api/alerting/_health `

---

Connectors (Actions)

列出 Connectors

`bash GET /kibana/api/actions/connectors ` 响应: `json [ { "id": "abc123", "name": "Email Connector", "connector_type_id": ".email", "is_preconfigured": false, "is_deprecated": false } ] `

获取 Connector

`bash GET /kibana/api/actions/connector/{id} `

列出 Connector 类型

`bash GET /kibana/api/actions/connector_types `

执行 Connector

`bash POST /kibana/api/actions/connector/{id}/_execute Content-Type: application/json { "params": { "to": ["user@example.com"], "subject": "Alert", "message": "Alert triggered" } } `

---

Fleet

列出 Agent 策略

`bash GET /kibana/api/fleet/agent_policies ` 响应: `json { "items": [ { "id": "abc123", "name": "Default policy", "namespace": "default", "status": "active" } ], "total": 1, "page": 1, "perPage": 20 } `

列出 Agents

`bash GET /kibana/api/fleet/agents `

列出 Packages

`bash GET /kibana/api/fleet/epm/packages ` 返回所有可用的集成/包。

---

Security

列出角色

`bash GET /kibana/api/security/role ` 响应: `json [ { "name": "admin", "metadata": {}, "elasticsearch": { "cluster": ["all"], "indices": [...] }, "kibana": [...] } ] `

获取角色

`bash GET /kibana/api/security/role/{name} `

---

Cases

查找 Cases

`bash GET /kibana/api/cases/_find ` 查询参数:
  • status - openin-progressclosed
  • severity - lowmediumhighcritical
  • page - 页码
  • perPage - 每页结果数

响应: `json { "cases": [], "page": 1, "per_page": 20, "total": 0 } `

---

代码示例

JavaScript

`javascript const response = await fetch('https://gateway.maton.ai/kibana/api/saved_objects/_find?type=dashboard', { headers: { 'Authorization': Bearer ${process.env.MATON_API_KEY}, 'kbn-xsrf': 'true' } }); const dashboards = await response.json(); console.log(dashboards); `

Python

`python import os import requests

response = requests.get( 'https://gateway.maton.ai/kibana/api/saved_objects/_find?type=dashboard', headers={ 'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}', 'kbn-xsrf': 'true' } ) print(response.json()) `

---

注意事项

  • 所有请求必须携带 kbn-xsrf: true 请求头
  • saved object 类型:dashboardvisualizationindex-patternsearchlensmap`
  • data views 是 index patterns 的现代替代品
  • spaces 提供多租户支持
  • Fleet 管理 Elastic Agent 和集成
  • 某些操作需要特定 Kibana 权限

错误处理

| 状态码 | 含义 | |--------|------| | 200 | 成功 | | 204 | 无内容(删除成功) | | 400 | 无效请求 | | 401 | 认证无效或缺失 | | 403 | 权限不足 | | 404 | 资源未找到 | | 409 | 冲突(如对象已存在) |

资源

数据来源ClawHub ↗ · 中文优化:龙虾技能库