Teradata

Supported OS Linux Windows

Integrationv1.1.0

概要

Teradata は、マルチクラウドデータプラットフォーム内のエンタープライズレベルのリレーショナルデータベース管理システムです。

このチェックでは、Datadog Agent を通じて Teradata を監視します。Datadog-Teradata インテグレーションを有効にして、Teradata のパフォーマンス、ディスク使用量、リソース消費量を表示します。

セットアップ

ホストで実行されている Agent 用にこのチェックをインストールおよび構成する場合は、以下の手順に従ってください。コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照してこの手順を行ってください。

インストール

Teradata チェックは Datadog Agent パッケージに含まれています。

Teradata の準備

  1. Teradata SQL Driver for Python をダウンロードし、お使いの OS の埋め込み Agent pip コマンドを使用してインストールします。

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 を使用して行います。
# ctl セッションの開始
ctl

# RSS 画面の表示
screen rss

# SPMA リソース使用量テーブルの有効化
SPMA=yes

# 構成設定の保存
write

注: SPMA Resource Table はデフォルトで 10 分毎に統計情報をログ収集します。ログの記録間隔は rss 画面で ctl を使用して構成することができます。リソース使用量のロギングはデータベースのパフォーマンスに影響を与える可能性があります。Resource Usage のロギング頻度を減らすには、Node Logging Rate 設定のロギング間隔を長くしてください。Resource Usage Logging の詳細については、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. teradata のパフォーマンスデータの収集を開始するには、Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの teradata.d/conf.yaml ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションの詳細については、サンプル teradata.d/conf.yaml を参照してください。

  2. Agent を再起動します

検証

Agent の status サブコマンドを実行し、Checks セクションで teradata を探します。

収集データ

メトリクス

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_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.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.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_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_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_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.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_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_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_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.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.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.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.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.total
(gauge)
Current total allocation in bytes for temporary tables space. Database level metric tagged by td_database.
Shown as byte
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.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.total
(gauge)
Permissible skew limit percent for temporary space usage at the AMP level. Database level metric tagged by td_database.
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_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_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.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_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_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_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.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_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_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_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.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_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.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_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_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.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.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.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.amp.cpu_time
(gauge)
Number of seconds of AMP insert 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.amp.cpu_time_norm
(gauge)
Normalized AMP CPU time used by the user and account
Shown as second
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.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.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.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.mem.kernel_inuse_size
(gauge)
Amount of Kernel memory in use by PDE in kilobytes
Shown as kilobyte
teradata.mem.seg_mdl.inuse_size
(gauge)
Total memory in use by segment MDLs
Shown as kilobyte
teradata.mem.seg_max_avail_size
(gauge)
Current MB of maximum PDE segment files available
Shown as megabyte
teradata.mem.seg_in_use_size
(gauge)
Current MB of PDE segment files in use
Shown as megabyte
teradata.mem.seg_cache_size
(gauge)
Current MB of segment cache
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.free
(gauge)
Number of dirty segments of all sizes freed from the MDL pool during this period
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.recycle
(gauge)
Number of segments of all sizes recycled to 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_size
(gauge)
KB of dirty segments of all sizes freed from the MDL pool during this period
Shown as kilobyte
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.seg_mdl.recycle_size
(gauge)
KB of segments of all sizes recycled to the MDL pool during this period
Shown as kilobyte
teradata.mem.fsg.cache_size
(gauge)
Allocated memory for FSG cache. This includes the memory allocated for TIM (VHCacheKB)
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.process.blocked
(gauge)
Number of threads blocked waiting for I/O at the current time
Shown as thread
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.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_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_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 インテグレーションには、イベントは含まれません。

サービスのチェック

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 のサポートチームまでお問合せください。