Introduction

ArangoDB is a multi-model database that supports document, key-value, and graph data models within a single engine.
Prometheus can monitor these components by scraping metrics they expose, providing insights into cluster health, performance, and system status.

Steps to Configure

Step 1: Check for Existing ConfigMap

Run the following command to see if the opsramp-workload-metric-user-config ConfigMap already exists:

kubectl get configmap opsramp-workload-metric-user-config -n <agent-installed-namespace>

Step 2: Create a New ConfigMap (if not available)

If this is your first setup, create a workload-master ConfigMap. Use the following template and update it as per your workload requirements:

apiVersion: v1
kind: ConfigMap
metadata:
  name: opsramp-workload-metric-user-config
  namespace: opsramp-agent
data:
  workloads: |
    arangodb/prometheus:
    - name: arangodb
      collectionFrequency: 59s
      port: 8529
      userName: "root"
      password: ""
      userRelabelConfigs:
        - regex: "rocksdb_cache_edge_inserts_total"
          action: "include"
        - regex: "rocksdb_cache_active_tables"
          action: "include"
        - regex: "arangodb_aql_cursors_active"
          action: "include"
      targetPodSelector:
        matchLabels:
          - key: role
            operator: ==
            value:

Step 3: Apply the ConfigMap

kubectl apply -f <path-to-your-manifest-file>

Step 4: Verify in OpsRamp Portal

After a few minutes, check metrics in the OpsRamp Portal > Dashboards > Dashboard.

Step 5: Set Up Alerts and Availability Rules

Once metrics are visible, you can configure alerts and availability rules in the OpsRamp portal. Edit the relevant ConfigMaps to adjust workload or application-specific monitoring.

Supported Metrics

Supported metrics for this workload as provided by the Kubernetes 2.0 Agent.

MetricDescription
arangodb_agency_cache_callback_numberTracks the number of callbacks in the agency cache.
arangodb_agency_callback_numberRepresents the total number of callbacks registered in the agency.
arangodb_agency_callback_registered_totalCounts the total number of callbacks successfully registered in the agency.
arangodb_agencycomm_request_time_msec_bucketDistribution of request times in milliseconds for agency communication.
arangodb_agencycomm_request_time_msec_countTotal count of agency communication requests.
arangodb_agencycomm_request_time_msec_sumSummed total of time taken for agency communication requests.
arangodb_aql_all_query_totalCounts all queries executed in ArangoDB's AQL engine.
arangodb_aql_current_queryTracks the number of currently running AQL queries.
arangodb_aql_cursors_activeMonitors the number of active AQL cursors.
arangodb_aql_cursors_memory_usageMemory consumed by active AQL cursors.
arangodb_aql_global_memory_limitDefines the global memory limit for AQL queries.
arangodb_aql_global_memory_usageTracks current memory usage of all running AQL queries.
arangodb_aql_global_query_memory_limit_reached_totalCounts instances where AQL queries exceeded the global memory limit.
arangodb_aql_local_query_memory_limit_reached_totalCounts instances where a local AQL query exceeded its memory limit.
arangodb_aql_query_time_bucketDistribution of AQL query execution times.
arangodb_aql_query_time_countTotal number of executed AQL queries.
arangodb_aql_query_time_sumTotal execution time of all AQL queries.
arangodb_aql_slow_query_time_bucketDistribution of slow AQL query execution times.
arangodb_aql_slow_query_time_countNumber of AQL queries identified as slow.
arangodb_aql_slow_query_time_sumTotal execution time for slow AQL queries.
arangodb_aql_total_query_time_msec_totalTracks the total execution time of all AQL queries in milliseconds.
arangodb_collection_lock_acquisition_micros_totalTotal time spent acquiring collection locks in microseconds.
arangodb_collection_lock_acquisition_time_bucketDistribution of collection lock acquisition times.
arangodb_collection_lock_acquisition_time_countCounts the number of collection lock acquisitions.
arangodb_collection_lock_acquisition_time_sumSummed time spent acquiring collection locks.
arangodb_collection_lock_sequential_mode_totalTotal number of times the collection lock was acquired in sequential mode.
arangodb_collection_lock_timeouts_exclusive_totalCounts the number of exclusive collection lock timeouts.
arangodb_collection_lock_timeouts_write_totalCounts the number of write lock timeouts for collections.
arangodb_connection_pool_connections_created_totalTotal number of database connections created in the pool.
arangodb_connection_pool_connections_currentNumber of active connections currently in the pool.
arangodb_connection_pool_lease_time_hist_bucketDistribution of lease times for connection pool usage.
arangodb_connection_pool_lease_time_hist_countCounts the number of connection pool leases.
arangodb_connection_pool_lease_time_hist_sumTotal lease time for connection pool usage.
arangodb_connection_pool_leases_failed_totalTotal number of failed lease requests in the connection pool.
arangodb_connection_pool_leases_successful_totalTotal number of successful lease requests in the connection pool.
arangodb_connection_statistics_memory_usageTracks memory consumption for managing database connections.
arangodb_dirty_read_queries_totalNumber of queries executed that resulted in dirty reads.
arangodb_dirty_read_transactions_totalNumber of transactions executed with dirty reads.
arangodb_file_descriptors_currentNumber of file descriptors currently in use.
arangodb_file_descriptors_limitMaximum number of file descriptors allowed.
arangodb_flush_subscriptionsNumber of active flush subscriptions.
arangodb_heartbeat_failures_totalNumber of failed heartbeat messages in the cluster.
arangodb_heartbeat_send_time_msec_bucketDistribution of heartbeat send times in milliseconds.
arangodb_heartbeat_send_time_msec_countCounts the number of heartbeat messages sent.
arangodb_heartbeat_send_time_msec_sumSummed total of all heartbeat send times.
arangodb_http1_connections_totalTotal number of HTTP/1 connections handled by the server.
arangodb_http2_connections_totalTotal number of HTTP/2 connections handled by the server.
arangodb_index_estimates_memory_usageMemory used for index estimation.