SingleStore

Supported OS Windows Mac OS

통합 버전4.1.0

개요

본 점검은 Datadog Agent를 통해 SingleStore를 모니터링합니다. SingleStore는 저장된 데이터의 트랜잭션 및 분석 처리를 제공합니다. Datadog-SingleStoreDB 통합을 활성화하면 다음 작업을 할 수 있습니다.

  • 메트릭과 이벤트로 클러스터와 노드의 상태를 파악합니다.
  • 스토리지 용량 감소 문제를 해결합니다.
  • 리소스 활용 효율성을 개선합니다.

설정

아래 지침을 따라 호스트에서 실행되는 에이전트에 대해 이 점검을 설치하고 설정하세요. 컨테이너화된 환경의 경우 이러한 지침을 적용하는 데 가이드가 필요하면 오토파일럿 통합 템플릿을 참조하세요.

설치

SingleStore 점검은 Datadog Agent 패키지에 포함되어 있습니다. 서버에 추가 설치가 필요하지 않습니다.

구성

호스트

메트릭 수집
  1. Agent 설정 디렉터리 루트의 conf.d/ 폴더에서 singlestore.d/conf.yaml 파일을 편집해 SingleStore 성능 데이터 수집을 시작합니다. 사용할 수 있는 설정 옵션을 모두 보려면 singlestore.d/conf.yaml 샘플을 참고하세요.

  2. Agent를 재시작합니다.

참고: 기본적으로 SingleStore 통합은 MV_GLOBAL_STATUS, AGGREGATORS, LEAVES 테이블의 메트릭만 수집합니다. 추가 시스템 수준 메트릭(CPU, 디스크, 네트워크 IO, 메모리)을 수집하려면 singlestore.d/conf.yaml 파일에서 collect_system_metrics: true를 설정하세요.

로그 수집

로그 수집은 이 사이트에서 지원되지 않습니다.

  1. Datadog 에이전트에서 로그 수집은 기본적으로 사용하지 않도록 설정되어 있습니다. datadog.yaml파일에서 로그 수집을 사용하도록 설정합니다.

    logs_enabled: true
    
  2. 원하는 로그 파일을 singlestore.d/conf.yaml 파일에 추가하여 SingleStore 로그 수집을 시작하세요.

      logs:
        - type: file
          path: /var/lib/memsql/<NODE_ID>/tracelogs/memsql.log
          source: singlestore
          service: "<SERVICE_NAME>"
    

    pathservice 파라미터 값을 변경하고 환경에 맞게 구성합니다. 사용 가능한 모든 구성 옵션은 샘플 singlestore.d/conf.yaml을 참조하세요.

  3. Agent를 재시작합니다.

컨테이너화

컨테이너화된 환경의 경우 Autodiscovery 통합 템플릿에 아래 파라미터를 적용하는 방법이 안내되어 있습니다.

메트릭 수집

파라미터
<INTEGRATION_NAME>singlestore
<INIT_CONFIG>비어 있음 또는 {}
<INSTANCE_CONFIG>{"host": "%%host%%", "port": "%%port%%", "username": "<USER>", "password": "<PASSWORD>"}
로그 수집

로그 수집은 이 사이트에서 지원되지 않습니다.

Datadog Agent에서 로그 수집은 기본적으로 비활성화되어 있습니다. 활성화하려면 Kubernetes 로그 수집을 참고하세요.

파라미터
<LOG_CONFIG>{"source": "singlestore", "service": "<SERVICE_NAME>"}

검증

Agent의 상태 하위 명령을 실행하고 Checks 섹션에서 singlestore를 찾습니다.

수집한 데이터

메트릭

