Skip to content

Warning

License: Pro - Requires a Pro or Enterprise license.

Overview

The IBM i probe monitors IBM i / Power Systems partitions (formerly OS/400, AS/400) through the Db2 for i SQL services (QSYS2, SYSTOOLS, TABLE() functions). It provides a broad partition health picture — CPU and memory pools, ASP and disk storage, jobs and subsystems, job/output queues, spool, database tables and index advisories, journals, network listeners, HTTP servers, hardware resources, user profiles, system values and compliance. One probe instance monitors one partition; add more instances for additional LPARs.

Collected data:

  • System CPU utilization, configured CPU count and current processing capacity
  • Main storage, memory pools (size, threads, ineligible) and ASP / system ASP utilization, capacity and threshold
  • Disk units: busy, space used, read/write throughput and operations, capacity and availability
  • Jobs: totals, active, by status, by subsystem, plus per-job detail (top-N by CPU) — CPU, temp storage, disk I/O, page faults, threads, priority
  • Job queues and scheduled jobs (active/held/released/scheduled depth, last-run age)
  • Subsystems (active jobs), output queues and spooled files (counts, oldest age)
  • User storage by profile (used, quota, ratio, over-threshold)
  • Database: table row counts and activity, missing-index advisories, journals and journal receivers (size, remote lag)
  • Network: TCP connections by state, listeners, interfaces, HTTP server threads and responses
  • Hardware resources (operational vs non-operational), user profiles, system values (QSECURITY, QAUDLVL)
  • Compliance: PTF group levels, watch sessions, licensed-product usage
  • Probe self-observability: per-collector success/failure counters, duration and last-success timestamp

All metrics are emitted under the senhub.ibmi.* namespace. Partition-level aggregates are complemented by per-resource series (per ASP, disk unit, job, queue, memory pool, table, journal, interface, HTTP server, …), each carrying an ibmi.* attribute that also acts as a filter in the Sensor URLs tab of the console.

Quick Start

Basic Configuration

# probes.d/40-ibmi.yaml — each file under probes.d/ is a YAML array of probes
- name: ibmi-prod
  type: ibmi
  params:
    host: "ibmi.company.com"
    user: "MONITOR"
    password: "${secret:ibmi-prod.password}"   # OS secret store; inline plaintext is auto-sealed on install
    interval: 30
    bridge_runner_dir: "/opt/senhub/ibmi-bridge"

The probe talks to Db2 for i over the JTOpen (JT400) toolbox. Point bridge_runner_dir at the directory that holds the bundled Jt400Runner.class and jt400.jar; the probe launches the bridge with the JRE on the agent host (override with java_home if needed). The ${secret:...} reference resolves the password from the OS-native secret store (see Configuration).

Native runner (no JRE)

Deployments that don't want a JRE on the runtime path can use a GraalVM native-image build of the bridge. When native_runner is set, bridge_runner_dir and java_home become optional:

# probes.d/40-ibmi.yaml
- name: ibmi-prod
  type: ibmi
  params:
    host: "ibmi.company.com"
    user: "MONITOR"
    password: "${secret:ibmi-prod.password}"
    interval: 30
    native_runner: "/opt/senhub/ibmi-bridge/jt400runner"

Multiple Partitions

Monitor several LPARs with separate probe instances:

# probes.d/40-ibmi.yaml
- name: ibmi-prod
  type: ibmi
  params:
    host: "ibmi-prod.company.com"
    user: "MONITOR"
    password: "${secret:ibmi-prod.password}"
    bridge_runner_dir: "/opt/senhub/ibmi-bridge"
    environment: "production"

- name: ibmi-qa
  type: ibmi
  params:
    host: "ibmi-qa.company.com"
    user: "MONITOR"
    password: "${secret:ibmi-qa.password}"
    bridge_runner_dir: "/opt/senhub/ibmi-bridge"
    environment: "qa"
    disabled_collectors: ["index_advisor", "sys_table_stats"]   # skip heavy DB queries in QA

Configuration Parameters

Parameter Must set Default Description
host Yes - IBM i hostname or address the bridge connects to. Example: ibmi01.example.com
user Yes - IBM i user profile of the SQL session
password Yes - Password of the user profile. A secret: reference it with ${secret:…}, ${env:…} or ${file:…} rather than writing it in the file
bridge_runner_dir In practice - Directory holding Jt400Runner.class and jt400.jar; required unless native_runner is set, then only the working directory. Example: /opt/senhub-agent/jt400
native_runner No - GraalVM native-image jt400runner binary run instead of a JVM; bridge_runner_dir and java_home become optional. Example: /opt/senhub-agent/jt400runner
java_home No - JAVA_HOME used to launch the bridge; empty uses the JAVA_HOME variable, then java on the PATH
interval No 30 Seconds between collections
query_timeout_s No 10 Per-query timeout, in seconds
startup_timeout_s No 15 Bridge startup timeout, in seconds
enabled_collectors No - Collectors to run; empty runs the default set, and this is the only way to turn on audit_journal, authority_collection, ptf, ptf_group, query_supervisor, service_agent and watch_info. One of system_status, asp, subsystem, memory_pool, output_queue, active_job, job_queue, scheduled_job, user_profile, system_value, netstat_listener, netstat_interface, netstat_connection, http_server, jvm, disk_status, sys_table_stats, journal_info, journal_receiver, library_list, license, media_library, spooled_file, user_storage, index_advisor, hardware_resource, message_queue, history_log, msgw_job, audit_journal, authority_collection, ptf_group, ptf, service_agent, watch_info, query_supervisor
disabled_collectors No - Collectors removed from the enabled set; unknown names are ignored. One of system_status, asp, subsystem, memory_pool, output_queue, active_job, job_queue, scheduled_job, user_profile, system_value, netstat_listener, netstat_interface, netstat_connection, http_server, jvm, disk_status, sys_table_stats, journal_info, journal_receiver, library_list, license, media_library, spooled_file, user_storage, index_advisor, hardware_resource, message_queue, history_log, msgw_job, audit_journal, authority_collection, ptf_group, ptf, service_agent, watch_info, query_supervisor
message_queues No - Message queues to watch, one collector each; empty watches QSYS/QSYSOPR
message_queues[].name Yes - Queue name. Example: QSYSOPR
message_queues[].library No QSYS Library of the queue
message_queues[].min_severity No 0 Messages below this severity are not relayed
history_log_min_severity No 30 History log (QHST) messages below this severity (0-99) are not collected; the default 30 keeps warnings and above (OTel WARN), 0 keeps every message for a full audit, and a busy partition logs thousands of messages a minute
environment No - Deployment environment name carried by the partition entity. Example: production
db_instance_name No - Identity override of the Db2 for i entity; empty derives it from the relational database name

Collector names

enabled_collectors and disabled_collectors take the names below, exactly as written. A name that is not in this list is ignored without a warning, so a typo silently leaves the collector in its default state.

Run by default:

