Skip to content

[New Package] Add Juniper JunOS Metrics integration#17791

Open
Oddly wants to merge 1 commit intoelastic:mainfrom
Oddly:add-juniper-junos-metrics
Open

[New Package] Add Juniper JunOS Metrics integration#17791
Oddly wants to merge 1 commit intoelastic:mainfrom
Oddly:add-juniper-junos-metrics

Conversation

@Oddly
Copy link
Contributor

@Oddly Oddly commented Mar 12, 2026

This adds a new integration that collects operational metrics and alarm logs from Juniper JunOS devices via the REST API. It uses CEL input to poll 12 RPC endpoints per device and produces TSDB-compatible time series data.

13 data streams: route_engine, interfaces, interface_queues, bgp, ospf, routing_table, storage, environment, alarm, arp, lldp, system, system_info

3 Kibana dashboards: Overview, Route Engine, Interfaces

Each data stream resolves the device hostname on first poll and caches it in the cursor. An optional device_name variable overrides this for friendly dashboard labels. All data streams unwrap multi-routing-engine-results for dual-RE systems and include guards for optional API response keys.

No namespace conflicts with existing juniper_junos or juniper_srx packages — those collect syslog-based logs, this collects polling-based metrics.

Testing

  • Pipeline tests: 13 data streams, real device data from vJunos-switch 25.4R1.12 (EX9214), all 26 tests pass
  • elastic-package check/lint/build: passes cleanly
  • elastic-package test pipeline: run against ES 9.3.1 stack, all pass
  • Real device ingestion: 24+ hours of live collection, all 13 data streams producing correct documents
  • Dashboards: all panels render correctly with real data, screenshots in img/
  • TSDB: all metric streams use time_series index mode with proper dimensions, counters, and gauges
  • Field validation: ECS mappings verified, metric_type and unit annotations on all applicable fields

@Oddly Oddly requested a review from a team as a code owner March 12, 2026 20:02
@Oddly Oddly force-pushed the add-juniper-junos-metrics branch from 545ac29 to f5ac8d3 Compare March 12, 2026 20:02
@elastic-vault-github-plugin-prod

Reviewers

Buildkite won't run for external contributors automatically; you need to add a comment:

  • /test : will kick off a build in Buildkite.

NOTE: https://github.com/elastic/integrations/blob/main/.buildkite/pull-requests.json contains all those details.

@Oddly
Copy link
Contributor Author

Oddly commented Mar 12, 2026

This integration came from a need to ingest metrics from Juniper. Tried SNMP, but that was no success. This was way easier and a bit more modern.
Let me know if you'd like to see any changes or improvements.

@Oddly Oddly force-pushed the add-juniper-junos-metrics branch from 427bffb to 6dfc5da Compare March 14, 2026 07:44
Initial release of Juniper JunOS Metrics, a CEL-based integration that
collects metrics from Juniper JunOS devices via the REST API. Includes
13 data streams covering route engine, interfaces, interface queues,
BGP, OSPF, routing table, storage, environment, alarm, ARP, LLDP,
system users, and system information.

Ships with three Kibana dashboards for overview, route engine, and
interface monitoring.
@Oddly Oddly force-pushed the add-juniper-junos-metrics branch from 6dfc5da to 38e1179 Compare March 14, 2026 08:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant