I have started working with Juniper RPM probes some time ago and needed to add its statistics to SolarWinds.
SolarWinds added support for RPM probes in VoIP and Network Quality Manager (VNQM) module, however every time I tried to use it I got strange results.
The probes were always in Unknown status, the VNQM website was unresponsive or it timed out. My last test was with Orion 2024.2.0 and it still had issues.
I talked with SolarWinds Support, but I was not able to receive a quick solution and the deadlines were approaching.
So, I needed to create my own solution.
All the configuration process and walkthrough is available on my YouTube channel. Please subscribe 
You can also review below article, which includes the same information.
[embed:21a47d5d-b4f2-4ba8-83b4-14d0c9184868:8d340677-9024-4e60-8650-26b9d96054a5:embedCode=%3Ciframe%20width%3D%22560%22%20height%3D%22315%22%20src%3D%22https%3A%2F%2Fwww.youtube.com%2Fembed%2FMhLjRp6Mhpw%3Fsi%3DhCX1kCRqkOnzxrFV%22%20title%3D%22YouTube%20video%20player%22%20frameborder%3D%220%22%20allow%3D%22accelerometer%3B%20autoplay%3B%20clipboard-write%3B%20encrypted-media%3B%20gyroscope%3B%20picture-in-picture%3B%20web-share%22%20referrerpolicy%3D%22strict-origin-when-cross-origin%22%20allowfullscreen%3E%3C%2Fiframe%3E&sanitizedEmbedCode=%3Ciframe%20src%3D%22https%3A%2F%2Fwww.youtube.com%2Fembed%2FMhLjRp6Mhpw%3Fsi%3DhCX1kCRqkOnzxrFV%22%20width%3D%22560%22%20height%3D%22315%22%20title%3D%22YouTube%20video%20player%22%20frameborder%3D%220%22%20allow%3D%22accelerometer%3B%20autoplay%3B%20clipboard-write%3B%20encrypted-media%3B%20gyroscope%3B%20picture-in-picture%22%20allowfullscreen%3E%3C%2Fiframe%3E&autoResize=False]
I used SAM PowerShell components to frequently (every 5 minutes) execute a custom script with the ability to send SNMP GET command to the network device.
SAM module is required and unfortunately we cannot use NPM module with UnDP template, because SNMP OID of RPM probes is not static.
When configuring RPM probe you need to define owner and name of the probe test. Those two names are being encoded to numeric values and are a part of the OID.
As an example, jnxRpmResCalcAverage parameter is used for average response time (ms) and its OID is .1.3.6.1.4.1.2636.3.50.1.3.1.5.
However, in order to monitor this parameter for specific probe, we need to add its names at the end.
This is an example for owner named "owner" and probe name "ICMPprobe". The result is 37 ms response time.
.1.3.6.1.4.1.2636.3.50.1.3.1.5.5.111.119.110.101.114.9.73.67.77.80.112.114.111.98.101.2.1 = GAUGE32: 37201
Each letter needs to be converted to numeric value. First letter "o" of the word "owner" is "111", when using below function:
$enc = [system.Text.Encoding]::UTF8
$enc.GetBytes("o")
So, we cannot use UnDP feature in NPM, because it can only monitor static OIDs.
You could add the entire SNMP Table, however it has some additional statistics and the calculation would need to be done inside a widget.
If you do not have SAM module, you could consider doing a manual convert and calculate the exact OID yourself and then add it to NPM. I think I saw an old Thwack post of someone that used NPM like that.
I have created two SAM templates. First for SNMPv2 and second for SNMPv3.
Links:
thwack.solarwinds.com/.../4271
thwack.solarwinds.com/.../4272
Github:
github.com/.../Juniper RPM Probes (net-snmp v2).apm-template
github.com/.../Juniper RPM Probes (Invoke-SNMPv3Get).apm-template
For SNMPv2, you need to install net-snmp open source library (locally on SolarWinds server):
Link: sourceforge.net/.../download
For SNMPv3, you need to install SNMPv3 PowerShell module from Microsoft PowerShell repository (locally on SolarWinds server):
Link: www.powershellgallery.com/.../
Command: Install-Module -Name SNMPv3
Above is required, as there is no other option to execute SNMP commands inside the SAM custom script.
To configure my template you only need SNMP credentials, name of the probe owner and probe name.
Final result in SolarWinds SAM:

In SolarWinds VNQM the same probe has Unknown status, without any statistics:

I have used below commands to configure basic RPM probe. I also tested TCP probes and those are working without any issues.
----------
root@vSRX1> configure
root@vSRX1# edit services rpm probe owner
root@vSRX1# set test ICMPprobe probe-type icmp-ping probe-count 10 target address 8.8.8.8
root@vSRX1# commit
Commit configuration in Junos:

=====
In order to validate my solution, I have created two virtual machines Juniper vSRX on Proxmox VE.
If you would like to recreate my environment, I recommend below steps.
Download Juniper vSRX image:
support.juniper.net/.../
Search for "vSRX Evaluation"
Download vSRX 23.2R2 Image and deploy in your Virtualization Appliance (I used Proxmox and qcow2). For Proxmox users, you need to change version to "8.0" in Hardware->Machine.
There is no need for active support or any license.
Initial configuration:
www.juniper.net/.../routing-engine-single-initial-configuration.html
Default mgmt interface and gateway configuration:
root@vSRX1# set interfaces fxp0 unit 0 family inet address your_IP/your_CIDR
root@vSRX1# set system backup-router your_IP
root@vSRX1# set routing-options static route default next-hop your_Gateway retain no-readvertise
root@vSRX1# set system name-server your_DNS
SNMP v2 configuration:
root@vSRX1# set snmp community public authorization read-only
root@vSRX1# commit
SNMP v3 configuration:
www.juniper.net/.../configure-snmpv3.html
---
If you are interested, during my research I have also found similar script written in Perl. Although you would need to adjust it for SolarWinds.
https://github.com/robison/cacti-juniper-rpm/blob/master/juniper-rpm.pl
Take care, Marcin.