Trilium Metrics API 提供有关 Trilium 实例的全面监控数据,专为 Prometheus 等外部监控系统而设计。
端点
网址:
/etapi/metrics
做法:
GET
身份验证:需要 ETAPI 令牌
默认格式:Prometheus 文本格式
认证
您需要一个 ETAPI 令牌才能访问指标端点。通过以下方式获取一个:
# Get an ETAPI token
curl -X POST http://localhost:8080/etapi/auth/login \
-H "Content-Type: application/json" \
-d '{"password": "your_password"}'
用法
Prometheus 格式(默认)
curl -H "Authorization: YOUR_ETAPI_TOKEN" \
http://localhost:8080/etapi/metrics
以 Prometheus 文本格式返回指标:
# HELP trilium_info Trilium instance information
# TYPE trilium_info gauge
trilium_info{version="0.91.6",db_version="231",node_version="v18.17.0"} 1 1701432000
# HELP trilium_notes_total Total number of notes including deleted
# TYPE trilium_notes_total gauge
trilium_notes_total 1234 1701432000
JSON 格式
curl -H "Authorization: YOUR_ETAPI_TOKEN" \
"http://localhost:8080/etapi/metrics?format=json"
以 JSON 格式返回详细指标,用于调试或自定义集成。
可用指标
实例信息
trilium_info
- 带有标签的版本和构建信息
数据库指标
trilium_notes_total
- 笔记总数(包括已删除)trilium_notes_deleted
- 已删除笔记的数量trilium_notes_active
- 活动笔记数量trilium_notes_protected
- 受保护笔记的数量trilium_attachments_total
- 附件总数trilium_attachments_active
- 主动附件trilium_revisions_total
- 笔记修订总数trilium_branches_total
- 活跃分支trilium_attributes_total
- 活动属性trilium_blobs_total
- blob 记录总数trilium_etapi_tokens_total
- 活跃的 ETAPI 代币trilium_embeddings_total
- 注释嵌入(如果可用)
分类指标
trilium_notes_by_type{type="text|code|image|file"}
- 按类型划分的注释trilium_attachments_by_type{mime_type="..."}
- 按 MIME 类型划分的附件
统计学
trilium_database_size_bytes
- 数据库大小(以字节为单位)trilium_oldest_note_timestamp
- 最旧笔记的时间戳trilium_newest_note_timestamp
- 最新笔记的时间戳trilium_last_modified_timestamp
- 上次修改时间戳
Prometheus 配置
添加到您的 :prometheus.yml
scrape_configs:
- job_name: 'trilium'
static_configs:
- targets: ['localhost:8080']
metrics_path: '/etapi/metrics'
bearer_token: 'YOUR_ETAPI_TOKEN'
scrape_interval: 30s
错误响应
400
- 格式参数无效401
- ETAPI 令牌缺失或无效500
- 内部服务器错误