#!/bin/bash # Kibana 索引模式 + 基础仪表板初始化 # 用法: ./setup_kibana.sh [KIBANA_URL] # # 前置: Elasticsearch + Kibana 已运行 # 开发: http://localhost:5601 # 预发布: http://localhost:5602 # 生产: http://localhost:5601 KIBANA_URL="${1:-http://localhost:5601}" ES_URL="${2:-http://localhost:9200}" echo "=== 天工智能体 ELK — Kibana 初始化 ===" echo "Kibana: $KIBANA_URL" echo "ES: $ES_URL" # 1. 等待 Kibana 就绪 echo "等待 Kibana 就绪..." for i in $(seq 1 30); do if curl -s -o /dev/null "$KIBANA_URL/api/status"; then echo "Kibana 已就绪" break fi echo " 等待中... ($i/30)" sleep 5 done # 2. 创建 Index Pattern echo "" echo "创建 Index Pattern: aiagent-logs-*" curl -s -X POST "$KIBANA_URL/api/data_views/data_view" \ -H "Content-Type: application/json" \ -H "kbn-xsrf: true" \ -d '{ "data_view": { "title": "aiagent-logs-*", "name": "天工应用日志", "timeFieldName": "timestamp" } }' | python3 -m json.tool 2>/dev/null || echo "(可能已存在,忽略错误)" # 3. 确认索引有数据 echo "" echo "检查 Elasticsearch 索引:" curl -s "$ES_URL/_cat/indices/aiagent-logs-*?v" echo "" echo "=== 完成 ===" echo "Kibana: $KIBANA_URL" echo "Discover: $KIBANA_URL/app/discover" echo "" echo "提示: 在 Kibana 中手动创建 Dashboard:" echo " 1. 打开 Discover → 选择 aiagent-logs-*" echo " 2. 创建 Visualization (柱状图按 level / 折线图按时间)" echo " 3. 保存为 Dashboard"