system_status, asp, subsystem, memory_pool, output_queue, active_job, job_queue, scheduled_job, user_profile, system_value, netstat_listener, netstat_interface, netstat_connection, http_server, jvm, disk_status, sys_table_stats, journal_info, journal_receiver, library_list, license, media_library, spooled_file, user_storage, index_advisor, hardware_resource, message_queue, history_log, msgw_job.

Off by default, turned on only by listing them in enabled_collectors:

audit_journal, authority_collection, ptf_group, ptf, service_agent, watch_info, query_supervisor.

When enabled_collectors is set, only the listed collectors run; the default set is not added to it.

Metrics Collected

All metrics carry the standard host / probe attributes. Metric families that split by resource (ASP, disk unit, job, queue, pool, table, journal, interface, …) or by state carry an ibmi.* OTel attribute rather than exposing separate metric names. Metrics defined with a probe-side unit of %, KB/MB/GB/B or ms are converted by the OTel mapper to a 0..1 ratio, By and s respectively; the PRTG/Nagios pull views display ratios as percentages.

System — CPU

Metric Unit Description
senhub.ibmi.cpu.utilization 1 Percentage of CPU used over the elapsed interval (ratio; % in pull views)
senhub.ibmi.cpu.configured {cpu} Number of configured virtual CPUs
senhub.ibmi.cpu.capacity {cpu} Current processing capacity

Memory & Pools

Metric Unit Resource attribute Description
senhub.ibmi.memory.main_storage By - Main storage size
senhub.ibmi.memory_pool.size By ibmi.pool.name Defined pool size
senhub.ibmi.memory_pool.threads {thread} ibmi.pool.name Current threads in the pool
senhub.ibmi.memory_pool.ineligible_threads {thread} ibmi.pool.name Ineligible threads waiting for activity level

Storage — ASP, disk & user storage

Metric Unit Resource attribute Description
senhub.ibmi.asp.system.utilization 1 - System ASP used (ratio)
senhub.ibmi.asp.utilization 1 ibmi.asp.number Per-ASP used (ratio)
senhub.ibmi.asp.capacity By ibmi.asp.number Per-ASP total capacity
senhub.ibmi.asp.threshold 1 ibmi.asp.number Per-ASP storage threshold (ratio)
senhub.ibmi.disk.utilization 1 ibmi.disk.unit Disk unit busy (ratio)
senhub.ibmi.disk.space.utilization 1 ibmi.disk.unit Disk unit space used (ratio)
senhub.ibmi.disk.capacity By ibmi.disk.unit Disk unit capacity
senhub.ibmi.disk.available By ibmi.disk.unit Disk unit available space
senhub.ibmi.disk.read / .write By ibmi.disk.unit Bytes read / written (counter)
senhub.ibmi.disk.operations {operation} ibmi.disk.unit Read/write requests, split by disk.io.direction (counter)
senhub.ibmi.disk.units {unit} - Total disk units
senhub.ibmi.user_storage.used By ibmi.user.name Storage used per user profile
senhub.ibmi.user_storage.quota By ibmi.user.name Storage quota per user profile
senhub.ibmi.user_storage.utilization 1 ibmi.user.name Quota usage ratio per user profile
senhub.ibmi.user_storage.over_threshold {user} - Users over 80% of their storage quota

Jobs — aggregate & per-job

Metric Unit Resource attribute Description
senhub.ibmi.job.count {job} - Total jobs on the partition
senhub.ibmi.jobs.active {job} - Active jobs
senhub.ibmi.jobs.by_status {job} ibmi.job.type, ibmi.job.status Job count split by type and status
senhub.ibmi.jobs.by_subsystem {job} ibmi.subsystem Job count per subsystem
senhub.ibmi.jobs.topn_cap_hit 1 - 1 when the active-job SQL hit the row cap (counts may undercount)
senhub.ibmi.job.cpu.utilization 1 ibmi.job.name Per-job CPU (ratio), top-N by elapsed CPU
senhub.ibmi.job.cpu.elapsed_time s ibmi.job.name Per-job elapsed CPU time
senhub.ibmi.job.cpu.cumulative_time s ibmi.job.name Per-job cumulative CPU time (counter)
senhub.ibmi.job.cpu.delta_time / .rate s / 1 ibmi.job.name Per-job CPU delta and per-second rate
senhub.ibmi.job.temp_storage By ibmi.job.name Per-job temporary storage
senhub.ibmi.job.disk.io / .elapsed_io {operation} ibmi.job.name Per-job total / elapsed disk I/O
senhub.ibmi.job.page_faults {fault} ibmi.job.name Per-job page faults
senhub.ibmi.job.threads {thread} ibmi.job.name Per-job thread count
senhub.ibmi.job.priority 1 ibmi.job.name Per-job run priority

The per-job CPU, disk and page-fault values describe the collection interval: the probe asks IBM i to reset the elapsed statistics on every collection. The first collection after the probe starts reports the aggregates only, and the per-job series start on the second.

The per-job series are not sent to PRTG. A job's name carries its number (851034/QUSER/QP0ZSPWT), which changes at every run, and PRTG keeps every channel it has seen: each run would leave a dead channel on the sensor, and thousands of them overload the PRTG server. PRTG gets the aggregates above; the per-job detail stays on the Prometheus, OTLP, Nagios and Zabbix outputs. The relayed events (QSYSOPR messages, QHST and audit entries, MSGW jobs) are kept out of PRTG for the same reason; the number of jobs waiting on a message remains visible there through the jobs-by-status count.

Job queues & scheduled jobs

Metric Unit Resource attribute Description
senhub.ibmi.job_queue.active {job} ibmi.queue.name Active jobs in the queue
senhub.ibmi.job_queue.held {job} ibmi.queue.name Held jobs
senhub.ibmi.job_queue.released {job} ibmi.queue.name Released jobs
senhub.ibmi.job_queue.scheduled {job} ibmi.queue.name Scheduled jobs
senhub.ibmi.job_queue.depth {job} ibmi.queue.name Total jobs in the queue
senhub.ibmi.job_queue.nonempty {queue} - Number of non-empty job queues
senhub.ibmi.scheduled_job.count {job} - Scheduled jobs total
senhub.ibmi.scheduled_job.last_run_age s ibmi.job.name Age since a scheduled job last ran

Subsystems, output queues & spool

Metric Unit Resource attribute Description
senhub.ibmi.subsystem.active_jobs {job} ibmi.subsystem Active jobs per subsystem
senhub.ibmi.output_queue.files {file} ibmi.queue.name Spool files per output queue
senhub.ibmi.output_queue.spooled_files {file} - Total spooled files across output queues
senhub.ibmi.spooled_file.count {file} - Spooled files total
senhub.ibmi.spooled_file.oldest_age s - Age of the oldest spooled file

Database — tables, index advisor, journals

