2025-05-27 20:54:17 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								# Metrics
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								The Trilium Metrics API provides comprehensive monitoring data about your Trilium instance, designed for external monitoring systems like Prometheus.
							 
						 
					
						
							
								
									
										
										
										
											2025-05-26 13:51:03 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								## **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'
							 
						 
					
						
							
								
									
										
										
										
											2025-05-27 15:23:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    bearer_token: 'YOUR_ETAPI_TOKEN'
							 
						 
					
						
							
								
									
										
										
										
											2025-05-26 13:51:03 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    scrape_interval: 30s
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								## **Error Responses**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*    `400`  - Invalid format parameter 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*    `401`  - Missing or invalid ETAPI token 
						 
					
						
							
								
									
										
										
										
											2025-06-01 19:01:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*    `500`  - Internal server error 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								## **Grafana Dashboard**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								< figure  class = "image" > < img  style = "aspect-ratio:2594/1568;"  src = "1_Metrics_image.png"  width = "2594"  height = "1568" > < / figure >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
										 
							
							
								You can also use the Grafana Dashboard that has been created for TriliumNext - just take the JSON from  < a  class = "reference-link"  href = "Metrics/grafana-dashboard.json" > grafana-dashboard.json< / a >   
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								< figure  class = "image" > < img  style = "aspect-ratio:1881/282;"  src = "2_Metrics_image.png"  width = "1881"  height = "282" > < / figure >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								Then paste the JSON, and hit load:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								< figure  class = "image" > < img  style = "aspect-ratio:1055/830;"  src = "Metrics_image.png"  width = "1055"  height = "830" > < / figure >