> For the complete documentation index, see [llms.txt](https://docs.ultihash.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ultihash.io/administration/monitor-your-cluster.md).

# Monitor your cluster

UltiHash can be integrated with various monitoring, logging, and analytics tools. Below are key integrations you may want to configure:

### 1. Telemetry and monitoring

* **Purpose**: Export metrics and logs to external systems like Prometheus and Loki.
* **Example**: Configure the OpenTelemetry Collector to export data to Prometheus. Please refer to the [Open Telemetry documentation](https://opentelemetry.io/docs/collector/).

  ```yaml
  collector:
    config:
      exporters:
        prometheus/mycompany:
          endpoint: "1.2.3.4:1234"
      service:
        pipelines:
          metrics:
            receivers:
             - otlp
             - prometheus/mycompany

  ```
* **Recommendation**: Set up monitoring early to ensure you can track system performance and diagnose issues as they arise.

The metrics exported by the UltiHash cluster are listed below, categorized into multiple groups.

#### Storage service requests

* `storage_read_fragment_req`: number of requests received for reading a fragment
* `storage_read_address_req`: number of requests received for reading an address
* `storage_write_req`: number of requests received for writing data
* `storage_sync_req`: number of requests received to sync data to persistent storage
* `storage_remove_fragment_req`: number of requests received to remove a fragment from storage
* `storage_used_req`: number of requests received to get the used space

#### Deduplicator service requests

* `deduplicator_req`: number of requests received to deduplicate uploaded data

#### Entrypoint service requests

* `entrypoint_abort_multipart_req`: number of [`AbortMultipartUpload`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) requests received
* `entrypoint_complete_multipart_req`: number of [`CompleteMultipartUpload`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) requests received
* `entrypoint_create_bucket_req`: number of [`CreateBucket`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html) requests received
* `entrypoint_delete_bucket_req`: number of [`DeleteBucket`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteBucket.html) requests received
* `entrypoint_delete_object_req`: number of [`DeleteObject`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) requests received
* `entrypoint_delete_objects_req`: number of [`DeleteObjects`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjects.html) requests received
* `entrypoint_get_bucket_req`: number of [`GetBucket`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html) requests received
* `entrypoint_get_object_req`: number of [`GetObject`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) requests received
* `entrypoint_head_object_req`: number of [`HeadObject`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html) requests received
* `entrypoint_init_multipart_req`: number of [`CreateMultipartUpload`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) requests received
* `entrypoint_list_buckets_req`: number of [`ListBuckets`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html) requests received
* `entrypoint_list_multipart_req`: number of [`ListMultipartUploads`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) requests received
* `entrypoint_list_objects_req`: number of [`ListObjects`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) requests received
* `entrypoint_list_objects_v2_req`: number of [`ListObjectsV2`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) requests received
* `entrypoint_multipart_req`: number of [`UploadPart`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) requests received
* `entrypoint_put_object_req`: number of [`PutObject`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) requests received

#### Utilization Metrics

* `gdv_l1_cache_hit_counter`: Hit count of the L1 cache in the `global_data_view`
* `gdv_l1_cache_miss_counter`: Miss count of the L1 cache in the `global_data_view`
* `gdv_l2_cache_hit_counter`: Hit count of the L2 cache in the `global_data_view`
* `gdv_l2_cache_miss_counter`: Miss count of the L2 cache in the `global_data_view`
* `deduplicator_set_fragment_counter`: The number of fragments pointed in the deduplicator set maintained by the `deduplicator service`
* `deduplicator_set_fragment_size_counter`: The aggregated size of fragments pointed in the deduplicator set maintained by the `deduplicator service`
* `entrypoint_ingested_data_counter`: The total data volume ingested by a `entrypoint service`
* `entrypoint_egressed_data_counter`: The total data volume egressed by a `entrypoint service`
* `entrypoint_original_data_volume_gauge`: The original/raw data volume in the storage cluster, maintained by the `entrypoint service`
* `active_connections`: Number of currently handled connections
* `storage_available_space_gauge`: Storage space available to a `storage service` instance
* `storage_used_space_gauge`: Storage space used by a `storage service` instance