Metric Unit Resource attribute Description
senhub.ibmi.table.rows {row} ibmi.table.schema, ibmi.table.name Row count
senhub.ibmi.table.logical_reads {read} ibmi.table.schema, ibmi.table.name Logical reads (counter)
senhub.ibmi.table.updates {update} ibmi.table.schema, ibmi.table.name Updates (counter)
senhub.ibmi.table.deleted_rows {row} ibmi.table.schema, ibmi.table.name Deleted (not-yet-reorganized) rows
senhub.ibmi.index_advisor.times_advised {advisory} ibmi.table.name Missing-index recommendation hit count (counter)
senhub.ibmi.index_advisor.mti_used {use} ibmi.table.name Maintained temporary index uses (counter)
senhub.ibmi.index_advisor.avg_query_estimate s ibmi.table.name Average estimated query time
senhub.ibmi.index_advisor.advised_indexes {index} - Total advised indexes
senhub.ibmi.index_advisor.recent_advisories {advisory} - Advisories seen in the last hour
senhub.ibmi.journal.active 1 ibmi.journal.name Journal active state
senhub.ibmi.journal.receivers_size By ibmi.journal.name Total attached-receiver size
senhub.ibmi.journal.remote_lag s ibmi.journal.name Estimated remote-journal lag
senhub.ibmi.journal_receiver.size By ibmi.receiver.name Journal receiver size
senhub.ibmi.journal_receiver.attached {receiver} - Attached receivers total

Network — TCP, listeners, interfaces, HTTP

Metric Unit Resource attribute Description
senhub.ibmi.tcp.connections.established {connection} - Established TCP connections
senhub.ibmi.netstat.connections {connection} - Total TCP connections
senhub.ibmi.netstat.connections_by_state {connection} ibmi.tcp.state Connections split by TCP state
senhub.ibmi.netstat.listener.up 1 ibmi.net.local_port Listener up (per port, network.transport)
senhub.ibmi.netstat.listener.jobs {job} ibmi.net.local_port Jobs bound to a listener
senhub.ibmi.netstat.listeners {listener} - Listeners total
senhub.ibmi.netstat.interface.up 1 ibmi.net.address Interface up
senhub.ibmi.netstat.interface.mtu By ibmi.net.address Interface MTU
senhub.ibmi.http_server.threads.active / .idle {thread} ibmi.http.server_name HTTP server active / idle threads
senhub.ibmi.http_server.responses {response} ibmi.http.server_name HTTP responses served (counter)

Hardware

Metric Unit Resource attribute Description
senhub.ibmi.hardware.count {resource} ibmi.hardware.category, ibmi.hardware.status Hardware resource count by category and status
senhub.ibmi.hardware.resource.count {resource} - Total hardware resources
senhub.ibmi.hardware.non_operational {resource} - Resources in any non-OPERATIONAL status

Security & compliance

Metric Unit Resource attribute Description
senhub.ibmi.user_profile.count {user} - User profiles total
senhub.ibmi.user_profile.by_status {user} ibmi.user.status User profiles by status (enabled / disabled)
senhub.ibmi.user_profile.by_class {user} ibmi.user.class User profiles by class (SECOFR, USER, …)
senhub.ibmi.user_profile.failed_signons {user} - Profiles with failed sign-on attempts
senhub.ibmi.sysval.security_level 1 - QSECURITY system value
senhub.ibmi.sysval.audit_level 1 - QAUDLVL system value
senhub.ibmi.library_list.position 1 ibmi.library.name Library position in the list, by type
senhub.ibmi.license.licensed_users {user} ibmi.license.product_id Licensed users per product / feature
senhub.ibmi.license.usage_limit 1 ibmi.license.product_id License usage limit per product / feature
senhub.ibmi.ptf_group.installed 1 ibmi.ptf.group PTF group installed state
senhub.ibmi.ptf_group.level 1 ibmi.ptf.group Installed PTF group level
senhub.ibmi.watch.session_active 1 ibmi.watch.session_id Watch session active state

Probe self-observability

Metric Unit Resource attribute Description
senhub.ibmi.collector.success {collection} ibmi.collector Successful collections per collector (counter)
senhub.ibmi.collector.failure {collection} ibmi.collector Failed collections per collector (counter)
senhub.ibmi.collector.last_duration s ibmi.collector Duration of the last collection
senhub.ibmi.collector.last_success_timestamp s ibmi.collector Unix timestamp of the last successful collection

Events as logs

The message_queue (QSYSOPR), history_log (QHST) and audit_journal (QAUDJRN) collectors relay operational events rather than numeric metrics. They are not exported as OTLP or Prometheus metrics; each event is sent as an OpenTelemetry log record on the agent's log rail, the same path as the filetail, syslog and windows_eventlog probes, so it reaches the logs backend of the OTLP output (and honours the probe's log_strategies). The msgw_job collector (jobs in message wait) stays a metric-side condition: it re-reports the same job every cycle, which is a state, not a log. A collector that is not enabled sends nothing.

