New Relic infrastructure agent
Point your agent at Epok using an Epok ingest key. The agent sends its host metrics to your workspace and project; Epok never pulls from New Relic’s SaaS. This receive path is separate from Epok’s own outbound monitoring. Deployment, edge enablement and real-agent acceptance are pending.
Configure host metrics
Pin newrelic/infrastructure:1.80.3 (Linux amd64 and arm64). These settings belong in /etc/newrelic-infra.yml. Replace the key and ingest host with your installation’s values. All four base URLs must point to Epok; the identity URL is separate from the collector URL.
license_key: EPOK_INGEST_KEY
collector_url: https://ingest.getepok.dev
identity_url: https://ingest.getepok.dev
command_channel_url: https://ingest.getepok.dev
metric_url: https://ingest.getepok.dev
logging_endpoint: https://ingest.getepok.dev/unsupported-nr-logs
connect_enabled: true
register_enabled: false
display_name: my-host
disable_cloud_metadata: true
disable_cloud_instance_id: true
disable_all_plugins: true
disable_plugin_default_dir_scan: true
enable_process_metrics: false
metrics_system_sample_rate: 5
metrics_storage_sample_rate: -1
metrics_network_sample_rate: -1
metrics_process_sample_rate: -1
metrics_nfs_sample_rate: -1
ntp_metrics:
enabled: false
log:
forward: falseEnvironment equivalents include NRIA_LICENSE_KEY,NRIA_COLLECTOR_URL and NRIA_IDENTITY_URL. The agent sends the key in X-License-Key, which uses Epok’s ingest authentication. Missing or unknown keys return 401, scope failures 403, and quota failures 429. Standard authorization headers take precedence.
Supported scope
Host registration uses POST /identity/v1/connect and updates use PUT at the same path. Epok returns a stable local identity scoped to the tenant and hostname. This is a compatibility stub, not New Relic registration or inventory enrichment. The command channel returns no commands.
Gzipped JSON SystemSample batches go to /infra/v2/metrics/events/bulk; the legacy /metrics/events/bulk path is also handled. CPU, memory, load, disk and uptime values retain their values as gauges; swap input/output byte totals remain cumulative counters. Names use the prefix newrelic_system_ followed by the original field, for example newrelic_system_memoryTotalBytes. The event’s entity key becomes the host label. Custom attributes normally joined through inventory are not available.
Inventory, remote-entity registration, dimensional metrics and other sample types return 415. Logs, events, integrations and per-process, per-interface and per-volume metrics are deferred. Keep those senders disabled. Some built-in inventory activity may still report 415; it is not acknowledged as stored. JSON bodies are capped at 8 MiB both before and after decompression. Invalid batches fail before writes; downstream partial rejection returns 400, and storage failures remain retryable.
Verify delivery
scripts/p2_agent_acceptance.shThe source-checkout rig starts a real pinned agent on an isolated network. It requires the stored host memory total to equal the host’s reported physical memory, with the exact run-specific hostname and tenant. Unit tests cover parsing and authentication; they do not establish real-agent compatibility. Your operator must deploy the gateway and route the identity, command and infrastructure metrics paths there before running this setup.