Overview — what it does
The [param] button on an Instance card snapshots each instance's server parameters (settings) into infr_instance_param. This is different from instance variables (a secrets dictionary for Tools mashups) — this holds configuration values such as nginx.conf, my.cnf, sysctl, php.ini, haproxy.cfg as a reference snapshot that grounds AI tuning diagnosis. It is not secrets; sensitive values are (redacted) by the probe.
Layout
Five area panels (--grid--5, responsive 5→3→1 columns).
| Area | Example engines |
|---|---|
| web | nginx · apache |
| database | mysql · mariadb · postgres |
| kernel | linux (sysctl) |
| application | php · php-fpm · python (gunicorn/uwsgi) · java (JVM) |
| misc | haproxy · docker · kafka · elasticsearch · vsftpd |
Multi-engine coexistence —
engineis part of the unique identity (UNIQUE(instance_id, category, engine, name)). Even if a host runs nginx+apache or mysql+postgres, a same-named parameter (e.g.max_connections) is stored per engine and never mixed. The UI sub-groups by engine inside each area panel.
How to use
Two update paths:
- Manual add/edit — the [+] in each panel header.
- JSON import — run the probe on the target host and paste its JSON:
# Local probe seeded in Inventory ▸ Tools (no credentials, no external calls)
node infr_server_params_probe.cjs
# Paste the JSON into [param] ▸ JSON import for an idempotent upsert
The probe uses a 5-axis whitelist capturing only key tuning values (memory, workers, execution, timeouts): web nginx -T/apache conf · DB my.cnf/postgresql.conf file parsing (no connection) · kernel sysctl · application php -i/pool.d/gunicorn·JVM heap (ps) · misc config files. Secrets are masked.
Data sources
infr_instance_param(1:N,UNIQUE(instance_id, category, engine, name),category= varchar(16))- Probe
scripts/infr_server_params_probe.cjs
Why node is excluded — pm2/Node apps do not fit the "one host = one canonical per-engine config" model (many apps per host;
ecosystem.config.jsbelongs to the app repo; volatile per deploy), so they are excluded from application capture. python/java are kept because traditional deployments converge on one app server / single JVM per host.
Access
Read level≥1; write (save/delete/import) level≥2.
Related
- Software version ledger — the "what is installed" that pairs with "how it is configured"
- Service catalog — its config viewer pulls these parameters per service type
- Instances CMDB
![The [param] button on the card](/manual-shots/en/instance-card.webp)