Supported OS Linux Windows

Versión de la integración4.0.0

Información general

Teradata es un sistema de gestión de bases de datos relacionales de nivel empresarial dentro de una plataforma de datos multinube.

Este check monitoriza Teradata a través del Datadog Agent. Activa la integración de Datadog y Teradata para ver el rendimiento de Teradata, el uso del disco y el consumo de recursos.

Configuración

Sigue las instrucciones a continuación para instalar y configurar este check para un Agent que se ejecuta en un host. Para entornos en contenedores, consulta las plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de estas instrucciones.

Instalación

El check de Teradata se incluye en el paquete de Datadog Agent.

Preparar Teradata

  1. Descarga e instala el controlador de Teradata SQL para Python utilizando el comando pip del Agent integrado para tu sistema operativo:

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. Crea un usuario datadog de sólo lectura con acceso adecuado a tu Teradata Database. Inicia una sesión de BTEQ en Teradata Database:
CREATE USER "datadog" AS PASSWORD="<PASSWORD>";

Opcional, pero encarecidamente recomendado: concede un rol nuevo o existente al usuario datadog designado para fines de monitorización de sólo lectura.

GRANT "<READ_ONLY_ROLE>" TO "datadog"; 

El sistema Teradata concede el privilegio SELECT a PUBLIC en la mayoría de las vistas del diccionario de datos de forma predeterminada. Todos los usuarios de Teradata Database tienen privilegios PUBLIC.

  1. Para recopilar métricas de uso de recursos, activa la Tabla de uso de recursos SPMA. Esto se hace con la ctl Teradata Utility:
# Start ctl session
ctl

# View RSS screen
screen rss

# Enable SPMA resource usage table
SPMA=yes

# Save the configuration setting
write

Nota: La tabla de recursos SPMA loguea estadísticas cada 10 minutos por defecto. El intervalo de registro puede configurarse en la pantalla rss utilizando ctl. El registro del uso de recursos puede afectar al rendimiento de la base de datos. Para reducir la frecuencia del registro de uso de recursos, aumenta el intervalo de registro de la configuración de Node Logging Rate. Consulta la documentación de Teradata para obtener más información sobre el registro de uso de recursos.

  1. La integración de Teradata recopila métricas de espacio en disco de la vista del sistema DBC.DiskSpaceV de forma predeterminada. Para recopilar métricas de espacio en disco adicionales en las tablas de la base de datos, activa la opción collect_table_disk_metrics.
collect_table_disk_metrics: true

Para filtrar las tablas monitorizadas, configura la opción tables:

Especifica las tablas para monitorizar con una lista:

tables:
    - <TABLE_1>
    - <TABLE_2>

Personaliza tus tablas monitorizadas especificando un mapa con las opciones include y exclude:

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

Configuración

  1. Edita el archivo teradata.d/conf.yaml, en la carpeta conf.d/ en la raíz de tu directorio de configuración del Agent para comenzar a recopilar tus datos de rendimiento de teradata. Consulta el teradata.d/conf.yaml de ejemplo para conocer todas las opciones disponibles de configuración.

  2. Reinicia el Agent.

Validación

Ejecuta el subcomando de estado del Agent y busca teradata en la sección de Checks.

Datos recopilados

Métricas

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

Eventos

La integración de Teradata no incluye ningún evento.

Checks de servicio

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

Solucionar problemas

¿Necesitas ayuda? Ponte en contacto con el soporte de Datadog.