Teradata

Supported OS

통합 버전4.0.0

개요

Teradata는 멀티 클라우드 데이터 플랫폼 내의 엔터프라이즈급 관계형 데이터베이스 관리 시스템입니다.

본 검사는 Datadog Agent를 통해 Teradata를 모니터링합니다. Datadog-Teradata 통합을 활성화하여 Teradata 성능, 디스크 사용량, 리소스 소비량을 확인합니다.

설정

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

설치

Teradata 검사는 Datadog Agent 패키지에 포함되어 있습니다.

Teradata 준비

  1. 운영 체제에 내장된 Agent pip 명령을 사용하여 Python용 Teradata SQL Driver를 다운로드하여 설치합니다.

Linux

sudo -Hu dd-agent /opt/datadog-agent/embedded/bin/pip install teradatasql

Windows

%PROGRAMFILES%\Datadog\"Datadog Agent"\embedded<PYTHON_MAJOR_VERSION>\python -m pip install teradatasql
  1. Teradata Database에 적절한 액세스 권한이 있는 읽기 전용 datadog 사용자를 생성합니다. Teradata Database에서 BTEQ 세션을 시작합니다.
CREATE USER "datadog" AS PASSWORD="<PASSWORD>";

읽기 전용 모니터용으로 지정된 datadog 사용자에게 새 역할 또는 기존 역할을 부여합니다. 옵션이지만 강력히 권장합니다.

GRANT "<READ_ONLY_ROLE>" TO "datadog"; 

Teradata 시스템은 기본적으로 대부분의 Data Dictionary 보기에 PUBLIC SELECT 권한을 부여합니다. 모든 Teradata Database 사용자에게는 PUBLIC 권한이 있습니다.

  1. 리소스 사용량 메트릭을 수집하려면 SPMA Resource Usage Table을 활성화합니다. 본 작업은 ctl Teradata Utility로 실행합니다.
# Start ctl session
ctl

# View RSS screen
screen rss

# Enable SPMA resource usage table
SPMA=yes

# Save the configuration setting
write

참고: SPMA Resource Table은 기본적으로 10분마다 통계를 로깅합니다. ctl을 사용해 rss 화면에서 로깅 간격을 구성할 수 있습니다. Resource Usage 로깅은 데이터베이스 성능에 영향을 줄 수 있습니다. Resource Usage 로깅 빈도를 줄이려면 Node Logging Rate 설정의 로깅 간격을 늘립니다. Resource Usage 로깅에 대한 자세한 내용은 Teradata 문서를 참조하세요.

  1. Teradata 통합은 기본적으로 DBC.DiskSpaceV 시스템 뷰에서 디스크 공간 메트릭을 수집합니다. 데이터베이스 테이블에서 추가 디스크 공간 메트릭을 수집하려면 collect_table_disk_metrics 옵션을 활성화합니다.
collect_table_disk_metrics: true

모니터되는 테이블을 필터링하려면 tables 옵션을 구성합니다.

목록으로 모니터할 테이블을 지정합니다.

tables:
    - <TABLE_1>
    - <TABLE_2>

includeexclude 옵션으로 맵을 지정하여 모니터되는 테이블을 사용자 지정합니다.

tables:
    include:
        - <TABLE_1>
        - <TABLE_2>
    exclude:
        - <TABLE_3>

구성

  1. Agent 설정 디렉터리 루트의 conf.d/ 폴더에 있는 teradata.d/conf.yaml 파일을 편집하여 Teradata 성능 데이터 수집을 시작합니다. 사용 가능한 모든 설정 옵션은 샘플 teradata.d/conf.yaml을 참조하세요.

  2. 에이전트를 다시 시작합니다.

검증

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

수집한 데이터

메트릭

