mirror of
https://github.com/zadam/trilium.git
synced 2025-10-27 16:26:31 +01:00
Merge branch 'develop' into feat/add-rootless-dockerfiles
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
||||
# Configuration (config.ini or environment variables)
|
||||
Trilium supports configuration via a file named `config.ini` and environment variables. Please review the file named [config-sample.ini](https://github.com/TriliumNext/Notes/blob/develop/config-sample.ini) in the [Notes](https://github.com/TriliumNext/Notes) repository to see what values are supported.
|
||||
Trilium supports configuration via a file named `config.ini` and environment variables. Please review the file named [config-sample.ini](https://github.com/TriliumNext/Notes/blob/develop/apps/server/src/assets/config-sample.ini) in the [Notes](https://github.com/TriliumNext/Notes) repository to see what values are supported.
|
||||
|
||||
You can provide the same values via environment variables instead of the `config.ini` file, and these environment variables use the following format:
|
||||
|
||||
|
||||
109
docs/User Guide/User Guide/Advanced Usage/Metrics.md
Normal file
109
docs/User Guide/User Guide/Advanced Usage/Metrics.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# **Trilium Metrics API**
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user