# Weaviate Monitoring Weaviate is an open-source vector database that stores and searches vector embeddings. Applications Manager monitors Weaviate through Prometheus integration and provides visibility into instance health, query performance, memory usage, indexing activity, and class-level metrics. ## Overview Weaviate is supported only through Prometheus integration. You cannot add Weaviate through the standard **Add Monitor** workflow or the AddMonitor API. Configure the Prometheus integration before discovering Weaviate. For general setup steps, see [Prometheus Integration](https://www.manageengine.com/products/applications_manager/help/integrating-prometheus.html). ## Adding a Weaviate monitor 1. Configure Prometheus to scrape metrics from the Weaviate instance and make the Prometheus server accessible to Applications Manager. 2. Open the Prometheus integration configuration and select **Weaviate** as the monitor type. 3. During discovery, Applications Manager uses the `object_count` metric to identify Weaviate scrape targets. 4. Test the credentials. Applications Manager checks the `go_memstats_sys_bytes` metric to verify connectivity and authentication. **Note:** Weaviate must expose the required Prometheus metrics. Metrics in the Async Indexing section are available only when `ASYNC_INDEXING=true` is enabled in Weaviate. ## Monitored Parameters Applications Manager monitors Weaviate based on the performance attributes listed below. These metrics provide visibility into the health and operational status of your vector database. You can also configure thresholds for these attributes to receive alerts when performance limits are exceeded. The following is a list of tabs that are shown in the Weaviate monitor: - [Overview](https://www.manageengine.com/products/applications_manager/help/weaviate-monitoring-tools.html#overview) - [Memory & GC](https://www.manageengine.com/products/applications_manager/help/weaviate-monitoring-tools.html#memory-gc) - [Queries](https://www.manageengine.com/products/applications_manager/help/weaviate-monitoring-tools.html#queries) - [Object operations](https://www.manageengine.com/products/applications_manager/help/weaviate-monitoring-tools.html#object-operations) - [Vector index](https://www.manageengine.com/products/applications_manager/help/weaviate-monitoring-tools.html#vector-index) - [Async indexing](https://www.manageengine.com/products/applications_manager/help/weaviate-monitoring-tools.html#async-indexing) - [Classes](https://www.manageengine.com/products/applications_manager/help/weaviate-monitoring-tools.html#classes) ### Overview The Overview tab summarizes the instance uptime, schema size, shard count, and object count. Object counts are deduplicated across replicas. | Metric | Description | |---|---| | **SERVER SUMMARY** | | | Uptime | Duration for which the Weaviate process has been running since its last restart. | | Class Count | Number of collections (classes) in the Weaviate schema. | | Shard Count | Total number of shards across all collections. In multi-tenant setups, each tenant is a separate shard. | | **RESPONSE TIME** | | | Response Time | Time taken to collect metrics from the Prometheus server (in milliseconds). | | **OBJECTS** | | | Object Count | Total number of data objects stored in the instance, deduplicated across replicas. | ### Memory & GC The Memory and GC tab shows heap utilization and runtime memory statistics. Sustained high heap use can indicate memory pressure, while a continuously growing goroutine count may indicate a goroutine leak. | Metric | Description | |---|---| | Heap Utilization | Percentage of reserved heap memory currently in use, calculated as Heap In Use / Heap Reserved x 100 (in %). | | **HEAP DETAILS** | | | Total Memory | Total virtual memory reserved from the operating system by the Weaviate Go runtime (in MB). | | Heap Reserved | Heap memory reserved from the operating system (in MB). | | Heap Allocated | Heap memory occupied by allocated objects (in MB). | | Heap In Use | Heap memory actively in use (in MB). | | Heap Idle | Heap memory reserved but currently unused and available to be returned to the operating system (in MB). | | Heap Released | Heap memory already returned to the operating system (in MB). | | Stack In Use | Memory used by goroutine stacks (in MB). | | Next GC Target | Heap size at which the next garbage collection cycle is triggered (in MB). | | **ALLOCATION DETAILS** | | | Allocation Rate | Rate at which heap memory is allocated (in KB/s). | | Object Allocation Rate | Number of heap objects allocated per second. | | **GOROUTINE DETAILS** | | | Goroutines | Number of live goroutines in the Weaviate process. | | **GC PAUSE DETAILS** | | | GC Pause (Max) | Maximum garbage collection pause duration observed (in milliseconds). | | GC Pause (Median) | Median garbage collection pause duration observed (in milliseconds). | ### Queries The Queries tab tracks query throughput, latency, and concurrent requests. | Metric | Description | |---|---| | **QUERY RATE** | | | Query Rate | Number of queries executed per second. | | **QUERY LATENCY** | | | Average Query Latency | Average time taken to execute queries (in milliseconds). | | Query Latency (P90) | 90th percentile query latency estimated from histogram buckets (in milliseconds). | | Query Latency (P95) | 95th percentile query latency estimated from histogram buckets (in milliseconds). | | **CONCURRENT REQUESTS** | | | Concurrent Read Requests | Number of read requests, including GraphQL Get, Aggregate, and object reads, currently in progress. | | Concurrent Write Requests | Number of write requests, including add, update, batch, and delete operations, currently in progress. | | **QUERY TYPE DETAILS** | | | Query Type | Type of operation. | | Query Rate | Queries of this type executed per second. | | Average Query Latency | Average latency for this query type (in milliseconds). | | Query Latency (P95) | 95th percentile latency for this query type (in milliseconds). | | Concurrent Requests | Requests of this type currently in progress. | ### Object Operations The Object Operations tab shows latencies across the write path and helps identify slow write stages. | Metric | Description | |---|---| | **OBJECT OPERATION LATENCY** | | | Average PUT Object Latency | Average time taken for single-object PUT (create or replace) operations (in milliseconds). | | Average Batch PUT Latency | Average time taken for batch object import operations (in milliseconds). | | Average Batch Delete Latency | Average time taken for batch delete operations (in milliseconds). | | **WRITE PIPELINE STAGES** | | | Average Object Store Upsert Latency | Time spent in the object-store upsert stage of the write pipeline (in milliseconds). | | Average Inverted Index Latency | Time spent updating the inverted index during writes (in milliseconds). | ### Vector Index The Vector Index tab reports HNSW vector index activity and cleanup state. Vector Index Size can exceed object count when deleted vectors are waiting for background cleanup. | Metric | Description | |---|---| | **VECTOR INDEX SUMMARY** | | | Vector Insert Operations | Cumulative number of vectors added to the HNSW index since the process started. | | Vector Delete Operations | Cumulative number of vectors removed from the HNSW index since the process started. | | Net Vectors | Difference between vector insert and delete operations. | | **VECTOR INDEX DETAILS** | | | Vector Index Size | Number of vectors currently held in the HNSW index. This can exceed object count when deleted vectors are pending cleanup. | | Active Tombstones | Number of deleted vectors marked for removal but not yet cleaned up. A continuously rising value indicates a delete-heavy workload and can slow vector searches. | ### Async Indexing The Async Indexing tab displays vector-indexing queue metrics when asynchronous indexing is enabled in Weaviate. | Metric | Description | |---|---| | **QUEUE SUMMARY** | | | Queue Count | Number of asynchronous vector-indexing queues. | | Queues Paused | Number of indexing queues currently paused. | | **QUEUE DETAILS** | | | Queue Size | Number of vectors waiting to be indexed across all queues. A continuously growing value indicates indexing is falling behind ingestion. | | Queue Disk Usage | Disk space consumed by on-disk indexing queues (in MB). | | Average Partition Processing Time | Average time a worker takes to process one queue partition (in milliseconds). | | **VECTOR INDEX QUEUE OPERATIONS** | | | Vector Queue Insert Rate | Number of vectors entering the indexing queues per second. | | Vector Queue Delete Rate | Number of vectors removed from the indexing queues per second. | ### Classes The Classes tab lists details for up to 50 collections, ordered by object count. Class Details and Query Type Details rows are secondary monitor objects with their own availability and health. When a class or query type disappears, its row is retained and marked unavailable. | Metric | Description | |---|---| | **CLASS DETAILS** | | | Class Name | Name of the collection (class). | | Object Count | Number of objects stored in this collection. | | Shard Count | Number of shards (tenants in multi-tenant setups) in this collection. | | Vector Index Size | Number of vectors in this collection's HNSW index. | | Active Tombstones | Deleted vectors pending cleanup in this collection's index. | | Query Rate | Queries per second served by this collection. | | Average Query Latency | Average query latency for this collection (in milliseconds). | ## Related pages - [Prometheus Integration](https://www.manageengine.com/products/applications_manager/help/integrating-prometheus.html) - [AddMonitor APIs - Database Servers](https://www.manageengine.com/products/applications_manager/help/database-servers.html)