Tracking Multi-Tenant Activity in Weaviate

Description

Server Setup Information

  • Weaviate Server Version: 1.26.4
  • Deployment Method: Docker Compose
  • Client Language and Version: Python 3.9
  • Multitenancy?: Yes

Additional Context

  • Using autoTenantActivation feature

  • Need to identify “idle” tenants for state management

  • Currently monitoring through Grafana/Prometheus

Current Limitations

  1. Prometheus metrics only show class-level activity:
queries_filtered_vector_durations_ms{
    class_name="Paragraph",
    operation="vector"
}

Question

I was wondering if there are any existing or planned to be added ways to track tenant-specific activity in Weaviate? I’m also particularly curious how autoTenantActivation is able to detect when a tenant needs to be activated.

Any help would be appreciated, thanks :smiley:

Hello @Ajay_T,

Great questions!

The autoTenantActivation feature detects when a tenant needs to be activated by monitoring specific operations, such as search, read, update, or delete requests performed on the tenant. If a tenant is inactive or offloaded and one of these operations is initiated, the system automatically triggers the activation process, ensuring the tenant becomes active and accessible for the requested operation.

For metrics, you can leverage the PROMETHEUS_MONITORING_GROUP environment variable: Monitoring Multi-Tenancy.

However, If you have a specific way you’d like to track, it might make for a great feature request!

Regards,
Mohamed Shahin,
Weaviate Support

1 Like