Basic Freshdesk Integration
The following guide is an example of a custom http integration using the Freshdesk API along with some of LogicMonitor's token values. To start off I would recommend reviewing the following resources. LogicMonitor Custom HTTP Delivery Documentation: https://www.logicmonitor.com/support/settings/integrations/custom-http-delivery/ LogicMonitor Tokens: NOTE:(In this guide I create a token ##freshdesk.requesterid## using a custom property on the device. This allows me to pass this value through the integration. This can be very useful if you need to use the same integration to create tickets as multiple organizations or users. I've included a screenshot below detailing where this is set on the device.) https://www.logicmonitor.com/support/settings/logicmodules/tokens-available-in-datasource-alert-messages/ Freshdesk API Documentation: https://developer.freshdesk.com/api/ Complete these steps in Freshdesk prior to creating your integration: Create a Freshdesk User to be used for authentication. https://support.freshdesk.com/support/solutions/articles/37591-adding-new-support-agents- In the below payloads I use the Freshdesk requester_id as a token to create, update and close tickets. You can find the requester_id for a Freshdesk user by checking the following. Configure your Freshdesk API key for authentication. https://support.freshdesk.com/support/solutions/articles/215517-how-to-find-your-api-key Complete these steps in LogicMonitor to create theIntegration: Add a new Custom HTTP Delivery under Integrations using the following payloads as a starting point. Determine if you would like to use a wildcard for things such as your Freshdesk requester_id or organization_id etc. Payload Examples: The following examples willCreate, Update and Close FreshDesk tickets with LogicMonitorAlerts. NOTE:When authenticating with the Freshdesk api, you will only need to enter your api key in the username field, the password is blank. Active: { "description": "Host: ##HOST##\nDatasource: ##DATASOURCE##\nDatapoint: ##DATAPOINT##\nLevel: ##LEVEL##\n Start: ##START##\nDuration: ##DURATION##\nValue: ##VALUE##\nReason: ##DATAPOINT## ##THRESHOLD##", "subject": "##LEVEL## - ##HOST## ##INSTANCE##", "requester_id": ##freshdesk.requesterid##, "priority": 1, "status": 2 } Escalated: { "description": "Alert Escalated/De-escalated\nHost: ##HOST##\nDatasource: ##DATASOURCE##\nDatapoint: ##DATAPOINT##\nLevel: ##LEVEL##\n Start: ##START##\nDuration: ##DURATION##\nValue: ##VALUE##\nReason: ##DATAPOINT## ##THRESHOLD##", "subject": "##LEVEL## - ##HOST## ##INSTANCE##", "requester_id": ##freshdesk.requesterid##} Acknowledged: { "body":"Note: ##MESSAGE##" } Cleared: { "description": "Alert Cleared\nHost: ##HOST##\nDatasource: ##DATASOURCE##\nDatapoint: ##DATAPOINT##\nLevel: ##LEVEL##\n Start: ##START##\nDuration: ##DURATION##\nValue: ##VALUE##\nReason: ##DATAPOINT## ##THRESHOLD##", "subject": "##LEVEL## - ##HOST## ##INSTANCE##", "requester_id": ##freshdesk.requesterid##, "priority": 1, "status": 4 } Here we can see the finished product, a ticket generated and cleared using the above payloads. Active Warn: Active Error: Active Critical: Active Critical Ack: Cleared: (Note that the Status changes to Resolved)300Views11likes9CommentsPlugin update for LogicMonitor to ServiceNow Integration
Hello, Our ServiceNow Admin recently upgraded our ServiceNow Dev instance to the newest release ( Washington DC). https://docs.servicenow.com/bundle/washingtondc-release-notes/page/release-notes/family-release-note... While attempting to retest the LogicMonitor to ServiceNowintegration, we learned the LogicMonitor plugin appears to be incompatible with the latest version: Does anyone know if this will be addressed? Thanks.Solved152Views14likes5CommentsSaaS platform monitoring using API or default integration if possible?
I would like to integrate and monitor below SaaS platform. If anybody having idea or best way to do it, please let me know or help to share any documentation. genesys Voice cloud Airwatch Tanium Cloud Absolute JAMF Tetherfi Teradici Chrome Admin Console Imaging servers and EUC connectors100Views10likes1CommentVariable json content in http integration
Hi all, we implemented custom http integration to create tickets in Jira Servicedesk. This works fine. However, new requirement is to put avariable (##jira.assetid##) inthe content to link the ticket to the correct asset. This works fine when the assetid is set. But when there is no asset id available the integration fails. Is there a way to make this output more dynami? I mean, if the value is set, write the value. If not, just write a default. Our json message (bit redacted): { "fields": { "summary": "##ALERTID## ##LEVEL## - ##HOST## ##DATASOURCE## ##DATAPOINT## ", "issuetype": { "id": "xxxxx" }, "project": { "key": "xxx" }, "description": { "type": "doc", "version": 1, "content": [ { "type": "paragraph", "content": [ { "text": "##MESSAGE## ##ALERTDETAILURL##", "type": "text" } ] } ] }, "customfield_10500": [##jira.organizationid##], "customfield_10681": [ { "workspaceId": "230f10d2-b759-405f-8d38-157edbe9e818", "id": "230f10d2-b759-405f-8d38-157edbe9e818:##jira.assetid##" } ] } }Solved100Views1like3CommentsBypass or update logic to clear alert (LogicMonitor to ServiceNow Integration)
Hello. I recently executed a use case where the following steps occurred: Alert triggers in LogicMonitor and creates an incident in ServiceNow The assigned team who works the incident, assigns it to the appropriate team/team member The team/team member remediates the alert, adds their comments to the incident, and resolves the incident Once LogicMonitor sees the alert has been remediated, it makes the http rest call to resolve the incident What's happening currently is although the user resolves the incident, LogicMonitor will still proceed with resolving the issue based on the alert status "Cleared". When that happens, the predefined values from the payload are replacing the information provided by the user. I understand if I delete that alert status under HTTP Delivery, this would ultimately resolve my issue. Another alternative would be to remove the key-value pair from the payload that updates the Resolution Notes section of the incident. Is there a way for LogicMonitor to recognize the incident currently has a resolve status and not proceed to update the incident without me having to remove the Cleared status? Thanks.Solved99Views1like6CommentsJira Integration - bad design
The new Jira integration has been badly designed. https://www.logicmonitor.com/support/jira-service-management-integration-overview I saw the feature announcement and though “finally!”, but no, this just makes a copy of alerts in Jira and makes you use 2 UIs instead of one. Just look at the workflow - entirely driven by the LogicMonitor UI, and entirely Alert focused (facepalm - it should be Incident and Problem focused). NO. The acknowledgementof the Incident (NOTAlert) should be done in Jira when workflow is invoked. Map that back into LM. While the Alert flaps (CPU high, CPU low, CPU high, CPU low) FFS don’t create MORE Jira tickets. The existing ticket should be updated, maybe with a new Jira comment for each state change. Finally, when the Incident is over (to be determined CONFIGURABLY) as a manual action or after a timeout, can the ticket be transitioned through the workflow, but this should take custom workflows into account, not assume the Jira out of the box (OOTB) workflow. No-one who is serious about Jira uses that. Next, Problem management. When there have been X such incidents in a time window Y, create a Problem ticket, with all the incidents linked. This can only be closed manually. --- Sorry to rant, but this focus on Alerts instead of Incidents in the ServiceNow, AutoTask, Jira etc. integrations just generates ticket spam that helps no-one.81Views1like1CommentManageEngine ServiceDesk Plus MSP Integration
I built an integration between LogicMonitor and ServiceDesk Plus, thought I would share it with you Building Integration between LogicMonitor and ManageEngine ServiceDesk Plus MSP Integration between LogicMonitor and ManageEngine ServiceDesk Plus MSP is not a pre-built integration, the following will instruct you on building this integration. This integration will be a basic integration and will do the following things 1. Create a new ticket when an alert is kicked off 2. When an alert is acknowledged a note will be placed in the ticket 3. Any Escalation or De-escalation of the alert will be noted in the ticket 4. When an alert is cleared it will resolve the ticket Prepping ServiceDesk Plus MSP First you want to create a requestor account in the account that you are placing the ticket in, you will be using this as who is submitting the ticket Next create a new technician account and give them the rights to handle tickets in the site you are placing the alert tickets. At the bottom of the technician creation screen there is a section called API key details, click the Generate link to create an API Key. Remember this key as you will need it later and you cannot see the key again. If you lose it you will need to Generate a new one and replace it where ever you used the old one. Creating the Integration The following will explain on how to set up a base integration and you can customize it to your liking 1. Login into LogicMonitor and on the left hand side click Settings then click on Integrations 2. Click Add at the top then Click on Custom HTTP Delivery 3. Type in a Name and select “Use different URLs or data formats to notify on various alert activity” 4. Next, we are going to setup each alert activity a. First the New Alerts i. Click the Plus Button to add a new Alert Status ii. Under HTTP Method select HTTP Post iii. For URL select either http or https and type (replace exampleurl.com with the url of your service desk) exampleurl.com/sdpapi/request iv. Under Alert Data select the RAW option v. For Format select Url-Encoded Form Data vi. For the actual alert data, you place the data you want to send to service desk, here is a starter: (replace 555 with the Technician key you created) format=XML&TECHNICIAN_KEY=555&INPUT_DATA= <operation> <details> <subject>##LEVEL## - ##HOST## ##INSTANCE##</subject> <description>Message ##MESSAGE##></description> <requester>Logic Monitor</requester> <category>Monitoring</category> <subcategory>Infrastructure</subcategory> <item>LogicMonitor</item> <technician>Administrator</technician> <mode>Automated</mode> <site>RES</site> <account>RES</account> </details> </operation> *You will need to also replace the Field values to what you need to send. Details on these can be found on ManageEngine’s API Page vii. Click Save b. Next we will add the Acknowledged Status, this will add a note to the ticket when the Alert is acknowledged in LogicMonitor i. Click the Plus Button to add a new Alert Status ii. Select Acknowledged iii. Under HTTP Method select HTTP Post iv. For URL select either http or https and type (replace exampleurl.com with the url of your service desk) exampleurl.com/sdpapi/request/##EXTERNALTICKETID##/notes v. Under Alert Data select the RAW option vi. For Format select Url-Encoded Form Data vii. For the actual alert data you place the data you want to send to service desk, here is a starter: (replace 555 with the Technician key you created) format=XML&TECHNICIAN_KEY=555&INPUT_DATA= <operation> <details> <notes> <note> <notestext>Alert Acknowledged</notestext> </note> </notes> </details> </operation> viii. Click Save c. Next will be the Escalated Status, this will place a note in the Ticket on the Escalation of the ticket i. Click the Plus Button to add a new Alert Status ii. Select Escalated iii. Under HTTP Method select HTTP Post iv. For URL select either http or https and type (replace exampleurl.com with the url of your service desk) exampleurl.com/sdpapi/request/##EXTERNALTICKETID##/notes v. Under Alert Data select the RAW option vi. For Format select Url-Encoded Form Data vii. For the actual alert data you place the data you want to send to service desk, here is a starter: (replace 555 with the Technician key you created) format=XML&TECHNICIAN_KEY=555&INPUT_DATA= <operation> <details> <notes> <note> <notestext>Alert Escalated/De-escalated:Host: ##HOST## Datasource: ##DATASOURCE## Datapoint: ##DATAPOINT## Level: ##LEVEL## Start: ##START## Duration: ##DURATION## Value: ##VALUE## Reason: ##DATAPOINT## ##THRESHOLD##</notestext> </note> </notes> </details> </operation> viii. Click Save d. Next we will tell ServiceDesk to resolve the ticket when the Alert is Cleared i. Click the Plus Button to add a new Alert Status ii. Select Cleared iii. Under HTTP Method select HTTP Post iv. For URL select either http or https and type (replace exampleurl.com with the url of your service desk) exampleurl.com/sdpapi/request/##EXTERNALTICKETID## v. Under Alert Data select the RAW option vi. For Format select Url-Encoded Form Data vii. For the actual alert replace the data you want to send to service desk, here is a starter: (replace 555 with the Technician key you created) format=XML&TECHNICIAN_KEY=555&INPUT_DATA= <operation> <details> <resolution>test</resolution> <status>resolved</status> </details> </operation> viii. Click Save 5. Click the Check box for “Include an ID provided in HTTP response when updating alert status” 6. For HTTP Response Format Choose XML 7. For the Xpath use: /operation[@name="ADD_REQUEST"]/details/workorderid/text()70Views0likes4CommentsBasic Zendesk Integration
The following guide is an example of a custom http integration using the Zendesk API along with some of LogicMonitor's token values. To start off I would recommend reviewing the following resources. LogicMonitor Custom HTTP Delivery Documentation: https://www.logicmonitor.com/support/settings/integrations/custom-http-delivery/ LogicMonitor Tokens: NOTE:(In this guide I create a token ##zendesk.authorid## using a custom property on the device. This allows me to pass this value through the integration. This can be very useful if you need to use the same integration to create tickets as multiple organizations or users. I've included a screenshot below detailing where this is set on the device.) https://www.logicmonitor.com/support/settings/logicmodules/tokens-available-in-datasource-alert-messages/ Zendesk API Documentation: https://developer.zendesk.com/rest_api/docs/core/introduction Complete these steps in Zendesk prior to creating your integration: Create a Zendesk User to be used for authentication. https://support.zendesk.com/hc/en-us/articles/203661986-Adding-agents-and-administrators In the below payloads I use the Zendesk author_id as a token to create, update and close tickets. You can find the author_id for a Zendesk user by checking the following. Configure your Zendesk API key for authentication. https://support.zendesk.com/hc/en-us/articles/226022787-Generating-a-new-API-token- Complete these steps in LogicMonitor to create theIntegration: Add a new Custom HTTP Delivery under Integrations using the following payloads as a starting point. Determine if you would like to use a wildcard for things such as your Zendesk author_id or organization_id etc. Payload Examples: The following examples willCreate, Update and Close ZenDesk tickets with LogicMonitorAlerts. NOTE:When authenticating with the Zendesk api, you will only need to enter your api key in the password field and your username with /token at the end. Active: { "ticket": { "subject": "##LEVEL## - ##HOST## ##INSTANCE##", "type": "incident", "comment": { "body": "Host: ##HOST##\nDatasource: ##DATASOURCE##\nDatapoint: ##DATAPOINT##\nLevel: ##LEVEL##\n Start: ##START##\nDuration: ##DURATION##\nValue: ##VALUE##\nReason: ##DATAPOINT## ##THRESHOLD##"}, "priority": "normal" } } Escalated: { "ticket": { "subject": "##LEVEL## - ##HOST## ##INSTANCE##", "type": "incident", "comment": { "body": "Alert Escalated/De-escalated:\nHost: ##HOST##\nDatasource: ##DATASOURCE##\nDatapoint: ##DATAPOINT##\nLevel: ##LEVEL##\n Start: ##START##\nDuration: ##DURATION##\nValue: ##VALUE##\nReason: ##DATAPOINT## ##THRESHOLD##"}, "priority": "normal" } } Acknowledged: {"ticket": {"status": "open", "comment": { "body": "##MESSAGE##", "author_id": ##zendesk.authorid## }}} Cleared: { "ticket": { "subject": "##LEVEL## - ##HOST## ##INSTANCE##", "type": "incident", "comment": { "body": "Alert Cleared:\nHost: ##HOST##\nDatasource: ##DATASOURCE##\nDatapoint: ##DATAPOINT##\nLevel: ##LEVEL##\n Start: ##START##\nDuration: ##DURATION##\nValue: ##VALUE##\nReason: ##DATAPOINT## ##THRESHOLD##"}, "status": "solved","priority": "normal" } } Here we can see the finished product, a ticket generated and cleared using the above payloads.25Views1like1CommentEnable/Disable Integrations?
Is any way to easily disable/enable integrations? I have a bunch of Escalation Chains (300+) that all do various things but send to a PROD ticketing system Integration directly. I’d like to attach the TEST Integration to all of them, and then toggle the integration on or off. But I dont see a way to do it. As I’m typing this up, it just occurred to me that maybe I could attach the Integration to a Recipient group, and remove it, as needed. We have only used sms or email for those but I just discovered as I was creating this that apparently I could just add a Recipient Group to all my Escalation Chains, and then add/remove the integration. So I feel silly now, but I’ll let the question stand. Or I will shift it …is the use of Recipient Groups the way other people use to wholesale/bulk turn on or off integration points, by putting another layer in there? EDIT: I unfortunately discovered that I can’t have an empty recipient list, so in the event I needed to disable all the Integrations in the recipient list, I can’t do it unless there is a null or empty target that can be selected in the event I dont need TEST or DEV integrations in that list (I would want to keep a PROD one separate and untouched if possible). So I’m also wondering if there is a way to do an empty recipient list? I saw no empty/null options, and wouldnt want to burden LM by sticking in some dummy email in there for a NULL equivalent.20Views7likes0Comments