- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Supported OS
このチェックは、Datadog Agent を通じて IBM Db2 を監視します。
IBM Db2 チェックは Datadog Agent パッケージに含まれています。
ibm_db クライアントライブラリが必要です。これをインストールするには、コンパイラーが用意されていることを確認し、次を実行します。
sudo -Hu dd-agent /opt/datadog-agent/embedded/bin/pip install ibm_db==3.1.0
注: Python 2 が動作する Agent をお使いの場合は、ibm_db=3.1.0
の代わりに ibm_db==3.0.1
を使用してください。
Agent バージョン < 6.11 の場合
"C:\Program Files\Datadog\Datadog Agent\embedded\python.exe" -m pip install ibm_db==3.0.1
Agent バージョン >= 6.12 および < 7.0 の場合
"C:\Program Files\Datadog\Datadog Agent\embedded<PYTHON_MAJOR_VERSION>\python.exe" -m pip install ibm_db==3.0.1
Agent バージョン >= 7.0 の場合
"C:\Program Files\Datadog\Datadog Agent\embedded3\python.exe" -m pip install ibm_db==3.1.0
Linux では、XML 機能が必要になる場合があります。ビルドプロセス中にエラーが発生した場合は、
libxslt-dev
(RPM では libxslt-devel
) をインストールしてください。
インスタンス、関連するデータベース、およびデータベースオブジェクトの健全性を監視するには、監視したいオブジェクトごとにデータベースシステムモニタスイッチを有効にします。
インスタンスマスターユーザーに切り替えて、db2
プロンプトで以下のコマンドを実行します。
update dbm cfg using HEALTH_MON on
update dbm cfg using DFT_MON_STMT on
update dbm cfg using DFT_MON_LOCK on
update dbm cfg using DFT_MON_TABLE on
update dbm cfg using DFT_MON_BUFPOOL on
次に、get dbm cfg
を実行すると、以下のように表示されるはずです。
Default database monitor switches
Buffer pool (DFT_MON_BUFPOOL) = ON
Lock (DFT_MON_LOCK) = ON
Sort (DFT_MON_SORT) = OFF
Statement (DFT_MON_STMT) = ON
Table (DFT_MON_TABLE) = ON
Timestamp (DFT_MON_TIMESTAMP) = ON
Unit of work (DFT_MON_UOW) = OFF
Monitor health of instance and databases (HEALTH_MON) = ON
ホストで実行中の Agent に対してこのチェックを構成するには:
ibm_db2
のパフォーマンスデータの収集を開始するには、Agent のコンフィギュレーションディレクトリのルートにある conf.d/
フォルダーの ibm_db2.d/conf.yaml
ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル ibm_db2.d/conf.yaml を参照してください。
Agent バージョン 6.0 以降で利用可能
Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml
ファイルでこれを有効にします。
logs_enabled: true
IBM Db2 のログの収集を開始するには、次の構成ブロックを ibm_db2.d/conf.yaml
ファイルに追加します。
logs:
- type: file
path: /home/db2inst1/sqllib/db2dump/db2diag.log
source: ibm_db2
service: db2sysc
log_processing_rules:
- type: multi_line
name: new_log_start_with_date
pattern: \d{4}\-(0?[1-9]|[12][0-9]|3[01])\-(0?[1-9]|1[012])
コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照して、次のパラメーターを適用してください。
パラメーター | 値 |
---|---|
<インテグレーション名> | ibm_db2 |
<初期コンフィギュレーション> | 空白または {} |
<インスタンスコンフィギュレーション> | {"db": "<DB_NAME>", "username":"<USERNAME>", "password":"<PASSWORD>", "host":"%%host%%", "port":"%%port%%"} |
Agent バージョン 6.0 以降で利用可能
Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Kubernetes ログ収集を参照してください。
パラメーター | 値 |
---|---|
<LOG_CONFIG> | `{“source”: “ibm_db2”, “service”: “<SERVICE_NAME>”, “log_processing_rules”: {“type”:“multi_line”,“name”:“new_log_start_with_date”, “pattern”:"\d{4}-(0?[1-9] |
Agent の status サブコマンドを実行し、Checks セクションで ibm_db2
を探します。
ibm_db2.application.active (gauge) | The number of applications that are currently connected to the database. Shown as connection |
ibm_db2.application.executing (gauge) | The number of applications for which the database manager is currently processing a request. Shown as connection |
ibm_db2.connection.active (gauge) | The current number of connections. Shown as connection |
ibm_db2.connection.max (gauge) | The highest number of simultaneous connections to the database since the database was activated. Shown as connection |
ibm_db2.connection.total (count) | The total number of connections to the database since the first connect, activate, or last reset (coordinator agents). Shown as connection |
ibm_db2.lock.dead (count) | The total number of deadlocks that have occurred. Shown as lock |
ibm_db2.lock.waiting (gauge) | The number of agents waiting on a lock. Shown as lock |
ibm_db2.lock.active (gauge) | The number of locks currently held. Shown as lock |
ibm_db2.lock.wait (gauge) | The average wait time for a lock. Shown as millisecond |
ibm_db2.lock.pages (gauge) | The memory pages (4 KiB each) currently in use by the lock list. Shown as page |
ibm_db2.lock.timeouts (count) | The number of times that a request to lock an object timed out instead of being granted. Shown as lock |
ibm_db2.backup.latest (gauge) | The time elapsed since the latest database backup was completed. Shown as second |
ibm_db2.row.modified.total (count) | The total number of rows inserted, updated, or deleted. Shown as row |
ibm_db2.row.reads.total (count) | The total number of rows that had to be read in order to return result sets. Shown as row |
ibm_db2.row.returned.total (count) | The total number of rows that have been selected by and returned to applications. Shown as row |
ibm_db2.bufferpool.column.reads.physical (count) | The number of column-organized table data pages read from the physical table space containers for temporary, regular, and large table spaces. Shown as get |
ibm_db2.bufferpool.column.reads.logical (count) | The number of column-organized table data pages read from the logical table space containers for temporary, regular, and large table spaces. Shown as get |
ibm_db2.bufferpool.column.reads.total (count) | The total number of column-organized table data pages read from the table space containers for temporary, regular, and large table spaces. Shown as get |
ibm_db2.bufferpool.column.hit_percent (gauge) | The percentage of time that the database manager did not need to load a page from disk to service a column-organized table data page request. Shown as percent |
ibm_db2.bufferpool.data.reads.physical (count) | The number of data pages read from the physical table space containers for temporary, regular and large table spaces. Shown as get |
ibm_db2.bufferpool.data.reads.logical (count) | The number of data pages read from the logical table space containers for temporary, regular and large table spaces. Shown as get |
ibm_db2.bufferpool.data.reads.total (count) | The total number of data pages read from the table space containers for temporary, regular and large table spaces. Shown as get |
ibm_db2.bufferpool.data.hit_percent (gauge) | The percentage of time that the database manager did not need to load a page from disk to service a data page request. Shown as percent |
ibm_db2.bufferpool.index.reads.physical (count) | The number of index pages read from the physical table space containers for temporary, regular and large table spaces. Shown as get |
ibm_db2.bufferpool.index.reads.logical (count) | The number of index pages read from the logical table space containers for temporary, regular and large table spaces. Shown as get |
ibm_db2.bufferpool.index.reads.total (count) | The total number of index pages read from the table space containers for temporary, regular and large table spaces. Shown as get |
ibm_db2.bufferpool.index.hit_percent (gauge) | The percentage of time that the database manager did not need to load a page from disk to service an index page request. Shown as percent |
ibm_db2.bufferpool.xda.reads.physical (count) | The number of data pages for XML storage objects (XDAs) read from the physical table space containers for temporary, regular and large table spaces. Shown as get |
ibm_db2.bufferpool.xda.reads.logical (count) | The number of data pages for XML storage objects (XDAs) read from the logical table space containers for temporary, regular and large table spaces. Shown as get |
ibm_db2.bufferpool.xda.reads.total (count) | The total number of data pages for XML storage objects (XDAs) read from the table space containers for temporary, regular and large table spaces. Shown as get |
ibm_db2.bufferpool.xda.hit_percent (gauge) | The percentage of time that the database manager did not need to load a page from disk to service an index page request. Shown as percent |
ibm_db2.bufferpool.reads.physical (count) | The number of pages read from the physical table space containers for temporary, regular and large table spaces. Shown as get |
ibm_db2.bufferpool.reads.logical (count) | The number of pages read from the logical table space containers for temporary, regular and large table spaces. Shown as get |
ibm_db2.bufferpool.reads.total (count) | The total number of pages read from the table space containers for temporary, regular and large table spaces. Shown as get |
ibm_db2.bufferpool.hit_percent (gauge) | The percentage of time that the database manager did not need to load a page from disk to service a page request. Shown as percent |
ibm_db2.bufferpool.group.column.hit_percent (gauge) | The percentage of time that the group database manager did not need to load a page from disk to service a column-organized table data page request. Shown as percent |
ibm_db2.bufferpool.group.data.hit_percent (gauge) | The percentage of time that the group database manager did not need to load a page from disk to service a data page request. Shown as percent |
ibm_db2.bufferpool.group.index.hit_percent (gauge) | The percentage of time that the group database manager did not need to load a page from disk to service an index page request. Shown as percent |
ibm_db2.bufferpool.group.xda.hit_percent (gauge) | The percentage of time that the group database manager did not need to load a page from disk to service an index page request. Shown as percent |
ibm_db2.bufferpool.group.hit_percent (gauge) | The percentage of time that the group database manager did not need to load a page from disk to service a page request. Shown as percent |
ibm_db2.tablespace.size (gauge) | The total size of the table space in bytes. Shown as byte |
ibm_db2.tablespace.usable (gauge) | The total usable size of the table space in bytes. Shown as byte |
ibm_db2.tablespace.used (gauge) | The total used size of the table space in bytes. Shown as byte |
ibm_db2.tablespace.utilized (gauge) | The utilization of the table space as a percentage. Shown as percent |
ibm_db2.log.used (gauge) | The disk blocks (4 KiB each) of active log space currently used in the database. Shown as block |
ibm_db2.log.available (gauge) | The disk blocks (4 KiB each) of active log space in the database that is not being used by uncommitted transactions. Shown as block |
ibm_db2.log.utilized (gauge) | The utilization of active log space as a percentage. Shown as percent |
ibm_db2.log.reads (count) | The number of log pages read from disk by the logger. Shown as read |
ibm_db2.log.writes (count) | The number of log pages written to disk by the logger. Shown as write |
ibm_db2.tablespace_state_change
がトリガーされます。ibm_db2.can_connect
Returns CRITICAL
if the Agent is unable to connect to the monitored IBM Db2 database, or OK
otherwise.
Statuses: ok, critical
ibm_db2.status
Returns CRITICAL
if the monitored IBM Db2 database is quiesced, WARNING
for quiesce-pending or rollforwards, or OK
otherwise.
Statuses: ok, warning, critical, unknown
ibm_db
クライアントライブラリをインストールするエアギャップ環境、または制限されたネットワーク上で pip install ibm_db==x.y.z
(x.y.z
はバージョン番号) を実行できない場合、以下の方法で ibm_db
をインストールすることが可能です。
ネットワークにアクセスできるマシンで、ibm_db
ライブラリと ODBC と CLI のソース tarball をダウンロードします。ODBC と CLI は ibm_db
ライブラリが必要とするため、別途ダウンロードする必要がありますが、pip
経由ではダウンロードできません。以下のスクリプトは ibm_db==x.y.z
(x.y.z
はバージョン番号) のアーカイブファイルを Linux マシンにインストールします。
curl -Lo ibm_db.tar.gz https://github.com/ibmdb/python-ibmdb/archive/refs/tags/vx.y.z.tar.gz
curl -Lo linuxx64_odbc_cli.tar.gz https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/linuxx64_odbc_cli.tar.gz
制限されたホストに 2 つのファイルを転送し、アーカイブを展開します。
tar -xvf ibm_db.tar.gz
tar -xvf linuxx64_odbc_cli.tar.gz
環境変数 IBM_DB_HOME
に /clidriver
が linuxx64_odbc_cli.tar.gz
から展開された場所を設定します。これにより、ibm_db
ライブラリが新しいバージョンの ODBC と CLI をインストールするのを防ぐことができます (これは失敗するため)。
export IBM_DB_HOME=/path/to/clidriver
Agent に組み込まれた pip
を使用して、ibm_db
ライブラリをローカルにインストールします。このライブラリのファイルは ibm_db.tar.gz
から展開された python-ibmdb-x.y.z
にコンテナとして含まれています。
/opt/datadog-agent/embedded/bin/pip install --no-index --no-deps --no-build-isolation /path/to/python-ibmdb-x.y.z/IBM_DB/ibm_db/
以下のエラーが発生した場合
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
| exit code: 1
-> [8 lines of output]
Detected 64-bit Python
Detected platform = linux, uname = x86_64
Downloading https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/linuxx64_odbc_cli.tar.gz
Downloading DSDriver from url = https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/linuxx64_odbc_cli.tar.gz
Pre-requisite check [which gcc] : Failed
No Gcc installation detected.
Please install gcc and continue with the installation of the ibm_db.
[end of output]
gcc
をインストールする必要があるかもしれません。
ご不明な点は、Datadog のサポートチームまでお問い合わせください。
お役に立つドキュメント、リンクや記事: