DataKit AIX
DataKit AIX は IBM AIX ホスト自身のメトリクス、ホストオブジェクト、エラーログ errpt を収集し、必要に応じて DB2、Oracle、Informix、Sybase、IBM MQ、WebSphere、IHS、SAP などのミドルウェアメトリクス収集を有効にできます。
検証済みバージョン:
- AIX 7.2 TL5 SP10
設定¶
インストール¶
AIX ホスト上でインストールスクリプトを実行します。DATAKITAIX_DATAWAY は /etc/datakitaix/datakitaix.toml の [dataway] 設定に書き込まれます。
最新バージョンをインストールする場合:
DATAKITAIX_DATAWAY=https://openway.guance.com?token=<TOKEN> sh -c "$(curl -L https://static.guance.com/datakitaix/install.sh)"
指定バージョンをインストールする場合:
DATAKITAIX_DATAWAY=https://openway.guance.com?token=<TOKEN> sh -c "$(curl -L https://static.guance.com/datakitaix/install-<VERSION>.sh)"
例:
DATAKITAIX_DATAWAY=https://openway.guance.com?token=<TOKEN> sh -c "$(curl -L https://static.guance.com/datakitaix/install-1.0.0.sh)"
オフラインインストール:
gzip -dc datakitaix-offline-aix-ppc64-<VERSION>.tar.gz | tar -xf -
cd datakitaix-offline-aix-ppc64-<VERSION>
DATAKITAIX_DATAWAY=https://openway.guance.com?token=<TOKEN> sh install.sh
インストール後の既定パスは次のとおりです。
| パス | 説明 |
|---|---|
/opt/datakitaix/bin/datakitaix |
メインプログラム |
/usr/bin/datakitaix |
datakitaix を直接実行しやすくするコマンドのシンボリックリンク |
/etc/datakitaix/datakitaix.toml |
実行設定。インストール時に生成されます |
/etc/datakitaix/datakitaix.toml.sample |
現在のバージョンの設定サンプル。アップグレード時に更新されます |
/var/lib/datakitaix |
実行データ、spool、および errpt カーソル |
/var/log/datakitaix |
実行ログ |
インストールスクリプトは AIX SRC サービス datakitaix を登録します。DataWay が未設定の場合、サービスは登録されますが自動起動しません。
アップグレード¶
すでに DataKit AIX がインストールされているホストで次を実行します。
アップグレード時に DataWay も同時に更新する場合は、DATAKITAIX_DATAWAY を追加できます。
DATAKITAIX_DATAWAY=https://openway.guance.com?token=<TOKEN> DATAKITAIX_UPGRADE=1 sh -c "$(curl -L https://static.guance.com/datakitaix/install.sh)"
アップグレードではバイナリを置き換え、datakitaix.toml.sample を更新し、既存の /etc/datakitaix/datakitaix.toml は保持されます。アップグレード時に DATAKITAIX_DATAWAY で既存設定を書き換える場合は、同じディレクトリに先に datakitaix.toml.old.<timestamp> が生成されます。
アンインストール¶
既定ではバイナリ、補助スクリプト、コマンドのシンボリックリンク、SRC 登録のみを削除し、設定と実行データは保持します。設定とデータも同時に消去する場合:
コマンド一覧¶
| コマンド | 説明 |
|---|---|
startsrc -s datakitaix |
AIX SRC サービスを開始します。 |
stopsrc -s datakitaix |
AIX SRC サービスを停止します。 |
lssrc -s datakitaix |
AIX SRC サービスの状態を確認します。 |
datakitaix version |
現在のバージョン番号を出力します。 |
datakitaix run -config /etc/datakitaix/datakitaix.toml |
フォアグラウンドで実行し、設定に従って collector、input、ログ tailer、health-check、OpenTelemetry を起動します。 |
datakitaix once -config /etc/datakitaix/datakitaix.toml |
collector を 1 回だけ実行し、DataWay に送信します。 |
datakitaix once -dry-run -config /etc/datakitaix/datakitaix.toml |
collector を 1 回だけ実行し、line protocol を表示して送信しません。 |
datakitaix check -config /etc/datakitaix/datakitaix.toml |
設定を検証し、起動前チェックを実行します。 |
メイン設定¶
メイン設定にはグローバル項目のみを残します。自身の収集器、ミドルウェア、ファイルログ、health-check、OpenTelemetry の設定は下記の各統合ドキュメントを参照してください。
[logging]
# Agent の実行ログ設定。
log = "/var/log/datakitaix/datakitaix.log"
error_log = "/var/log/datakitaix/error.log"
level = "info"
disable_color = false
rotate = 32
rotate_backups = 5
[dataway]
# DataWay のアドレス。インストール時に DATAKITAIX_DATAWAY を設定すると自動的にこの設定が書き込まれます。
urls = ["https://openway.guance.com?token=<TOKEN>"]
timeout = "30s"
retry = 2
gzip = true
max_raw_body_size = 1048576
[spool]
# 再試行可能なアップロード失敗分のローカルディスクキャッシュを有効にします。
enabled = true
# 失敗データのキャッシュディレクトリ。ログ tailer の offset 状態も同時に保存します。
path = "/var/lib/datakitaix/spool"
# 補送待ち spool ファイルの最大ディスク使用量。上限を超えると最も古いファイルから破棄します。
max_size_mb = 128
# 補送待ち spool ファイルの最大数。
max_files = 5000
# 補送待ちデータの再試行間隔。
drain_interval = "30s"
[global_tags]
# すべての収集データに追加するグローバル tag。
# env = "prod"
[self_monitor]
# datakitaix プロセス、Go runtime、および spool の状態を上報します。
enabled = true
# 自身メトリクスの上報間隔。
interval = "30s"
自身の収集器¶
自身の収集器は、AIX ホスト自身のメトリクス、プロセスオブジェクト、ホストオブジェクト、および errpt を収集します。
| 収集器名 | 説明 |
|---|---|
CPU(cpu) |
ホストの CPU 使用状況を収集します。 |
Disk(disk) |
ディスクとファイルシステムの使用状況を収集します。 |
ディスク IO(diskio) |
ホストのディスク IO 状況を収集します。 |
Mem(mem) |
ホストのメモリ使用状況を収集します。 |
Swap(swap) |
paging space の使用状況を収集します。 |
System(system) |
ホストの OS 負荷を収集します。 |
Net(net) |
ホストのネットワークトラフィックとプロトコルスタックの状況を収集します。 |
LPARStat(lparstat) |
LPAR と Hypervisor のメトリクスを収集します。既定では無効です。 |
Process(process) |
ホストのプロセスオブジェクトを収集します。 |
ホストオブジェクト(hostobject) |
OS 情報やハードウェア情報など、ホストの基本情報を収集します。 |
Errpt(errpt) |
AIX のエラーレポートを収集します。 |
ミドルウェア収集¶
ミドルウェア input は既定では無効です。[inputs].enabled = true を設定し、対象インスタンスを有効にする必要があります。
| 収集器名 | 説明 |
|---|---|
DB2(db2) |
IBM DB2 のインスタンス、データベース、表スペース、HADR の状況を収集します。 |
Oracle(oracle) |
Oracle データベース、表スペース、ASM、FRA、待機イベントの状況を収集します。 |
Informix(informix) |
Informix のインスタンス、セッション、dbspace、ログ使用状況を収集します。 |
Sybase(sybase) |
Sybase ASE の接続数とデータベース容量の状況を収集します。 |
IBM MQ(ibm_mq) |
Queue Manager、キュー、チャネル、リスナーの状況を収集します。 |
WebSphere(websphere) |
WebSphere server、JVM、スレッドプール、HTTP session の状況を収集します。 |
IHS(ihs) |
IBM HTTP Server の worker、アクセス量、scoreboard の状況を収集します。 |
SAP(sap) |
SAP のインスタンスプロセス、キュー、enqueue、アラートの状況を収集します。 |
拡張機能¶
| 機能 | 説明 |
|---|---|
| ファイルログ | [logs] と複数の [[logs.files]] 設定でローカルファイルログを収集します。 |
| Health Check | [healthcheck] 設定で TCP/HTTP の可用性をチェックします。 |
| OpenTelemetry | [otel] 設定で OpenTelemetry の HTTP/gRPC 受信エンドポイントを提供します。 |
自身メトリクス¶
DataKit AIX は [self_monitor] を通じて自身の稼働状態メトリクスを上報でき、datakitaix プロセス、Go runtime、および spool の状態を監視するために使用します。
datakitaix¶
| Tags & Fields | Description |
|---|---|
| host ( tag) |
ホスト名。 |
| uptime_seconds | datakitaix プロセスの稼働時間。 Type: int | (gauge) Unit: time,s |
| goroutines | 現在の Go goroutine 数。 Type: int | (gauge) Unit: count |
| cpu_usage | datakitaix プロセスの CPU 使用率。 Type: float | (gauge) Unit: percent |
| cpu_cores | Go runtime から見える CPU コア数。 Type: int | (gauge) Unit: count |
| go_mem_heap_alloc | Go heap の現在の確保バイト数。 Type: int | (gauge) Unit: digital,B |
| go_mem_heap_inuse | Go heap の現在の使用バイト数。 Type: int | (gauge) Unit: digital,B |
| go_mem_heap_released | Go heap が OS に返却したバイト数。 Type: int | (gauge) Unit: digital,B |
| go_mem_stack_inuse | Go stack の現在の使用バイト数。 Type: int | (gauge) Unit: digital,B |
| go_mem_sys | Go runtime が OS に要求した総バイト数。 Type: int | (gauge) Unit: digital,B |
| go_gc_count | Go GC の累計回数。 Type: int | (count) Unit: count |
| go_gc_pause_total_ns | Go GC の累計停止時間。 Type: int | (count) Unit: time,ns |
| spool_pending | 現在 spool に待機している送信待ちファイル数。 Type: int | (gauge) Unit: count |
| spool_bytes | 現在 spool に待機している送信待ちバイト数。 Type: int | (gauge) Unit: digital,B |
| spool_bad_files | 現在 spool にある破損ファイル数。 Type: int | (gauge) Unit: count |
| spool_bad_bytes | 現在 spool にある破損ファイルのバイト数。 Type: int | (gauge) Unit: digital,B |
| spool_tmp_files | 現在 spool にある一時ファイル数。 Type: int | (gauge) Unit: count |
| spool_tmp_bytes | 現在 spool にある一時ファイルのバイト数。 Type: int | (gauge) Unit: digital,B |
| spool_dropped_files | 現在 spool で破棄されたファイル数。 Type: int | (gauge) Unit: count |
| spool_dropped_bytes | 現在 spool で破棄されたファイルのバイト数。 Type: int | (gauge) Unit: digital,B |