mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	
		
			
				
	
	
	
		
			2.9 KiB
		
	
	
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			2.9 KiB
		
	
	
	
	
	
		
			Vendored
		
	
	
	
Metrics
The Trilium Metrics API provides comprehensive monitoring data about your Trilium instance, designed for external monitoring systems like Prometheus.
Endpoint
- URL: /etapi/metrics
- Method: GET
- Authentication: ETAPI token required
- Default Format: Prometheus text format
Authentication
You need an ETAPI token to access the metrics endpoint. Get one by:
# Get an ETAPI token
curl -X POST http://localhost:8080/etapi/auth/login \
  -H "Content-Type: application/json" \
  -d '{"password": "your_password"}'
Usage
Prometheus Format (Default)
curl -H "Authorization: YOUR_ETAPI_TOKEN" \
  http://localhost:8080/etapi/metrics
Returns metrics in Prometheus text format:
# 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 Format
curl -H "Authorization: YOUR_ETAPI_TOKEN" \
  "http://localhost:8080/etapi/metrics?format=json"
Returns detailed metrics in JSON format for debugging or custom integrations.
Available Metrics
Instance Information
- trilium_info- Version and build information with labels
Database Metrics
- trilium_notes_total- Total notes (including deleted)
- trilium_notes_deleted- Number of deleted notes
- trilium_notes_active- Number of active notes
- trilium_notes_protected- Number of protected notes
- trilium_attachments_total- Total attachments
- trilium_attachments_active- Active attachments
- trilium_revisions_total- Total note revisions
- trilium_branches_total- Active branches
- trilium_attributes_total- Active attributes
- trilium_blobs_total- Total blob records
- trilium_etapi_tokens_total- Active ETAPI tokens
- trilium_embeddings_total- Note embeddings (if available)
Categorized Metrics
- trilium_notes_by_type{type="text|code|image|file"}- Notes by type
- trilium_attachments_by_type{mime_type="..."}- Attachments by MIME type
Statistics
- trilium_database_size_bytes- Database size in bytes
- trilium_oldest_note_timestamp- Timestamp of oldest note
- trilium_newest_note_timestamp- Timestamp of newest note
- trilium_last_modified_timestamp- Last modification timestamp
Prometheus Configuration
Add to your prometheus.yml:
scrape_configs:
  - job_name: 'trilium'
    static_configs:
      - targets: ['localhost:8080']
    metrics_path: '/etapi/metrics'
    bearer_token: 'YOUR_ETAPI_TOKEN'
    scrape_interval: 30s
Error Responses
- 400- Invalid format parameter
- 401- Missing or invalid ETAPI token
- 500- Internal server error