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 一轮并上报到 DataWay。 |
datakitaix once -dry-run -config /etc/datakitaix/datakitaix.toml |
只执行 collector 一轮并打印 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) |
采集主机操作系统负载。 |
Net(net) |
采集主机网络流量和协议栈情况。 |
LPARStat(lparstat) |
采集 LPAR 与 Hypervisor 指标,默认关闭。 |
Process(process) |
采集主机进程对象。 |
主机对象(hostobject) |
采集主机基础信息,如操作系统信息、硬件信息等。 |
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 已归还给操作系统的字节数。 Type: int | (gauge) Unit: digital,B |
| go_mem_stack_inuse | Go stack 当前使用字节数。 Type: int | (gauge) Unit: digital,B |
| go_mem_sys | Go runtime 向操作系统申请的总字节数。 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 |