teradata.amp.cpu_time
(gauge)
Number of seconds of AMP insert CPU time used by the user and account
Shown as second
teradata.amp.cpu_time_norm
(gauge)
Normalized AMP CPU time used by the user and account
Shown as second
teradata.amp.disk_io
(gauge)
Total number of reads and writes to disk by each AMP in the system
teradata.db_lock.blocks
(gauge)
Number of times a database lock was blocked
teradata.db_lock.deadlocks
(gauge)
Number of times a database lock was deadlocked
teradata.disk_space.alloc_perm
(gauge)
Current total allocation in bytes for permanent and user defined temporary table space. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.alloc_perm.total
(gauge)
Current total allocation in bytes for permanent and user defined temporary table space. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.alloc_spool
(gauge)
Current total allocation in bytes for spool and other system defined temporary table space. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.alloc_spool.total
(gauge)
Current total allocation in bytes for spool and other system defined temporary table space. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.alloc_temp
(gauge)
Current total allocation in bytes for temporary tables space. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.alloc_temp.total
(gauge)
Current total allocation in bytes for temporary tables space. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.curr_perm
(gauge)
Permanent space per AMP currently being used. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.curr_perm.total
(gauge)
Permanent space per AMP currently being used. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.curr_persist_spool
(gauge)
Persistent spool space per AMP currently being used by the user. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.curr_persist_spool.total
(gauge)
Persistent spool space per AMP currently being used by the user. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.curr_spool
(gauge)
Spool space per AMP currently being used by the user. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.curr_spool.total
(gauge)
Spool space per AMP currently being used by the user. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.curr_temp
(gauge)
The number of bytes currently used by a temporary table per virtual processor (vproc). Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.curr_temp.total
(gauge)
The number of bytes currently used by a temporary table per virtual processor (vproc). Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.max_perm
(gauge)
Maximum permanent space, in bytes, that is allocated to the database on a specified AMP. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.max_perm.total
(gauge)
Maximum permanent space, in bytes, that is allocated to the database on a specified AMP. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.max_prof_spool
(gauge)
The profile SPOOL space limit per AMP for the user if the user is assigned a profile which has a SPOOL space setting. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.max_prof_spool.total
(gauge)
The profile SPOOL space limit per AMP for the user if the user is assigned a profile which has a SPOOL space setting. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.max_prof_temp
(gauge)
The profile TEMPORARY space limit per AMP for the user if the user is assigned a profile which has a TEMPORARY space setting. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.max_prof_temp.total
(gauge)
The profile TEMPORARY space limit per AMP for the user if the user is assigned a profile which has a TEMPORARY space setting. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.max_spool
(gauge)
Maximum spool space, in bytes, that is allocated to the database on a specified AMP. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.max_spool.total
(gauge)
Maximum spool space, in bytes, that is allocated to the database on a specified AMP. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.max_temp
(gauge)
Maximum temporary space, in bytes, that is allocated to the database on a specified AMP. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.max_temp.total
(gauge)
Maximum temporary space, in bytes, that is allocated to the database on a specified AMP. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.peak_perm
(gauge)
Maximum amount of permanent space per AMP that has been used by the database since the last time the DBC.ClearPeakDisk macro was run. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.peak_perm.total
(gauge)
Maximum amount of permanent space per AMP that has been used by the database since the last time the DBC.ClearPeakDisk macro was run. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.peak_persist_spool
(gauge)
Maximum persistent spool space, in bytes, that was used at any one time by the database on a specified AMP. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.peak_persist_spool.total
(gauge)
Maximum persistent spool space, in bytes, that was used at any one time by the database on a specified AMP. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.peak_spool
(gauge)
Maximum spool space, in bytes, that was used at any one time by the database on a specified AMP. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.peak_spool.total
(gauge)
Maximum spool space, in bytes, that was used at any one time by the database on a specified AMP. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.peak_temp
(gauge)
Peak number of bytes used at one time by a temporary table per vproc. Table level metric tagged by td_table and td_database.
Shown as byte
teradata.disk_space.peak_temp.total
(gauge)
Peak number of bytes used at one time by a temporary table per vproc. Database level metric tagged by td_database.
Shown as byte
teradata.disk_space.perm_skew
(gauge)
Permissible skew limit percent for permanent space usage at the AMP level. Table level metric tagged by td_table and td_database.
teradata.disk_space.perm_skew.total
(gauge)
Permissible skew limit percent for permanent space usage at the AMP level. Database level metric tagged by td_database.
teradata.disk_space.spool_skew
(gauge)
Permissible skew limit percent for spool space usage at the AMP level. Table level metric tagged by td_table and td_database.
teradata.disk_space.spool_skew.total
(gauge)
Permissible skew limit percent for spool space usage at the AMP level. Database level metric tagged by td_database.
teradata.disk_space.temp_skew
(gauge)
Permissible skew limit percent for temporary space usage at the AMP level. Table level metric tagged by td_table and td_database.
teradata.disk_space.temp_skew.total
(gauge)
Permissible skew limit percent for temporary space usage at the AMP level. Database level metric tagged by td_database.
teradata.file_lock.blocks
(gauge)
Number of lock requests that were blocked
teradata.file_lock.deadlocks
(gauge)
Number of deadlocks detected on lock requests
teradata.file_lock.enters
(gauge)
Number of times a lock was requested
teradata.io.throttle_count
(gauge)
Number of times an I/O was throttled
teradata.io.throttle_time
(gauge)
Total I/O Throttle Time in milliseconds
Shown as millisecond
teradata.io.throttle_time_max
(gauge)
Maximum I/O Throttle Time in milliseconds
Shown as millisecond
teradata.mem.ctxt_page_reads
(gauge)
Number of pages swapped in
Shown as page
teradata.mem.ctxt_page_writes
(gauge)
Number of pages swapped out
Shown as page
teradata.mem.fsg.cache_size
(gauge)
Allocated memory for FSG cache. This includes the memory allocated for TIM (VHCacheKB)
Shown as kilobyte
teradata.mem.kernel_inuse_size
(gauge)
Amount of Kernel memory in use by PDE in kilobytes
Shown as kilobyte
teradata.mem.page_faults_major
(gauge)
Number of major page faults. If the page is not loaded in memory at the time the fault is generated, then it is called a major or hard page fault
Shown as page
teradata.mem.page_faults_minor
(gauge)
Number of minor page faults. If the page is loaded in memory at the time the fault is generated, but is not marked in the memory management unit as being loaded in memory, then it is called a minor or soft page fault.
Shown as page
teradata.mem.seg_cache_size
(gauge)
Current MB of segment cache
Shown as megabyte
teradata.mem.seg_in_use_size
(gauge)
Current MB of PDE segment files in use
Shown as megabyte
teradata.mem.seg_max_avail_size
(gauge)
Current MB of maximum PDE segment files available
Shown as megabyte
teradata.mem.seg_mdl.alloc
(gauge)
Number of segments of all sizes allocated for the MDL pool during this period
teradata.mem.seg_mdl.alloc_size
(gauge)
KB of segments of all sizes allocated for the MDL pool during this period
Shown as kilobyte
teradata.mem.seg_mdl.free
(gauge)
Number of dirty segments of all sizes freed from the MDL pool during this period
teradata.mem.seg_mdl.free_size
(gauge)
KB of dirty segments of all sizes freed from the MDL pool during this period
Shown as kilobyte
teradata.mem.seg_mdl.inuse_size
(gauge)
Total memory in use by segment MDLs
Shown as kilobyte
teradata.mem.seg_mdl.recycle
(gauge)
Number of segments of all sizes recycled to the MDL pool during this period
teradata.mem.seg_mdl.recycle_size
(gauge)
KB of segments of all sizes recycled to the MDL pool during this period
Shown as kilobyte
teradata.mem.seg_mdl.release
(gauge)
Number of clean segments of all sizes freed from the MDL pool during this period
teradata.mem.seg_mdl.release_size
(gauge)
KB of clean segments of all sizes freed from the MDL pool during this period
Shown as kilobyte
teradata.mem.txt_page_reads
(gauge)
Number of pages paged minus the pages swapped in
Shown as page
teradata.mem.vh_cache_size
(gauge)
Current size of the VH cache in KB. This field is populated by theFSG subsystem
Shown as kilobyte
teradata.process.blocked
(gauge)
Number of threads blocked waiting for I/O at the current time
Shown as thread
teradata.process.cpu_exec
(gauge)
Time in milliseconds CPUs are busy executing user execution code, that is, time spent in a user state on behalf of a process. CPUUExec reports the CPU time not used in the system call, or in the kernel
Shown as millisecond
teradata.process.cpu_idle
(gauge)
Time in milliseconds CPUs are idle and not waiting for I/O
Shown as millisecond
teradata.process.cpu_io_wait
(gauge)
Time in milliseconds CPUs are idle and waiting for I/O completion
Shown as millisecond
teradata.process.cpu_serv
(gauge)
Time in milliseconds CPUs are busy executing user service code, that is, privileged work performing system services on behalf of user execution processes which do not have root access CPUUServ reports if a task executing a step used CPU while in the kernel
Shown as millisecond
teradata.process.cpu_throttle
(gauge)
Number of times that WM CPU COD throttling was triggered
teradata.process.cpu_throttle_time
(gauge)
Time in milliseconds that WM CPU COD throttling was active
Shown as millisecond
teradata.process.ready
(gauge)
Number of runnable or ready tasks, also called threads, able to execute on CPUs when a CPU becomes available
Shown as thread
teradata.process.ready_max
(gauge)
Maximum number of ready tasks, also called threads, able to execute on CPUs when a CPU becomes available
Shown as thread

이벤트

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

서비스 점검

teradata.can_connect

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

Statuses: ok, critical

teradata.can_query

Returns CRITICAL if the Agent is unable to query the monitored Teradata instance. Returns OK otherwise.

Statuses: ok, critical

트러블슈팅

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