<style>p { margin: 0; }span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left:0; padding-left:5px;}blockquote blockquote{ border-color: #00bcd4; color: #00bcd4;}blockquote blockquote blockquote{ border-color: #43a047; color: #43a047;} table.grid{ border-collapse: collapse;} table.grid td, table.grid th { border: 1px solid #ddd;} .fr-fic.fr-dib{ display: block; margin: 5px auto;}.fr-fic.fr-dib.fr-fir{ text-align: right; margin: 5px 0 5px auto;}.fr-fic.fr-dib.fr-fil{ text-align: left; margin: 5px auto 5px 0;}.fr-fic.fr-dii{ float: none; margin: 5px auto;}.fr-fic.fr-dii.fr-fil{ float: left; margin: 5px auto;}.fr-fic.fr-dii.fr-fir{ float: right; margin: 5px auto;}img.fr-dib.fr-fir { margin-right: 0; text-align: right;}img.fr-dib.fr-fil { margin-left: 0; text-align: left;}img.fr-dib { margin: 5px auto; display: block; float: none;}img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC;}img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc;}img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;}</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
</style><p><strong>In this guide we will cover:</strong></p><p><strong>- What is the PRTG Integration?</strong></p><p><strong>- Configuring the PRTG Module</strong></p><p><strong>- Asset Imports</strong></p><p><strong>- Halo Integrator</strong></p><p><strong>- Webhooks</strong></p><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">What is the PRTG Integration?</span></strong></p><p>PRTG can be integrated with Halo to create and manage alerts.</p><p><br></p><p><strong><span style="font-size: 14pt;">Configuring the PRTG Module </span></strong></p><p>To enable the PRTG integration in Halo, go to Configuration > Integrations, and enable the module. </p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImZlNTVmZmRhLTMwODItNDMzYy04NDdiLTMxNjU1N2YyMjE0ZiJ9._gG7Xds5aRAJHOnX5cERUv5NXuyktKH1b9WL_WZX5C4" class="fr-fic fr-fil fr-dib" width="543" height="261"></p><p><strong><span style="font-size: 10pt;">Fig 1. Enabling the module.</span></strong></p><p><br></p><p>Once the module has been enabled, click the menu icon for the module to begin configuring it. You can also create multiple instances of PRTG when navigating to the PRTG Integration. </p><p>The first piece of configuration is to specify your PRTG server URL. You then need to supply the username and password (or passhash) of a PRTG user.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImI5OWU1YTg1LWU3OWItNGU3Ni1hZGZmLTIxZjYwMjk2MTllOSJ9.G9HVka2AFIEuj4t4wUfNnWnMCLCm2ut9Roe-cyCIJ6Q" class="fr-fic fr-fil fr-dib" width="992" height="526"></p><p><strong><span style="font-size: 10pt;">Fig 2. Connecting to PRTG.</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Asset Imports</span></strong></p><p>Before you can import Assets, there are some configuration steps that must be completed. The first option is to choose a default site and default asset type, so that if an Assets site has not been imported from PRTG before, the asset can still be created with the correct initial configuration.</p><p><br></p><p><img src="http://halo.haloservicedesk.com/api/attachment/image/4de3504a-53e2-4878-a59e-7ec109b73318" class="fr-fic fr-fil fr-dib" width="1202" style="width: 1204px; height: 226.882px;" height="227"></p><p><strong><span style="font-size: 10pt;">Fig 3. Asset imports.</span></strong></p><p><br></p><p>Once you have specified the above mappings, you can then move on to creating field mappings. Clicking the plus icon in the top right-hand corner of the field mapping table will open an input screen with 3 options.</p><p><br></p><p><img src="http://halo.haloservicedesk.com/api/attachment/image/d210d891-7d62-4bfc-a842-f387ee985c96" class="fr-fic fr-fil fr-dib" width="657" height="401"></p><p><strong><span style="font-size: 10pt;">Fig 4. Field mappings popup.</span></strong></p><p><br></p><p>The first option is to choose what type of field you would like to map to in Halo. You can map to standard custom fields here, or you can map to Asset fields.</p><p><br></p><p>The next two options allow you to choose one of the pre-determined fields from PRTG to map to a Halo field. If you have chosen a field type of Asset Field, there is an additional option allowing you to create a field during the next import. If chosen, Halo will try to create a new field during your next import with the name equal to the PRTG field that you are mapping too. If a field with that name already exists, the mapping will be updated to map to the pre-existing field.</p><p><br></p><p>Once you are happy with your field mappings, there is one last configuration option to consider before you can begin importing, which is the Asset Matching Field. This contains your full list of asset fields.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImRlZjk4Mjg2LTEwYzItNDJiNC04YTljLWYwMDhmNzEzZTllYSJ9.WbzbEr4-bGypIJ7kO_9Ro3tIBvnnu--IGi1hS3n1Usg" class="fr-fic fr-fil fr-dib" width="716" height="113"></p><p><strong><span style="font-size: 10pt;">Fig 5. Asset matching field selection.</span></strong></p><p><br></p><p>The Asset Matching Field should be set to a value that is unique such as asset number or serial number as shown above.</p><p><br></p><p>This field should be unique. Halo will then use the value of this field to match pre-existing Assets and avoid creating duplicates of your data. Once happy with your configuration, use the "Import Assets" button to begin importing.</p><p><br></p><p><strong><span style="font-size: 14pt;">Halo Integrator</span></strong></p><p>Once you are happy with the configuration, you can then setup regular imports using Halo Integrator.</p><p><br></p><p><img src="http://halo.haloservicedesk.com/api/attachment/image/6af6895d-604b-46d9-b402-961353269689" class="fr-fic fr-fil fr-dib" width="1114" height="200"></p><p><strong><span style="font-size: 10pt;">Fig 6. Enabling the integrator.</span></strong></p><p><br></p><p>Once you have enabled the PRTG for Halo Integrator, you will be able to use the importer for recurring imports:</p><p><br></p><p><strong><span style="font-size: 14pt;">Webhooks</span></strong></p><p>Within the PRTG integration module you can now enable inbound webhooks. The purpose of them is to send alerts from PRTG to Halo and instantly create tickets. To enable this functionality, webhooks must be configured in PRTG by navigating to Setup > Account Settings > Notification Templates and creating a notification with 'Execute HTTP Action' enabled.</p><p><br></p><p><span style="font-size: 11pt;">When creating the ticket in Halo, you can set the default ticket type.</span></p><p><br></p><p><span style="font-size: 11pt;">You can also set a fall back user:</span></p><p><br></p><ul><li><span style="font-size: 11pt;">If the Alert can be linked to a Device with a User in Halo, the Ticket will be logged against this User.</span></li><li><span style="font-size: 11pt;">If the Alert can be linked to a Device without a User in Halo, the Ticket will be logged against the default User of the Device's Site.</span></li><li><span style="font-size: 11pt;">If the Alert cannot be linked to a Device, the Ticket will be logged against the Fallback User given below.</span></li></ul><p><br></p><p><span style="font-size: 11pt;"><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjU2OGE2MDg2LTcyODYtNDgxNi1iMzVhLWUwMmZlMTNlNzFlOSJ9.KrGJnWOYcg72er_seY09Mew3WLdZZM1EIaDnsFCJyFQ" class="fr-fic fr-fil fr-dib" width="811" height="135"></span></p><p><strong><span style="font-size: 10pt;">Fig 7. Selecting a fallback user.</span></strong></p><p><br></p><p><strong><span style="font-size: 12pt;">Configuring the Webhook</span></strong></p><p>Below is a payload containing all the supported PRTG placeholders. You must include secret=[Webhook Secret] and deviceid=%deviceid in the payload. laststatus=%laststatus is required for the auto-close functionality, all other variables are optional.</p><p><br></p><p><span style="font-size: 9pt;">secret=[Webhook Secret]</span></p><p><span style="font-size: 9pt;">&deviceid=%deviceid</span></p><p><span style="font-size: 9pt;">&laststatus=%laststatus</span></p><p><span style="font-size: 9pt;">&colorofstate=%colorofstate</span></p><p><span style="font-size: 9pt;">&company=%company</span></p><p><span style="font-size: 9pt;">&comments=%comments</span></p><p><span style="font-size: 9pt;">&commentsdevice=%commentsdevice</span></p><p><span style="font-size: 9pt;">&commentsgroup=%commentsgroup</span></p><p><span style="font-size: 9pt;">&commentsprobe=%commentsprobe</span></p><p><span style="font-size: 9pt;">&coverage=%coverage</span></p><p><span style="font-size: 9pt;">&cumsince=%cumsince</span></p><p><span style="font-size: 9pt;">&date=%date</span></p><p><span style="font-size: 9pt;">&datetime=%datetime</span></p><p><span style="font-size: 9pt;">&device=%device</span></p><p><span style="font-size: 9pt;">&down=%down</span></p><p><span style="font-size: 9pt;">&downtime=%downtime</span></p><p><span style="font-size: 9pt;">&elapsed_lastcheck=%elapsed_lastcheck</span></p><p><span style="font-size: 9pt;">&elapsed_lastdown=%elapsed_lastdown</span></p><p><span style="font-size: 9pt;">&elapsed_lastup=%elapsed_lastup</span></p><p><span style="font-size: 9pt;">&group=%group</span></p><p><span style="font-size: 9pt;">&groupid=%groupid</span></p><p><span style="font-size: 9pt;">&history=%history</span></p><p><span style="font-size: 9pt;">&home=%home</span></p><p><span style="font-size: 9pt;">&host=%host</span></p><p><span style="font-size: 9pt;">&iconofstate=%iconofstate</span></p><p><span style="font-size: 9pt;">&lastcheck=%lastcheck</span></p><p><span style="font-size: 9pt;">&lastdown=%lastdown</span></p><p><span style="font-size: 9pt;">&lastup=%lastup</span></p><p><span style="font-size: 9pt;">&lastvalue=%lastvalue</span></p><p><span style="font-size: 9pt;">&linkprobe=%linkprobe</span></p><p><span style="font-size: 9pt;">&linkgroup=%linkgroup</span></p><p><span style="font-size: 9pt;">&linkdevice=%linkdevice</span></p><p><span style="font-size: 9pt;">&linksensor=%linksensor</span></p><p><span style="font-size: 9pt;">&location=%location</span></p><p><span style="font-size: 9pt;">&message=%message</span></p><p><span style="font-size: 9pt;">&nodename=%nodename</span></p><p><span style="font-size: 9pt;">&objecttags=%objecttags</span></p><p><span style="font-size: 9pt;">&parenttags=%parenttags</span></p><p><span style="font-size: 9pt;">&priority=%priority</span></p><p><span style="font-size: 9pt;">&probe=%probe</span></p><p><span style="font-size: 9pt;">&probeid=%probeid</span></p><p><span style="font-size: 9pt;">&programname=%programname</span></p><p><span style="font-size: 9pt;">&programversion=%programversion</span></p><p><span style="font-size: 9pt;">&sensor=%sensor</span></p><p><span style="font-size: 9pt;">&sensorid=%sensorid</span></p><p><span style="font-size: 9pt;">&serviceurl=%serviceurl</span></p><p><span style="font-size: 9pt;">&settings=%settings</span></p><p><span style="font-size: 9pt;">&shortname=%shortname</span></p><p><span style="font-size: 9pt;">&since=%since</span></p><p><span style="font-size: 9pt;">&sitename=%sitename</span></p><p><span style="font-size: 9pt;">&status=%status</span></p><p><span style="font-size: 9pt;">&summarycount=%summarycount</span></p><p><span style="font-size: 9pt;">&systemdatetime=%systemdatetime</span></p><p><span style="font-size: 9pt;">&tags=%tags</span></p><p><span style="font-size: 9pt;">&time=%time</span></p><p><span style="font-size: 9pt;">&timezone=%timezone</span></p><p><span style="font-size: 9pt;">&toaddress=%toaddress</span></p><p><span style="font-size: 9pt;">&uptime=%uptime</span></p><p><br></p><p><span style="font-size: 12pt;"><strong>Webhook Auto-closure Status</strong></span></p><p>You can have this make the ticket in Halo close when a certain status is met in PRTG. It is only recommended to change the default value for bespoke setups.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjI5OTRhZTIxLTA2MmMtNGFkZC04OTQ5LTQzNDg3NmYxZmU1MyJ9.pOIjpCNi76_Wl2Orn7x0Vs4K1Eri_UQk0kZsR4QPiRc" class="fr-fic fr-fil fr-dib" width="577" height="418"></p><p><strong><span style="font-size: 10pt;">Fig 8. Other configuration options.</span></strong></p><p><br></p><p>You can see all of the inbound requests via the inbound requests log.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImE2NTU4ODM0LWM1OGItNGQ2OC05NTUwLWFkYzgzOGU0ZDlhNSJ9.TrgaYJvRLdC433klzy65QiRNUwT9Yf9VBtVW7yePTdE" class="fr-fic fr-fil fr-dib" width="1212" style="width: 1214px; height: 288.349px;" height="288"></p><p><strong><span style="font-size: 10pt;">Fig 9. Inbound requests tab.</span></strong></p><p><br></p>