I need to integrate several systems with nagios, for example Dynatrace, elastic and solarwind, I'm thinking of using nrdp, how do I make the call passing the state variables? For example, state 1 on Dynatrace is = to Open.
I've never used nrdp for passive controls, I can't find much documentation on how to build the call.
I tried making this example call and it worked.
curl -f -d 'token=tokentest&cmd=submitcheck&json={ "checkresults": [ { "checkresult": { "type": "host" }, "hostname": "HostTest", "state": "0", " output": "Everything looks okay! } ] }' http://nagios-server/nrdp/
Thanks a lot
Fabio
SEND NRDP FROM DYNATRACE - ELASTIC - SOLARWIND
Re: SEND NRDP FROM DYNATRACE - ELASTIC - SOLARWIND
Can anyone provide some insight on this topic? I'm interested because I've encountered similar situations.download lagu If anyone has a solution or suggestions, please let me know. Thanks!
Re: SEND NRDP FROM DYNATRACE - ELASTIC - SOLARWIND
I've done a lot of integrations via NRDP, there's not a lot flaming hoops to jump through, just some thing to keep in mind as you go forward.
1. The target host or service must exist in NagiosXI or they will become unconfigured objects.
2. If you are running a ramdisk with NagiosXI you may need to adjust the sizing depending upon how many services are reporting passively via NRDP.
3. Your XI server can only process so many checks per-second be very aware of the load put on XI via passive checks.
Where the rubber meets the burnout...
NagiosXI works with four possible "states" for checks, this can be difficult when trying to map severities passed in from external sources as it must be done on the client side.
This is where you will have to dig into your source application and the methods available.
As the docs list with DT, you'd be formatting a custom payload to go along with the alert scope chosen for your integration.?
https://docs.dynatrace.com/docs/observe ... ntegration
Once the state mapping is done formatting of the payload is pretty simple for both hosts and services.
The only difference in the states CRITICAL,WARNING,OK and that other guy is the type,the state_id of course and the output message.
NOTE: When submitting either single result or multiple check results they must be in the checkresults array
1. The target host or service must exist in NagiosXI or they will become unconfigured objects.
2. If you are running a ramdisk with NagiosXI you may need to adjust the sizing depending upon how many services are reporting passively via NRDP.
3. Your XI server can only process so many checks per-second be very aware of the load put on XI via passive checks.
Where the rubber meets the burnout...
NagiosXI works with four possible "states" for checks, this can be difficult when trying to map severities passed in from external sources as it must be done on the client side.
This is where you will have to dig into your source application and the methods available.
As the docs list with DT, you'd be formatting a custom payload to go along with the alert scope chosen for your integration.?
https://docs.dynatrace.com/docs/observe ... ntegration
Once the state mapping is done formatting of the payload is pretty simple for both hosts and services.
The only difference in the states CRITICAL,WARNING,OK and that other guy is the type,the state_id of course and the output message.
Code: Select all
#CRITICAL CHECK RESULT
{"checkresult": {"type": "service","checktype": "1"},"hostname": "'somehost'", "servicename":"check_memory", "state":"2''", "output":"'CRITICAL: It's Over 9000! | mem=9001;8999;9000;'"}'
Code: Select all
#WARNING CHECK RESULT
'{"checkresult": {"type": "service","checktype": "1"},"hostname": "'somehost'", "servicename":"check_memory", "state":"1''", "output":"'WARNING: It's almost 9000! | mem=8999;8999;9000;'"}'
Code: Select all
#NOMINAL CHECK RESULT
'{"checkresult": {"type": "service","checktype": "1"},"hostname": "'somehost'", "servicename":"check_memory", "state":"0''", "output":"'OK: It's 4995 | mem=4995;8999;9000;'"}'
Code: Select all
{"checkresults":[
{"checkresult": {"type": "service","checktype": "1"},"hostname": "'somehost'", "servicename":"check_memory", "state":"1''", "output":"'WARNING: It's almost 9000! | mem=8999;8999;9000;'"}',
{"checkresult": {"type": "service","checktype": "1"},"hostname": "'somehost2'", "servicename":"check_memory", "state":"2''", "output":"'CRITICAL: It's Over 9000! | mem=9001;8999;9000;'"}'
]}'