A log record carries:

  • Body: the message text (for the audit journal, QAUDJRN <type>: user=... object=lib/name/type).
  • Timestamp: the event's own time on the partition, converted to UTC with the partition's clock and zone, so an agent and a partition in different zones report the same instants.
  • Severity: the IBM i severity (0-99) mapped to an OTel severity, with the original number kept in ibmi.severity.
  • Attributes: ibmi.event.source (history_log, message_queue or audit_journal), server.address (the partition's host), ibmi.severity, ibmi.message.id, ibmi.message.type, ibmi.from.user, ibmi.from.job and ibmi.from.program (history log and message queue; no program for the queue), ibmi.queue.name and ibmi.queue.library (message queue), ibmi.audit.entry_type, ibmi.object.name, ibmi.object.library, ibmi.object.type, ibmi.job.name and ibmi.user.name (audit journal), plus senhub.probe.name and senhub.probe.type.
IBM i severity OTel severity
0-29 (information, notification) INFO (9)
30-39 (warning) WARN (13)
40-59 (error) ERROR (17)
60-79 (severe error) ERROR3 (19)
80-99 (abnormal end of job or system) FATAL (21)

The volume lever is the history_log_min_severity parameter (0-99, default 30, warnings and above; 0 keeps every message for a full audit): a partition such as PUB400 logs thousands of QHST messages a minute (about 13 800 records an hour at 0, about 250 at 30), and the floor is applied on the server, so messages below it neither cross the bridge nor reach the log rail. For a message queue the equivalent is message_queues[].min_severity. The audit journal reads the entry types AF, CA, CO, CP, DO, OR, OW, PA, PW, SV and ZC only, with the severity 60 for AF and PW, 50 for SV, CA and OW, and 30 otherwise.

Requirements

  • Db2 for i SQL services reachable from the agent host over the JT400 (JTOpen) toolbox — the database host server must be started (STRHOSTSVR SERVER(*DATABASE)).
  • An IBM i user profile for the probe with read access to the SQL services used (system, jobs, storage, database, network and message catalogs under QSYS2 / SYSTOOLS). A profile with *USE authority to those services is sufficient; *ALLOBJ is not required. Give it a non-expiring password and no interactive display sessions. When IBM i refuses the password, the probe is not retried on its own: each retry would be another invalid sign-on, and the system disables a profile after a few (QMAXSIGN). The agent log says so; fix the password, then reload the configuration or restart the agent.
  • The JT400 bridge: either the bundled Jt400Runner.class + jt400.jar under bridge_runner_dir with a JRE on the agent host, or a GraalVM native-image jt400runner binary referenced via native_runner.
  • Network path from the agent host to the partition (default database host-server port 8471, plus the port-mapper on 449).

Outputs

IBM i metrics are available through every configured output — OTLP, Prometheus, and the pull formats (PRTG, Nagios, Web UI). For PRTG and Nagios, query the probe by its configured name:

curl "http://localhost:8080/api/{agentkey}/prtg/metrics/ibmi-prod"
curl "http://localhost:8080/api/{agentkey}/nagios/metrics/ibmi-prod"

PRTG: one sensor per family

A partition yields far more series than the 50 channels a PRTG sensor holds, so split it into several sensors. Every metric carries a metric_type tag naming its family, the segment after ibmi. in its name, and a sensor selects one family with it:

curl "http://localhost:8080/api/{agentkey}/prtg/metrics/ibmi-prod?tags=metric_type:cpu"
curl "http://localhost:8080/api/{agentkey}/prtg/metrics/ibmi-prod?tags=metric_type:user_profile"

Several families fit one sensor when their series stay under 50, with ?tags=metric_type:cpu,memory. A family with one series per disk unit, listener, output queue or journal can exceed 50: add a metrics= filter to keep one or two measurements per sensor.

The plan below was measured on a partition with 46 disk units, 38 TCP listeners, 33 output queues and 17 journals. Append each query to the probe's PRTG URL, /api/{agentkey}/prtg/metrics/ibmi-prod.

Base set (nine sensors)

Sensor Query Channels measured
System: CPU, memory, pools, ASPs ?tags=metric_type:cpu,memory,memory_pool,asp 30
Jobs by status ?tags=metric_type:jobs&metrics=ibmi.jobs.count_by_status 23 to 28
Jobs by subsystem, totals ?tags=metric_type:jobs&metrics=ibmi.jobs.count_by_subsystem,ibmi.jobs.total_count,ibmi.jobs.active_total 20
Subsystems and job queues ?tags=metric_type:subsystem,job_queue 35
Disks, percent used ?tags=metric_type:disk&metrics=ibmi.disk.percent_used 46
Active TCP listeners ?tags=metric_type:netstat&metrics=ibmi.netstat.listener_up 38
TCP and HTTP servers ?tags=metric_type:tcp,http_server 17
Security: system values, user profiles ?tags=metric_type:sysval,user_profile 25
Collector failures ?tags=metric_type:collector&metrics=ibmi.collector.failure_total 27

Optional

Sensor Query Channels measured
Disks, free space ?tags=metric_type:disk&metrics=ibmi.disk.available_gb 46
User storage, hardware, JVM, media, spool ?tags=metric_type:user_storage,hardware_resource,jvm,media_library,spooled_file 27
Scheduled jobs ?tags=metric_type:scheduled_job 28
Journals ?tags=metric_type:journal&metrics=ibmi.journal.receivers_count,ibmi.journal.receivers_total_size_kb 34
Journal receivers ?tags=metric_type:journal_receiver 40
Library list ?tags=metric_type:library_list 15
Output queues, files ?tags=metric_type:output_queue&metrics=ibmi.output_queue.files_count 33
Licences used ?tags=metric_type:license&metrics=ibmi.license.usage_count,ibmi.license.usage_limit 24
Network interfaces and connections ?tags=metric_type:netstat&metrics=ibmi.netstat.connections_by_state,ibmi.netstat.connections_total,ibmi.netstat.interface_up,ibmi.netstat.interface_mtu 15

The counts grow with the partition. The job-status sensor follows the statuses present at each collection: a status that appears once leaves a channel PRTG keeps, empty, which is why jobs by status and jobs by subsystem are two sensors. The disk, listener and output-queue sensors follow the number of objects: a system with more than 50 disk units or listeners needs them split further, for example by ASP with &tags=asp_number:1; check the channel count in the console's Sensor URLs preview before creating a sensor. Do not point one PRTG sensor at the whole probe: on the partition above it returns about 800 channels, sixteen times what PRTG takes on one sensor, and it loaded a test PRTG server to full CPU.

Metric reference

Every metric this probe can emit. Metric is the OpenTelemetry name the OTLP, Prometheus and Zabbix outputs derive theirs from. Name is what a Nagios check and the API metrics= filter match. PRTG channel is the label PRTG shows, placeholders filled from the series' tags.

Metric Name PRTG channel Unit Description
senhub.ibmi.cpu.utilization ibmi.cpu.elapsed_used_percent CPU Used % Percentage of the partition's CPU used since the previous collection of this probe; absent on the first cycle after the agent or the bridge starts
senhub.ibmi.cpu.configured ibmi.cpu.configured_count CPU Configured Count # Number of configured virtual CPUs
senhub.ibmi.cpu.capacity ibmi.cpu.current_capacity CPU Current Capacity # Current processing capacity
senhub.ibmi.memory.main_storage ibmi.memory.main_storage_kb Main Storage KB Main storage configured on the partition (MAIN_STORAGE_SIZE)
senhub.ibmi.asp.system.utilization ibmi.asp.system_used_percent System ASP Used % Percentage of the system ASP in use; the number that fills before the partition stops writing
senhub.ibmi.asp.utilization ibmi.asp.used_percent ASP Used ({asp_number}) % Percentage of this ASP in use
senhub.ibmi.asp.capacity ibmi.asp.total_capacity_mb ASP Total Capacity ({asp_number}) MB Total capacity of this ASP
senhub.ibmi.asp.threshold ibmi.asp.storage_threshold_percent ASP Storage Threshold ({asp_number}) % Threshold at which this ASP raises a storage warning, as configured — not a measurement
senhub.ibmi.asp.disk_units ibmi.asp.disk_units_count ASP Disk Units ({asp_number}) # Disk units that make up this ASP
senhub.ibmi.asp.available ibmi.asp.available_capacity_mb ASP Available Capacity ({asp_number}) MB Capacity of this ASP not yet in use
senhub.ibmi.asp.overflow ibmi.asp.overflow_storage_mb ASP Overflow Storage ({asp_number}) MB Storage of this ASP that overflowed into the system ASP; a non-zero value is an alarm
senhub.ibmi.job.count ibmi.jobs.total_count Jobs Total # Jobs in the system, active and inactive (TOTAL_JOBS_IN_SYSTEM)
senhub.ibmi.jobs.active ibmi.jobs.active_total Jobs Active Total # Active jobs returned by the scan; capped by the row limit, see ibmi.jobs.topn_cap_hit
senhub.ibmi.jobs.by_status ibmi.jobs.count_by_status Jobs {job_type} / {status} # Active jobs of this type in this status; the enum values come from IBM, so cardinality is bounded
senhub.ibmi.jobs.by_subsystem ibmi.jobs.count_by_subsystem Jobs in # Active jobs running in this subsystem
senhub.ibmi.jobs.topn_cap_hit ibmi.jobs.topn_cap_hit Top-N Cap Hit # 1 = active_job SQL hit the row cap, counts may be undercounts
senhub.ibmi.job.cpu.utilization ibmi.job.elapsed_cpu_percent CPU % — % Share of CPU attributed to this job since the previous collection; the statistics are reset on every collection, so this is the collection interval and not the time since the connection opened
senhub.ibmi.job.cpu.elapsed_time ibmi.job.elapsed_cpu_ms Elapsed CPU — ms CPU time this job used since the previous collection; same window as elapsed_cpu_percent
senhub.ibmi.job.cpu.cumulative_time ibmi.job.cpu_time_ms Cumulative CPU — ms CPU time this job has used since it started — cumulative, not an interval
senhub.ibmi.job.cpu.delta_time ibmi.job.cpu_time_ms_delta CPU Delta — ms CPU time consumed between two collections, derived from cpu_time_ms
senhub.ibmi.job.cpu.rate ibmi.job.cpu_time_ms_rate_per_sec CPU Rate — ms/s CPU milliseconds consumed per wallclock second — dimensionless ratio when divided by 1000
senhub.ibmi.job.temp_storage ibmi.job.temp_storage_mb Temp Storage — MB Temporary storage currently allocated to this job; a job that grows here without end is the usual sign of a leak
senhub.ibmi.job.disk.io ibmi.job.total_disk_io Total Disk I/O — # Disk I/O operations this job has performed since it started
senhub.ibmi.job.disk.elapsed_io ibmi.job.elapsed_total_disk_io Disk I/O (elapsed) — # Disk I/O since the previous collection; same window as the other elapsed values
senhub.ibmi.job.page_faults ibmi.job.elapsed_page_faults Page Faults — # Page faults since the previous collection; sustained faults point at an undersized memory pool
senhub.ibmi.job.threads ibmi.job.thread_count Threads — # Threads this job is running
senhub.ibmi.job.priority ibmi.job.run_priority Run Priority — # Priority at which this job competes for the processor, 1 highest to 99 lowest — lower is more urgent
senhub.ibmi.job_queue.active ibmi.job_queue.active_jobs Active Jobs — # Jobs of this queue currently running
senhub.ibmi.job_queue.held ibmi.job_queue.held_jobs Held Jobs — # Jobs held in this queue; held work does not run until released
senhub.ibmi.job_queue.released ibmi.job_queue.released_jobs Released Jobs — # Jobs released and waiting to be dispatched from this queue
senhub.ibmi.job_queue.scheduled ibmi.job_queue.scheduled_jobs Scheduled Jobs — # Jobs in this queue waiting for their scheduled time
senhub.ibmi.job_queue.depth ibmi.job_queue.jobs_total Total Jobs — # Jobs of every state in this queue — its depth
senhub.ibmi.job_queue.nonempty ibmi.job_queue.nonempty_total Non-empty Job Queues # Job queues holding at least one job
senhub.ibmi.job_queues.depth ibmi.job_queue.jobs_sum Job Queues Jobs # Jobs waiting in all non-empty job queues; the sum of the per-queue series
senhub.ibmi.job_queues.active ibmi.job_queue.active_sum Job Queues Active Jobs # Active jobs of all non-empty job queues; the sum of the per-queue series
senhub.ibmi.job_queues.held ibmi.job_queue.held_sum Job Queues Held Jobs # Held jobs of all non-empty job queues; the sum of the per-queue series
senhub.ibmi.job_queues.released ibmi.job_queue.released_sum Job Queues Released Jobs # Released jobs of all non-empty job queues; the sum of the per-queue series
senhub.ibmi.job_queues.scheduled ibmi.job_queue.scheduled_sum Job Queues Scheduled Jobs # Scheduled jobs of all non-empty job queues; the sum of the per-queue series
senhub.ibmi.scheduled_job.count ibmi.scheduled_job.total Scheduled Jobs # Entries in the job scheduler
senhub.ibmi.scheduled_job.last_run_age ibmi.scheduled_job.last_run_age_seconds Scheduled Last Run Age — s Time since this scheduled job last ran; the metric to alert on, an entry that stops firing keeps a healthy last status
senhub.ibmi.scheduled_job.by_status ibmi.scheduled_job.count_by_status Scheduled Jobs # Scheduled job entries in this status
- ibmi.msgw_job.event MSGW — s Job in message wait; value = seconds stuck
senhub.ibmi.subsystem.active_jobs ibmi.subsystem.active_jobs_count Active Jobs in # Active jobs in this subsystem
senhub.ibmi.subsystem.max_active_jobs ibmi.subsystem.max_active_jobs Max Active Jobs in # Active jobs this subsystem accepts, as configured — not a measurement
senhub.ibmi.memory_pool.size ibmi.memory_pool.defined_size_mb Pool Size — MB Size configured for this memory pool
senhub.ibmi.memory_pool.threads ibmi.memory_pool.current_threads Pool Threads — # Threads currently eligible to run in this pool
senhub.ibmi.memory_pool.ineligible_threads ibmi.memory_pool.ineligible_threads Pool Ineligible — # Threads waiting for an activation slot in this pool; a rising count means the pool's activity level is too low for the work
senhub.ibmi.memory_pool.current_size ibmi.memory_pool.current_size_mb Pool Current Size — MB Storage this pool holds now
senhub.ibmi.memory_pool.reserved_size ibmi.memory_pool.reserved_size_mb Pool Reserved Size — MB Storage of this pool reserved for the system
senhub.ibmi.disk.utilization ibmi.disk.percent_busy Disk Busy — unit % Share of time this disk unit was busy since the previous collection
senhub.ibmi.disk.read ibmi.disk.data_read_bytes Disk Read — unit B Bytes read from this disk unit since the previous collection
senhub.ibmi.disk.write ibmi.disk.data_written_bytes Disk Write — unit B Bytes written to this disk unit since the previous collection
senhub.ibmi.disk.operations ibmi.disk.read_requests Disk Read Requests — unit # Read requests served by this disk unit since the previous collection
senhub.ibmi.disk.operations ibmi.disk.write_requests Disk Write Requests — unit # Write requests served by this disk unit since the previous collection
senhub.ibmi.disk.capacity ibmi.disk.capacity_bytes Disk Capacity — unit B Total capacity of this disk unit
senhub.ibmi.disk.available ibmi.disk.available_gb Disk Available — unit GB Space still available on this disk unit
senhub.ibmi.disk.space.utilization ibmi.disk.percent_used Disk Used — unit % Share of this disk unit in use
senhub.ibmi.disk.units ibmi.disk.units_total Disk Units # Disk units the partition reports
senhub.ibmi.output_queue.files ibmi.output_queue.files_count Spool Files — # Spooled files waiting in this output queue
senhub.ibmi.output_queue.spooled_files ibmi.output_queue.spooled_files_total Spooled Files Total # Spooled files across every output queue
senhub.ibmi.output_queue.nonempty ibmi.output_queue.nonempty_total Output Queues Non-empty # Output queues holding at least one spooled file
senhub.ibmi.output_queue.writers ibmi.output_queue.writers_count Output Queue Writers — # Writers started against this output queue
senhub.ibmi.spooled_file.count ibmi.spooled_file.total Spooled Files # Spooled files the scan returned
senhub.ibmi.spooled_file.oldest_age ibmi.spooled_file.oldest_age_seconds Oldest Spool Age s Age of the oldest spooled file; output nobody collects accumulates here and consumes ASP
senhub.ibmi.spooled_file.by_status ibmi.spooled_file.count_by_status Spooled Files # Spooled files in this status
senhub.ibmi.spooled_file.oldest_age_by_status ibmi.spooled_file.oldest_age_seconds_by_status Oldest Spooled File — s Age of the oldest spooled file in this status
senhub.ibmi.user_storage.used ibmi.user_storage.used_kb User Storage — KB Storage owned by this user profile
senhub.ibmi.user_storage.quota ibmi.user_storage.quota_kb User Quota — KB Storage limit set on this user profile; 0 means no limit
senhub.ibmi.user_storage.utilization ibmi.user_storage.usage_ratio_percent User Storage Ratio — % Share of this user's quota in use; absent when no quota is set
senhub.ibmi.user_storage.over_threshold ibmi.user_storage.users_over_80pct Users Over 80% Quota # User profiles past 80% of their storage quota
senhub.ibmi.user_storage.total_used ibmi.user_storage.used_total_kb User Storage Used Total KB Storage used by the users covered by the per-user series
senhub.ibmi.user_storage.users ibmi.user_storage.users_total Users With Storage # Users holding storage
senhub.ibmi.user_storage.users_with_quota ibmi.user_storage.users_with_quota Users With Storage Quota # Users whose storage is capped (a maximum other than *NOMAX)
senhub.ibmi.table.rows ibmi.table.rows_count Rows — {schema}.{table_name} # Rows in this table
senhub.ibmi.table.logical_reads ibmi.table.logical_reads_total Logical Reads — {schema}.{table_name} # Logical reads against this table since the statistics were last reset
senhub.ibmi.table.updates ibmi.table.updates_total Updates — {schema}.{table_name} # Update operations against this table since the statistics were last reset
senhub.ibmi.table.deleted_rows ibmi.table.deleted_rows Deleted Rows — {schema}.{table_name} # Rows deleted but not yet reorganised; space a REORG would reclaim
senhub.ibmi.table.data_size ibmi.table.data_size_bytes Table Data Size — B Data stored in this table
senhub.ibmi.table.inserts ibmi.table.inserts_total Table Inserts — # Rows inserted into this table since the statistics started
senhub.ibmi.table.deletes ibmi.table.deletes_total Table Deletes — # Rows deleted from this table since the statistics started
senhub.ibmi.table.sampled ibmi.table.top_count Tables Sampled # Tables the per-table series cover (the sample is capped at 30 user tables)
senhub.ibmi.table.sampled_data_size ibmi.table.top_data_size_sum_bytes Sampled Tables Data Size B Data stored in the sampled tables
senhub.ibmi.index_advisor.times_advised ibmi.index_advisor.times_advised Times Advised — {table_schema}.{table_name} # Missing-index recommendation hit count
senhub.ibmi.index_advisor.mti_used ibmi.index_advisor.mti_used MTI Used — {table_schema}.{table_name} # Times the system built a temporary index for this table instead of using a permanent one
senhub.ibmi.index_advisor.avg_query_estimate ibmi.index_advisor.avg_query_estimate_seconds Avg Query Estimate — {table_schema}.{table_name} s Estimated query time the advisor expects to save by creating the advised index
senhub.ibmi.index_advisor.advised_indexes ibmi.index_advisor.total Advised Indexes # Index recommendations open across the partition
senhub.ibmi.index_advisor.recent_advisories ibmi.index_advisor.recent_advisories_1h Index Advisories (1h) # Index recommendations raised in the last hour; a burst points at a query pattern that changed
senhub.ibmi.journal.active ibmi.journal.active Journal {journal} ({journal_library}) # 1 when this journal is active
senhub.ibmi.journal.receivers_size ibmi.journal.receivers_total_size_kb Receivers Size — KB Size of every receiver attached to this journal; receivers that are never detached grow without bound
senhub.ibmi.journal.remote_lag ibmi.journal.remote_lag_estimated_seconds Remote Lag (est) — s Estimated delay of the remote journal behind the local one — an estimate, not a value the system reports
senhub.ibmi.journal.receivers ibmi.journal.receivers_count Journal Receivers — # Receivers attached to this journal over its life
senhub.ibmi.journal.remote_journals ibmi.journal.remote_journals_count Remote Journals — # Remote journals fed by this journal
senhub.ibmi.journal.remote_lag_maximum ibmi.journal.remote_lag_maximum_seconds Remote Journal Max Lag — s Longest time a remote journal of this journal has been behind
senhub.ibmi.journal.by_state ibmi.journal.count_by_state Journals # Journals in this state
senhub.ibmi.journal.count ibmi.journal.total Journals Total # Journals defined on the partition
senhub.ibmi.journal_receiver.size ibmi.journal_receiver.size_kb Receiver Size — KB Size of this journal receiver
senhub.ibmi.journal_receiver.attached ibmi.journal_receiver.attached_total Attached Receivers # Journal receivers currently attached
senhub.ibmi.journal_receiver.threshold ibmi.journal_receiver.threshold_kb Receiver Threshold — KB Size at which the system raises the receiver threshold message, as configured — not a measurement
senhub.ibmi.journal_receiver.entries ibmi.journal_receiver.entries_count Receiver Entries — # Journal entries held by this attached receiver
senhub.ibmi.journal_receiver.pending_transactions ibmi.journal_receiver.pending_transactions Receiver Pending Transactions — # Transactions still open against this attached receiver
senhub.ibmi.tcp.connections.established ibmi.tcp.connections_established TCP Connections Established # TCP connections currently established
senhub.ibmi.tcp.active_opens ibmi.tcp.active_opens_total TCP Active Opens # Connections the partition opened since the TCP stack started
senhub.ibmi.tcp.passive_opens ibmi.tcp.passive_opens_total TCP Passive Opens # Connections the partition accepted since the TCP stack started
senhub.ibmi.tcp.failed_opens ibmi.tcp.failed_opens_total TCP Failed Opens # Connection attempts that failed since the TCP stack started
senhub.ibmi.tcp.established_resets ibmi.tcp.established_reset_total TCP Established Resets # Established connections that were then reset since the TCP stack started
senhub.ibmi.tcp.segments_sent ibmi.tcp.segments_sent_total TCP Segments Sent # Segments sent since the TCP stack started
senhub.ibmi.tcp.segments_received ibmi.tcp.segments_received_total TCP Segments Received # Segments received since the TCP stack started
senhub.ibmi.tcp.segments_retransmitted ibmi.tcp.segments_retransmitted_total TCP Segments Retransmitted # Segments retransmitted since the TCP stack started
senhub.ibmi.tcp.segments_reset ibmi.tcp.segments_reset_total TCP Segments Reset # Segments sent with the reset flag since the TCP stack started
senhub.ibmi.netstat.connections ibmi.netstat.connections_total TCP Connections Total # TCP connections in every state
senhub.ibmi.netstat.connections_by_state ibmi.netstat.connections_by_state TCP # TCP connections in this state; a growing TIME-WAIT or CLOSE-WAIT count is the usual first symptom
senhub.ibmi.netstat.listener.up ibmi.netstat.listener_up Listener — port # 1 when something is listening on this port
senhub.ibmi.netstat.listener.jobs ibmi.netstat.listener_jobs Listener Jobs — port # Jobs listening on this port
senhub.ibmi.netstat.listeners ibmi.netstat.listener_total Listeners Total # Ports with a listener
senhub.ibmi.netstat.interface.up ibmi.netstat.interface_up Interface — # 1 when this interface is active
senhub.ibmi.netstat.interface.mtu ibmi.netstat.interface_mtu Interface MTU — B MTU configured on this interface
senhub.ibmi.netstat.interface.by_status ibmi.netstat.interface_count_by_status Interfaces # Network interfaces in this status
senhub.ibmi.http_server.threads.active ibmi.http_server.active_threads HTTP Active Threads — # Threads serving requests on this HTTP server
senhub.ibmi.http_server.threads.idle ibmi.http_server.idle_threads HTTP Idle Threads — # Threads idle on this HTTP server; no idle thread left means requests are queuing
senhub.ibmi.http_server.responses ibmi.http_server.total_responses HTTP Responses — # Responses this HTTP server has sent since it started
senhub.ibmi.http_server.instances ibmi.http_server.instances_total HTTP Server Instances # HTTP server instances running on the partition
senhub.ibmi.http_server.connections.normal ibmi.http_server.normal_connections HTTP Normal Connections — # Plain (non-SSL) connections of this server (SERVER_NORMAL_CONNECTIONS)
senhub.ibmi.http_server.connections.ssl ibmi.http_server.ssl_connections HTTP SSL Connections — # SSL connections of this server (SERVER_SSL_CONNECTIONS)
senhub.ibmi.http_server.requests ibmi.http_server.total_requests HTTP Requests — # Requests this server has received since it started
senhub.ibmi.http_server.rejected ibmi.http_server.rejected_requests HTTP Rejected Requests — # Requests this server has rejected since it started
senhub.ibmi.hardware.count ibmi.hardware_resource.count HW {category} ({status}) # Hardware resources of this category in this status
senhub.ibmi.hardware.resource.count ibmi.hardware_resource.total Hardware Resources Total # Hardware resources the partition reports
senhub.ibmi.hardware.non_operational ibmi.hardware_resource.non_operational_total Non-operational HW # Resources in any non-OPERATIONAL status
senhub.ibmi.user_profile.count ibmi.user_profile.total User Profiles Total # User profiles on the partition
senhub.ibmi.user_profile.by_status ibmi.user_profile.count_by_status Users — # User profiles in this status
senhub.ibmi.user_profile.by_class ibmi.user_profile.count_by_class Users — class # User profiles of this class; the count of *SECOFR is the one worth watching
senhub.ibmi.user_profile.failed_signons ibmi.user_profile.failed_signon_total Users with Failed Signons # User profiles carrying at least one failed sign-on attempt
senhub.ibmi.user_profile.no_password ibmi.user_profile.no_password_total Users Without Password # User profiles with no password
senhub.ibmi.user_profile.password_expiring ibmi.user_profile.password_expiring_30d Passwords Expiring in 30 Days # User profiles whose password expires within 30 days
senhub.ibmi.user_profile.by_special_authority ibmi.user_profile.count_by_special_auth Users With # User profiles holding this special authority; a profile holding several counts once for each
senhub.ibmi.user_profile.privileged ibmi.user_profile.privileged_status Privileged User — # 1 when this profile holds ALLOBJ, SECADM, SECOFR or AUDIT and is enabled, 0 when disabled, -1 for any other status
senhub.ibmi.sysval.security_level ibmi.sysval.security_level QSECURITY # QSECURITY system value: 20 no resource security, 30 resource security, 40 and 50 add integrity protection
senhub.ibmi.sysval.audit_level ibmi.sysval.audit_level QAUDLVL # QAUDLVL as a numeric code; 0 means auditing is off
senhub.ibmi.sysval.max_signon_attempts ibmi.sysval.max_signon_attempts System Value QMAXSIGN # Setting of system value QMAXSIGN. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.password_expiration ibmi.sysval.password_expiration_days System Value QPWDEXPITV d Setting of system value QPWDEXPITV: days a password stays valid, 0 for no expiry. A configuration value, not a measurement; the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.password_min_length ibmi.sysval.password_min_length System Value QPWDMINLEN # Setting of system value QPWDMINLEN. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.password_max_length ibmi.sysval.password_max_length System Value QPWDMAXLEN # Setting of system value QPWDMAXLEN. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.password_level ibmi.sysval.password_level System Value QPWDLVL # Setting of system value QPWDLVL. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.password_required_difference ibmi.sysval.password_required_difference System Value QPWDRQDDIF # Setting of system value QPWDRQDDIF. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.limit_security_officer ibmi.sysval.limit_security_officer System Value QLMTSECOFR # Setting of system value QLMTSECOFR. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.limit_device_sessions ibmi.sysval.limit_device_sessions System Value QLMTDEVSSN # Setting of system value QLMTDEVSSN. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.auto_config ibmi.sysval.auto_config System Value QAUTOCFG # Setting of system value QAUTOCFG. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.auto_virtual_devices ibmi.sysval.auto_virtual_devices System Value QAUTOVRT # Setting of system value QAUTOVRT. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.create_default_auth ibmi.sysval.create_default_auth System Value QCRTAUT # Setting of system value QCRTAUT. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.display_signon_info ibmi.sysval.display_signon_info System Value QDSPSGNINF # Setting of system value QDSPSGNINF. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.remote_signon ibmi.sysval.remote_signon System Value QRMTSIGN # Setting of system value QRMTSIGN. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.shared_memory_control ibmi.sysval.shared_memory_control System Value QSHRMEMCTL # Setting of system value QSHRMEMCTL. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.retain_server_security ibmi.sysval.retain_server_security System Value QRETSVRSEC # Setting of system value QRETSVRSEC. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.sysval.audit_control ibmi.sysval.audit_control System Value QAUDCTL # Setting of system value QAUDCTL. A configuration value, not a measurement: the sample is the number when the setting is numeric and a small code for a symbolic setting (YES, NO, *NONE), and the exact setting travels in the ibmi.sysval.raw_value attribute
senhub.ibmi.library_list.position ibmi.library_list.position Library {schema} ({type}) # Position of this library in the list, in order of search
senhub.ibmi.library_list.by_type ibmi.library_list.count_by_type Libraries # Libraries of this type in the library list
senhub.ibmi.library_list.count ibmi.library_list.total Library List Size # Libraries in the library list
senhub.ibmi.license.licensed_users ibmi.license.licensed_user_count Licensed Users — # Users currently licensed for this product
senhub.ibmi.license.usage_limit ibmi.license.usage_limit License Usage Limit — # Users this product's licence allows
senhub.ibmi.license.usage ibmi.license.usage_count License Usage — {product_id} {feature_id} # Licences of this product feature currently in use
senhub.ibmi.license.peak_usage ibmi.license.peak_usage License Peak Usage — {product_id} {feature_id} # Highest licence usage this product feature has reached
senhub.ibmi.license.products ibmi.license.products_installed Licensed Products Installed # Licensed product features installed on the partition
senhub.ibmi.ptf_group.installed ibmi.ptf_group.installed PTF Group — # 1 when this PTF group is installed at the level the system expects
senhub.ibmi.ptf_group.level ibmi.ptf_group.level PTF Group Level — # Level of this PTF group as installed; compare against the level IBM publishes
senhub.ibmi.ptf_group.by_status ibmi.ptf_group.count_by_status PTF Groups # PTF groups in this status
senhub.ibmi.ptf_group.count ibmi.ptf_group.total PTF Groups Total # PTF groups known to the partition
senhub.ibmi.watch.session_active ibmi.watch.session_active Watch Session — # 1 when this watch session is running
senhub.ibmi.watch.sessions ibmi.watch.active_total Watch Sessions # Watch sessions active on the partition
senhub.ibmi.watch.session_age ibmi.watch.session_age_seconds Watch Session Age — s Time since this watch session started
senhub.ibmi.authority_collection.entries ibmi.authority_collection.entries_total Authority Collection Entries # Authority checks recorded in the collection table; the table is emptied by the administrator, so the value can fall
senhub.ibmi.authority_collection.failed_checks ibmi.authority_collection.failed_checks_total Authority Collection Failed Checks # Recorded authority checks the user did not pass (CHECK_ANY = NO)
senhub.ibmi.authority_collection.user_entries ibmi.authority_collection.entries_by_user Authority Entries — # Authority checks recorded for this user (top 200 users)
senhub.ibmi.authority_collection.user_failed_checks ibmi.authority_collection.failed_checks_by_user Authority Failed Checks — # Recorded authority checks this user did not pass (top 200 users)
senhub.ibmi.jvm.instances ibmi.jvm.instances_total JVM Instances # Java virtual machines running on the partition
senhub.ibmi.jvm.threads ibmi.jvm.thread_count JVM Threads — # Java threads of this JVM
senhub.ibmi.jvm.gc.cumulative_time ibmi.jvm.gc_time_ms JVM GC Time — ms Time this JVM has spent in garbage collection since it started
senhub.ibmi.jvm.gc.cycles ibmi.jvm.gc_cycles_total JVM GC Cycles — # Garbage collection cycles this JVM has run since it started
senhub.ibmi.jvm.heap.initial ibmi.jvm.heap_initial_bytes JVM Initial Heap — B Heap size this JVM started with, as configured — not a measurement
senhub.ibmi.jvm.heap.current ibmi.jvm.heap_current_bytes JVM Current Heap — B Heap this JVM currently has allocated
senhub.ibmi.jvm.heap.used ibmi.jvm.heap_in_use_bytes JVM Heap In Use — B Heap this JVM currently uses
senhub.ibmi.jvm.heap.max ibmi.jvm.heap_max_bytes JVM Max Heap — B Largest heap this JVM may grow to, as configured — not a measurement
senhub.ibmi.jvm.malloc ibmi.jvm.malloc_bytes JVM Native Memory — B Native memory this JVM has allocated outside its heap
senhub.ibmi.media_library.device.up ibmi.media_library.device_up Media Device Up — # 1 when this media library device is varied on or active, 0 otherwise
senhub.ibmi.media_library.devices ibmi.media_library.devices_total Media Library Devices # Media library devices known to the partition
senhub.ibmi.ptf.by_status ibmi.ptf.count_by_status PTFs # PTFs in this loaded status
senhub.ibmi.ptf.count ibmi.ptf.total PTFs Total # PTFs known to the partition
senhub.ibmi.query_supervisor.active ibmi.query_supervisor.active_total Active Queries # Queries running now across the partition (the per-query series cover the 20 oldest)
senhub.ibmi.query_supervisor.user_active ibmi.query_supervisor.active_by_user Active Queries — # Queries this user has among the 20 oldest running now
senhub.ibmi.query_supervisor.elapsed ibmi.query_supervisor.elapsed_seconds Query Elapsed — s Time this query has been open
senhub.ibmi.query_supervisor.rows_fetched ibmi.query_supervisor.rows_fetched Query Rows Fetched — # Rows this running query has fetched so far
senhub.ibmi.query_supervisor.temp_storage ibmi.query_supervisor.temp_storage_mb Query Temp Storage — MB Temporary storage this running query holds
senhub.ibmi.service_agent.activated ibmi.service_agent.activated Service Agent Activated # 1 when the Electronic Service Agent is activated, 0 otherwise
senhub.ibmi.service_agent.last_inventory_age ibmi.service_agent.last_inventory_age_seconds Service Agent Inventory Age s Time since the last inventory collection
senhub.ibmi.service_agent.last_hw_problem_send_age ibmi.service_agent.last_hw_problem_send_age_seconds Service Agent Hardware Problem Send Age s Time since the last hardware problem report sent to IBM
senhub.ibmi.service_agent.last_sw_problem_send_age ibmi.service_agent.last_sw_problem_send_age_seconds Service Agent Software Problem Send Age s Time since the last software problem report sent to IBM
- ibmi.message_queue.event QSYSOPR Message # A message reached QSYSOPR; carries the message identifier and text as attributes
- ibmi.history_log.event QHST Event # An entry was written to the history log QHST
- ibmi.audit_journal.event Audit Event # An entry was written to the audit journal
senhub.ibmi.collector.success ibmi.collector.success_total Collector Success — # Successful runs of this collector since the agent started
senhub.ibmi.collector.failure ibmi.collector.failure_total Collector Failure — # Failed runs of this collector; a collector failing alone leaves its metrics absent while the rest keep reporting
senhub.ibmi.collector.last_duration ibmi.collector.last_duration_ms Collector Duration — ms How long this collector's last run took
senhub.ibmi.collector.last_success_timestamp ibmi.collector.last_success_timestamp Collector Last Success — s Unix time of this collector's last successful run
senhub.ibmi.collector.window_lag ibmi.collector.window_lag Collector Window Lag — s How far the collector's read position trails the partition's clock at the end of the cycle; it grows while the collector cannot keep up
senhub.ibmi.collector.read_duration ibmi.collector.read_duration Collector Read Span — s Seconds of log this cycle covered, from the start of the first window read to the read position at the end of the cycle
senhub.ibmi.collector.lost ibmi.collector.lost Collector Lost — s Seconds of backlog skipped because the collector fell more than its maximum window behind the partition's clock; the events logged in them are not collected
senhub.ibmi.collector.slices ibmi.collector.slices Collector Queries — # Queries issued by this collector during the last cycle
senhub.ibmi.collector.clock_offset ibmi.collector.clock_offset Collector Clock Offset — s Agent clock minus the partition's clock, after the partition's UTC offset is removed; a clock skew between the two machines, not a time zone