singlestore.aborted_clients
(gauge)
The number of aborted connections caused by the client dying without closing the connection properly.
Shown as connection
singlestore.aborted_connects
(gauge)
The number of failed attempts to connect to the server.
Shown as connection
singlestore.active_dedicated_admin_connections
(gauge)
Active admin connections.
Shown as connection
singlestore.aggregators.average_roundtrip_latency
(gauge)
The average ping roundtrip latency for a given aggregator.
Shown as millisecond
singlestore.aggregators.opened_connections
(gauge)
The number of connections opened on a given aggregator.
Shown as connection
singlestore.auto_attach_remaining_seconds
(gauge)
The time remaining until the automatic rebalance triggered by an auto-attach operation will occur. Only applies to aggregators.
Shown as second
singlestore.average_garbage_collection_duration
(gauge)
Average duration of garbage collection.
Shown as second
singlestore.buffer_manager_cached_memory
(gauge)
Tracks memory that was allocated by the Buffer Manager but is now cached and not in use. Limited to 25% of maximum_memory.
Shown as byte
singlestore.buffer_manager_memory
(gauge)
Tracks memory that is allocated by the Buffer Manager for SingleStore DB’s built-in memory allocators.
Shown as byte
singlestore.buffer_manager_unrecycled_memory
(gauge)
Number of buffers ready to be recycled which have not yet been reclaimed.
Shown as byte
singlestore.bytes_received
(gauge)
The number of bytes received per second from all clients.
Shown as byte
singlestore.bytes_sent
(gauge)
The number of bytes sent per second sent to clients.
Shown as byte
singlestore.connections
(gauge)
The number of successful or non-successful connection attempts to the server.
Shown as connection
singlestore.context_switch_misses
(gauge)
The number of times the scheduler tried to switch connections but failed.
Shown as connection
singlestore.context_switches
(gauge)
The number of times any thread has switched connections because it deemed a connection idle.
Shown as connection
singlestore.cpu.cores_count
(gauge)
The number of cores on host.
Shown as core
singlestore.cpu.guest
(gauge)
Time spent running a virtual CPU for guest operating systems under the control of the Linux kernel.
Shown as percent
singlestore.cpu.guest_nice
(gauge)
Time spent running a nice guest (virtual CPU for guest operating systems under the control of the Linux kernel).
Shown as percent
singlestore.cpu.idle
(gauge)
Time spent in idle.
Shown as percent
singlestore.cpu.iowait
(gauge)
Time spent waiting for I/O.
Shown as percent
singlestore.cpu.irq
(gauge)
Time spent on servicing interrupts.
Shown as percent
singlestore.cpu.memsql_system
(gauge)
CPU usage by the SingleStore DB process, in kernel mode.
Shown as percent
singlestore.cpu.memsql_total
(gauge)
CPU usage by the SingleStore DB process.
Shown as percent
singlestore.cpu.memsql_user
(gauge)
CPU usage by the SingleStore DB process, in user mode.
Shown as percent
singlestore.cpu.nice
(gauge)
CPU usage in nice mode.
Shown as percent
singlestore.cpu.soft_irq
(gauge)
Time spent on servicing soft interrupts.
Shown as percent
singlestore.cpu.steal
(gauge)
Stolen time, which is the time spent in other operating systems when running in a virtualized environment.
Shown as percent
singlestore.cpu.system
(gauge)
CPU usage in kernel mode
Shown as percent
singlestore.cpu.total_used
(gauge)
CPU usage in percent. It refers to the whole machine, and not to SingleStore DB cgroup.
Shown as percent
singlestore.cpu.user
(gauge)
CPU usage in user mode.
Shown as percent
singlestore.disk.free
(gauge)
The remaining disk space available.
Shown as byte
singlestore.disk.read_bytes
(gauge)
Number of bytes read per second from the disk across all mount points.
Shown as byte
singlestore.disk.total
(gauge)
The total size of the disk.
Shown as byte
singlestore.disk.used
(gauge)
The amount of bytes used by the disk.
Shown as byte
singlestore.disk.write_bytes
(gauge)
Number of bytes written per second to the disk across all mount points.
Shown as byte
singlestore.disk_space_reserved_for_secondary_index
(gauge)
Disk space reserver for secondary index usage.
Shown as byte
singlestore.execution_time_of_reads_pct
(gauge)
Wall-time percentage of all read queries.
Shown as percent
singlestore.execution_time_of_write_pct
(gauge)
Wall-time percentage of all write queries.
Shown as percent
singlestore.failed_read_queries
(gauge)
Number of read queries per second which have failed.
Shown as query
singlestore.failed_write_queries
(gauge)
Number of write queries per second which have failed.
Shown as query
singlestore.free_io_pool_memory
(gauge)
Size of cached free buffers, which tracks how much memory in the IO pool is currently not in use. The maximum limit applies to each pool per partition on a node and can shrink if memory is reused. This variable can only be used to view the unused IO pool memory.
Shown as byte
singlestore.idle_queue
(gauge)
The number of connections in the idle queue. This is a subset of threads_idle.
Shown as connection
singlestore.inflight_async_compilations
(gauge)
Number of inflight asynchronous compilations currently running.
singlestore.ingest_errors_disk_space_use
(gauge)
Ingest errors disk space usage.
Shown as byte
singlestore.leaves.average_roundtrip_latency
(gauge)
The average ping roundtrip latency in milliseconds for a given leaf node.
Shown as millisecond
singlestore.leaves.opened_connections
(gauge)
The number of connections opened on a given leaf node.
Shown as connection
singlestore.license_capacity
(gauge)
License capacity
Shown as unit
singlestore.maximum_cluster_capacity
(gauge)
The allowed memory capacity in the cluster based on the license. Only on the master aggregator.
Shown as byte
singlestore.mem.cgroup_free
(gauge)
The memory free capacity in percent of all processes of SingleStore DB cgroup.
Shown as percent
singlestore.mem.cgroup_total
(gauge)
The memory limit for the SingleStore DB node_id based on its cgroup membership.
Shown as byte
singlestore.mem.cgroup_used
(gauge)
The memory used by all processes of SingleStore DB cgroup.
Shown as byte
singlestore.mem.free
(gauge)
The remaining free memory capacity on the physical host as a percentage.
Shown as percent
singlestore.mem.singlestore_used_memory
(gauge)
The memory used by SingleStore DB process specified by node_id.
Shown as byte
singlestore.mem.total
(gauge)
The memory available on the physical host.
Shown as byte
singlestore.mem.used
(gauge)
The total memory used on the physical host.
Shown as byte
singlestore.net.bytes_rx
(gauge)
The number of bytes received per second on each interface.
Shown as byte
singlestore.net.bytes_tx
(gauge)
The number of bytes sent per second on each interface.
Shown as byte
singlestore.queries
(gauge)
The number of statements executed by the server per second, including statements from clients and statements within stored programs.
Shown as query
singlestore.query_compilation_failures
(gauge)
Number of query compilation failures.
Shown as query
singlestore.query_compilations
(gauge)
Number of query compilations.
Shown as query
singlestore.questions
(gauge)
The number of statements executed by the server per second, excluding statements within stored programs.
Shown as query
singlestore.ready_queue
(gauge)
The number of connections with pending queries not associated with threads.
Shown as connection
singlestore.rows_affected_by_writes
(gauge)
Number of rows affected by write queries.
Shown as row
singlestore.rows_returned_by_reads
(gauge)
Number of rows returned by read queries.
Shown as row
singlestore.seconds_until_expiration
(gauge)
Seconds until expiration of the license.
Shown as second
singlestore.ssl.accept_renegotiates
(gauge)
Returns the number of start renegotiations in server mode.
Shown as connection
singlestore.ssl.accepts
(gauge)
Returns the number of started SSL/TLS handshakes in server mode.
Shown as connection
singlestore.ssl.client_connects
(gauge)
Returns the number of started SSL/TLS handshakes in client mode.
Shown as connection
singlestore.ssl.connect_renegotiates
(gauge)
Returns the number of start renegotiations in client mode.
Shown as connection
singlestore.ssl.finished_accepts
(gauge)
Returns the number of successfully established SSL/TLS sessions in server mode.
Shown as connection
singlestore.ssl.finished_connects
(gauge)
Returns the number of successfully established SSL/TLS sessions in client mode.
Shown as connection
singlestore.successful_read_queries
(gauge)
Number of read queries per second which have successfully run.
Shown as query
singlestore.successful_write_queries
(gauge)
Number of write queries per second which have successfully run.
Shown as query
singlestore.threads.background
(gauge)
Background threads managed by the query scheduler, i.e. replication master queries and the scheduler thread.
Shown as thread
singlestore.threads.cached
(gauge)
Number of kernel threads currently idle waiting for queries.
Shown as thread
singlestore.threads.connected
(gauge)
The number of connections currently open.
Shown as thread
singlestore.threads.created.count
(count)
The number of threads created between check runs to handle connections.
Shown as thread
singlestore.threads.created.total
(gauge)
The number of threads created to handle connections since server started.
Shown as thread
singlestore.threads.idle
(gauge)
The number of idle connections not associated with threads.
Shown as thread
singlestore.threads.running
(gauge)
The number of threads that are currently active.
Shown as thread
singlestore.threads.shutdown.count
(count)
The number of threads shut down between check run.
Shown as thread
singlestore.threads.shutdown.total
(gauge)
The number of threads shut down since the server started.
Shown as thread
singlestore.threads.waiting_for_disk_space
(gauge)
The number of threads currently blocked because the disk is full.
Shown as thread
singlestore.total_io_pool_memory
(gauge)
Total size of all buffers allocated by the IO pool for that partition, including buffers currently in use and free buffers in Free_io_pool_memory. The maximum limit applies to each pool per partition on a node and does not shrink from its high value. This variable can only be used to view the total IO pool size.
Shown as byte
singlestore.total_server_memory
(gauge)
Tracks the node’s overall memory use. Will not surpass the maximum_memory engine variable.
Shown as byte
singlestore.transaction_buffer_wait_time
(gauge)
Provides a view into transaction buffer log performance. For more information, see the Using Durability and Recovery topic.
Shown as second
singlestore.transaction_log_flush_wait_time
(gauge)
Cumulative amount of time commits have been waiting to flush to disk or across the network, if the database is running with sync durability or sync replication. For async, the value of Transaction_log_flush_wait_time should always be 0.
Shown as second
singlestore.uptime
(gauge)
The amount of time, in seconds, that the server has been up.
Shown as second
singlestore.used_cluster_capacity
(gauge)
The amount of memory capacity existent in the cluster. This is the sum of maximum_memory from all nodes in the cluster. Only on the master aggregator.
Shown as byte
singlestore.used_instance_license_units
(gauge)
Used license units
Shown as unit
singlestore.workload_management.active_queries
(gauge)
The number of queries currently running on this aggregator.
Shown as query
singlestore.workload_management.active_threads
(gauge)
The number of threads currently running per leaf due to queries originating from this aggregator.
Shown as thread
singlestore.workload_management.queued_queries
(gauge)
The number of queued concurrent columnstore writes.
Shown as query
singlestore.workload_management_active_connections
(gauge)
The number of connections per leaf allocated to queries originating from this aggregator.
Shown as connection

이벤트

SingleStore 통합은 이벤트를 포함하지 않습니다.

서비스 점검

singlestore.can_connect

Returns CRITICAL if the Agent is unable to connect to and collect metrics from the monitored SingleStore instance. Returns OK otherwise.

Statuses: ok, critical

트러블슈팅

도움이 필요하신가요? Datadog 고객 지원팀에 문의해주세요.