DataKit AIX
DataKit AIX collects IBM AIX host metrics, host objects, errpt error logs, and can optionally enable middleware metrics for DB2, Oracle, Informix, Sybase, IBM MQ, WebSphere, IHS, SAP, and other products.
Tested versions:
- AIX 7.2 TL5 SP10
Configuration¶
Installation¶
Run the installation script on the AIX host. DATAKITAIX_DATAWAY is written to the [dataway] section in /etc/datakitaix/datakitaix.toml.
Install the latest version:
DATAKITAIX_DATAWAY=https://openway.guance.com?token=<TOKEN> sh -c "$(curl -L https://static.guance.com/datakitaix/install.sh)"
Install a specific version:
DATAKITAIX_DATAWAY=https://openway.guance.com?token=<TOKEN> sh -c "$(curl -L https://static.guance.com/datakitaix/install-<VERSION>.sh)"
Example:
DATAKITAIX_DATAWAY=https://openway.guance.com?token=<TOKEN> sh -c "$(curl -L https://static.guance.com/datakitaix/install-1.0.0.sh)"
Default paths after installation:
| Path | Description |
|---|---|
/opt/datakitaix/bin/datakitaix |
Main program |
/usr/bin/datakitaix |
Command symlink for running datakitaix directly |
/etc/datakitaix/datakitaix.toml |
Runtime configuration generated during installation |
/etc/datakitaix/datakitaix.toml.sample |
Configuration sample for the current version; updated during upgrade |
/var/lib/datakitaix |
Runtime data, spool, and errpt cursor |
/var/log/datakitaix |
Runtime logs |
The installation script registers the AIX SRC service datakitaix. If DataWay is not configured, the service is registered but not started automatically.
Upgrade¶
Run the following command on a host where DataKit AIX is already installed:
To update DataWay during upgrade, also set DATAKITAIX_DATAWAY:
DATAKITAIX_DATAWAY=https://openway.guance.com?token=<TOKEN> DATAKITAIX_UPGRADE=1 sh -c "$(curl -L https://static.guance.com/datakitaix/install.sh)"
The upgrade replaces the binary, updates datakitaix.toml.sample, and preserves the existing /etc/datakitaix/datakitaix.toml. If DATAKITAIX_DATAWAY rewrites an existing configuration during upgrade, datakitaix.toml.old.<timestamp> is created in the same directory first.
Uninstall¶
By default, uninstall removes only the binary, helper script, command symlink, and SRC registration, while preserving configuration and runtime data. To also remove configuration and data:
Commands¶
| Command | Description |
|---|---|
datakitaix run -config /etc/datakitaix/datakitaix.toml |
Run in the foreground and start collectors, inputs, log tailers, health checks, and OpenTelemetry according to the configuration. |
datakitaix once -config /etc/datakitaix/datakitaix.toml |
Run collectors once and report data to DataWay. |
datakitaix once -dry-run -config /etc/datakitaix/datakitaix.toml |
Run collectors once and print line protocol without reporting data. |
datakitaix check -config /etc/datakitaix/datakitaix.toml |
Validate configuration and run startup checks. |
datakitaix version |
Print the current version. |
startsrc -s datakitaix |
Start the AIX SRC service. |
stopsrc -s datakitaix |
Stop the AIX SRC service. |
lssrc -s datakitaix |
View AIX SRC service status. |
Main configuration¶
The main configuration keeps only global settings. See the integration documents below for host collectors, middleware inputs, file logs, health checks, and OpenTelemetry configuration.
[logging]
# Agent runtime log configuration.
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 URL. Setting `DATAKITAIX_DATAWAY` during installation writes this configuration automatically.
urls = ["https://openway.guance.com?token=<TOKEN>"]
timeout = "30s"
retry = 2
gzip = true
max_raw_body_size = 1048576
[spool]
# Enable local disk buffering for retryable upload failures.
enabled = true
# Directory for failed data buffering; also stores log tailer offset state.
path = "/var/lib/datakitaix/spool"
# Maximum disk usage for pending spool files. When exceeded, the oldest files are dropped first.
max_size_mb = 128
# Maximum number of pending spool files.
max_files = 5000
# Retry interval for pending spool data.
drain_interval = "30s"
[global_tags]
# Global tags appended to all collected data.
# env = "prod"
[self_monitor]
# Report datakitaix process, Go runtime, and spool status.
enabled = true
# Self-monitoring metric reporting interval.
interval = "30s"
Host collectors¶
Host collectors collect AIX host metrics, process objects, host objects, and errpt data.
| Collector Name | Description |
|---|---|
CPU (cpu) |
Collect host CPU usage. |
Disk (disk) |
Collect disk and filesystem usage. |
Disk I/O (diskio) |
Collect host disk I/O metrics. |
Mem (mem) |
Collect host memory usage. |
Swap (swap) |
Collect paging space usage. |
System (system) |
Collect host operating system load. |
Net (net) |
Collect host network traffic and protocol stack metrics. |
LPARStat (lparstat) |
Collect LPAR and hypervisor metrics. Disabled by default. |
Process (process) |
Collect host process objects. |
Host Object (hostobject) |
Collect basic host information, such as operating system and hardware information. |
Errpt (errpt) |
Collect AIX error reports. |
Middleware Inputs¶
Middleware inputs are disabled by default. Set [inputs].enabled = true and enable the specific instance to collect them.
| Collector Name | Description |
|---|---|
DB2 (db2) |
Collect IBM DB2 instance, database, tablespace, and HADR status. |
Oracle (oracle) |
Collect Oracle database, tablespace, ASM, FRA, and wait event metrics. |
Informix (informix) |
Collect Informix instance, session, dbspace, and log usage. |
Sybase (sybase) |
Collect Sybase ASE connections and database capacity. |
IBM MQ (ibm_mq) |
Collect Queue Manager, queue, channel, and listener status. |
WebSphere (websphere) |
Collect WebSphere server, JVM, thread pool, and HTTP session metrics. |
IHS (ihs) |
Collect IBM HTTP Server worker, request count, and scoreboard metrics. |
SAP (sap) |
Collect SAP instance processes, queue, enqueue, and alert metrics. |
File Logs¶
File Logs Local file logs are collected with [logs] and one or more [[logs.files]] blocks.
Health Check¶
health-check TCP/HTTP availability checks are configured with [healthcheck].
OpenTelemetry¶
OpenTelemetry The OpenTelemetry HTTP/gRPC receiver is configured with [otel].
Self Metrics¶
DataKit AIX can report self-monitoring metrics through [self_monitor] to observe the datakitaix process, Go runtime, and spool status.
datakitaix¶
| Tags & Fields | Description |
|---|---|
| host ( tag) |
Hostname. |
| uptime_seconds | datakitaix process uptime. Type: int | (gauge) Unit: s |
| goroutines | Current number of Go goroutines. Type: int | (gauge) Unit: count |
| cpu_usage | CPU usage of the datakitaix process. Type: float | (gauge) Unit: percent |
| cpu_cores | Number of CPU cores visible to the Go runtime. Type: int | (gauge) Unit: count |
| go_mem_heap_alloc | Current bytes allocated on the Go heap. Type: int | (gauge) Unit: byte |
| go_mem_heap_inuse | Current bytes in use on the Go heap. Type: int | (gauge) Unit: byte |
| go_mem_heap_released | Bytes returned by the Go heap to the operating system. Type: int | (gauge) Unit: byte |
| go_mem_stack_inuse | Current bytes used by Go stacks. Type: int | (gauge) Unit: byte |
| go_mem_sys | Total bytes requested by the Go runtime from the operating system. Type: int | (gauge) Unit: byte |
| go_gc_count | Cumulative number of Go GC cycles. Type: int | (count) Unit: count |
| go_gc_pause_total_ns | Cumulative Go GC pause time. Type: int | (count) Unit: ns |
| spool_pending | Current number of spool files pending send. Type: int | (gauge) Unit: count |
| spool_bytes | Current number of spool bytes pending send. Type: int | (gauge) Unit: byte |
| spool_bad_files | Current number of damaged spool files. Type: int | (gauge) Unit: count |
| spool_bad_bytes | Current bytes in damaged spool files. Type: int | (gauge) Unit: byte |
| spool_tmp_files | Current number of temporary spool files. Type: int | (gauge) Unit: count |
| spool_tmp_bytes | Current bytes in temporary spool files. Type: int | (gauge) Unit: byte |
| spool_dropped_files | Current number of dropped spool files. Type: int | (gauge) Unit: count |
| spool_dropped_bytes | Current bytes in dropped spool files. Type: int | (gauge) Unit: byte |
For OpenTelemetry receiver self metrics datakitaix_otel_receiver, see OpenTelemetry.