<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Cortex XDR dashboard into Grafana? in Cortex XDR Discussions</title>
    <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/583902#M6516</link>
    <description>&lt;P&gt;Good morning,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That is an OOTB widget, so you will need to create an XQL query to create the pie chart. Please note that using the XQL API consumes your&amp;nbsp;&lt;SPAN&gt;daily free quota of query units.&lt;/SPAN&gt;&amp;nbsp;Each XQL Query consumes query units based on the number of responses from the API results. Queries called without enough quota will fail. Additional units can be purchased through your account team.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Here is an XQL query to get started:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;config case_sensitive = false timeframe = 30d&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;|dataset = incidents_assets&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;| fields incident_id, agent_id&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;| join type = left (dataset = alerts | filter excluded = FALSE and host_name != null | dedup incident_id, host_name | fields host_name, endpoint_id, incident_id, alert_arrival_timestamp, original_tags, alert_source ) as join_alerts join_alerts.incident_id = incident_id &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;| join type = left (dataset = scheduled_endpoints_dataset ) as endpoint_id endpoint_id.endpoint_id = endpoint_id&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;| join type = left (dataset = incidents | fields incident_id, severity, status ) as join_incidents join_incidents.incident_id = incident_id &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;| filter status in(ENUM.NEW, ENUM.UNDER_INVESTIGATION) &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;| comp count_distinct(incident_id ) as Incidents by severity&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;|&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;view graph type = pie header = "Open Incidents by Severity" xaxis = severity yaxis = Incidents valuecolor("LOW","#3f8aff") valuecolor("MEDIUM","#ffb43e") valuecolor("HIGH","rgba(255,0,0,0.99)") &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The instructions are outlined in this Live Community webinar&amp;nbsp;&lt;A href="https://live.paloaltonetworks.com/t5/cortex-xdr-webinars/on-demand-webinar-quot-how-to-use-xql-apis-with-cortex-xdr-quot/ta-p/459696" target="_blank" rel="noopener"&gt;LIVEcommunity - On-Demand Webinar: "How To Use XQL APIs With Cortex XDR" - LIVEcommunity - 459696 (paloaltonetworks.com)&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The following is a request example to help you build your query based on the information generated.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Take note of the required parameters
&lt;UL&gt;
&lt;LI&gt;URI /public_api/v1/xql/start_xql_query/&lt;BR /&gt;HTTP Method POST&lt;/LI&gt;
&lt;LI&gt;Required License Cortex XDR Pro per Endpoint or Cortex XDR Pro per TB&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Sample&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;curl -X POST &lt;A href="https://api-{fqdn}/public_api/v1/xql/start_xql_query/" target="_blank" rel="noopener"&gt;https://api-{fqdn}/public_api/v1/xql/start_xql_query/&lt;/A&gt; \&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;-H "x-xdr-auth-id:{key_id}" \&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;-H "Authorization:{key}" \&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;-H "Content-Type:application/json" \&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;-d '{&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;"request_data": {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;"query": "dataset=xdr_data | fields event_id, event_type, event_sub_type | limit 3",&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;"tenants": ["tenantID", "tenantID"],&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;"timeframe": {"from": 1598907600000, "to": 1599080399000}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;}'&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, if you are unfamiliar with XQL, training is provided in Live Community as well as Beacon.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://live.paloaltonetworks.com/t5/cortex-xdr-how-to-videos/cortex-xdr-basic-xql-crash-course/ta-p/544056" target="_blank" rel="noopener"&gt;LIVEcommunity - Cortex XDR Basic XQL Crash Course - LIVEcommunity - 544056 (paloaltonetworks.com)&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you&lt;/P&gt;</description>
    <pubDate>Tue, 16 Apr 2024 14:29:43 GMT</pubDate>
    <dc:creator>jtalton</dc:creator>
    <dc:date>2024-04-16T14:29:43Z</dc:date>
    <item>
      <title>Cortex XDR dashboard into Grafana?</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/583000#M6477</link>
      <description>&lt;DIV class="lia-quilt-row lia-quilt-row-message-header-bottom"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-12 lia-quilt-column-left lia-quilt-column-message-header-bottom-left"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-left"&gt;
&lt;DIV class="lia-message-author-avatar lia-component-author-avatar lia-component-message-view-widget-author-avatar"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JJohnsonRock_0-1712642428134.png" style="width: 400px;"&gt;&lt;img src="https://live.paloaltonetworks.com/t5/image/serverpage/image-id/58896iC620C2150FCF7392/image-size/medium/is-moderation-mode/true?v=v2&amp;amp;px=400" role="button" title="JJohnsonRock_0-1712642428134.png" alt="JJohnsonRock_0-1712642428134.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;DIV class="lia-message-author-with-avatar"&gt;&lt;SPAN class="UserName lia-user-name lia-user-rank-L0-Member lia-component-message-view-widget-author-username"&gt; &lt;A id="link_7" class="lia-link-navigation lia-page-link lia-user-name-link" href="https://live.paloaltonetworks.com/t5/user/viewprofilepage/user-id/1348657193" target="_self" aria-label="Profil von J.JohnsonRock anzeigen"&gt;&lt;SPAN class=""&gt;J.JohnsonRock&lt;/SPAN&gt;&lt;/A&gt; &lt;/SPAN&gt;
&lt;DIV class="lia-message-author-rank lia-component-author-rank lia-component-message-view-widget-author-rank"&gt;L0 Member&lt;/DIV&gt;
&lt;DIV class="MessageInResponseTo lia-component-message-view-widget-in-response-to lia-component-in-response-to"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-12 lia-quilt-column-right lia-quilt-column-message-header-bottom-right"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-right"&gt;
&lt;DIV id="actionMenuDropDown_0" class="lia-menu-navigation-wrapper lia-menu-action lia-component-message-view-widget-action-menu"&gt;
&lt;DIV class="lia-menu-navigation"&gt;
&lt;DIV class="dropdown-default-item"&gt;
&lt;DIV class="dropdown-positioning"&gt;
&lt;DIV class="dropdown-positioning-static"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P class="lia-message-dates lia-message-post-date lia-component-post-date-last-edited lia-component-message-view-widget-post-date-last-edited"&gt;am &lt;SPAN class="DateTime lia-message-posted-on lia-component-common-widget-date"&gt; &lt;SPAN class="local-date"&gt;‎04-08-2024&lt;/SPAN&gt; &lt;SPAN class="local-time"&gt;11:02 AM&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="lia-quilt-row lia-quilt-row-message-main"&gt;
&lt;DIV class="lia-quilt-column lia-quilt-column-24 lia-quilt-column-single lia-quilt-column-message-main-content"&gt;
&lt;DIV class="lia-quilt-column-alley lia-quilt-column-alley-single"&gt;
&lt;DIV id="bodyDisplay" class="lia-message-body lia-component-message-view-widget-body lia-component-body-signature-highlight-escalation lia-component-message-view-widget-body-signature-highlight-escalation"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;P&gt;Hello, I don't know if I'm in the right place...&lt;/P&gt;
&lt;P&gt;I would like to integrate our Cortex XDR dashboard into Grafana. I know this is possible via an API, but which connection do I choose in Grafana? 'Websocket API'? Which data connection in Grafana do I need?&lt;/P&gt;
&lt;P&gt;Have somebody already done that? Are there instructions for this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Basically I would like to create a dashboard in Grafana that shows the incidents from XDR.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It would be nice if someone could help me. Thanks.&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 09 Apr 2024 06:03:09 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/583000#M6477</guid>
      <dc:creator>J.JohnsonRock</dc:creator>
      <dc:date>2024-04-09T06:03:09Z</dc:date>
    </item>
    <item>
      <title>Re: Cortex XDR dashboard into Grafana?</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/583242#M6485</link>
      <description>&lt;DIV class="p-rich_text_section"&gt;
&lt;DIV class="p-rich_text_block--no-overflow"&gt;
&lt;P&gt;Hi J.JohnsonRock,&amp;nbsp;&lt;/P&gt;
&lt;DIV class="p-rich_text_section"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="p-rich_text_section"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="p-rich_text_section"&gt;You can use the Cortex XDR Rest API to send incident/alerts details to Grafana, see&amp;nbsp;&lt;A href="https://docs-cortex.paloaltonetworks.com/r/Cortex-XDR-REST-API/Incident-Management" target="_blank"&gt;Incident Management • Cortex XDR REST API • Reader • Palo Alto Networks documentation portal&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV class="p-rich_text_section"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="p-rich_text_section"&gt;After you generate your API key and set up the API to query Cortex XDR, Grafana can receive incident/alert data. Additional details are located in&amp;nbsp;&lt;A href="https://docs-cortex.paloaltonetworks.com/r/Cortex-XDR/Cortex-XDR-API-Reference/Get-Started-with-APIs" target="_self"&gt;Cortex XDR API Reference&lt;/A&gt;&amp;nbsp;guide which also provides a&amp;nbsp;&lt;SPAN&gt;Standard Key cURL example:&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="p-rich_text_section"&gt;
&lt;DIV class="p-rich_text_block--no-overflow"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;PRE class="c-mrkdwn__pre" data-stringify-type="pre"&gt;curl -X POST &lt;A class="c-link" href="https://api/" target="_blank" rel="noopener noreferrer" data-stringify-link="https://api" data-sk="tooltip_parent"&gt;https://api&lt;/A&gt;-{fqdn}/public_api/v1/{name of api}/{name of call}/ -H "x-&lt;SPAN class="c-mrkdwn__highlight"&gt;xdr&lt;/SPAN&gt;-auth-id:{key_id}" -H "Authorization:{key}" -H "Content-Type:application/json" -d '{}'&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="p-rich_text_section"&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is a video walkthrough of the process&amp;nbsp;&lt;A href="https://live.paloaltonetworks.com/t5/cortex-xdr-how-to-videos/cortex-xdr-how-to-video-public-api/ta-p/330848" target="_blank"&gt;Public API Cortex XDR 2.0 | Palo Alto Networks&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;If you found this answer helpful, please select Accept as Solution.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thank you&lt;/SPAN&gt;&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Wed, 10 Apr 2024 15:33:37 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/583242#M6485</guid>
      <dc:creator>jtalton</dc:creator>
      <dc:date>2024-04-10T15:33:37Z</dc:date>
    </item>
    <item>
      <title>Re: Cortex XDR dashboard into Grafana?</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/583527#M6496</link>
      <description>&lt;P&gt;Thank you for your guidance. I created the API token exactly as explained in the video and it worked well.&lt;/P&gt;
&lt;P&gt;In Grafana under "Data Sources" I tried to connect with the "Infinity" plugin, but without success.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The message always comes up: "error getting data frame. requested URL is not allowed. To allow this URL, update the datasource config Security -&amp;gt; Allowed Hosts section"&lt;BR /&gt;No matter what I set.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I don't know if I'm setting something up incorrectly in the "Infinity Plugin" under Authentication or "Auth type"&lt;BR /&gt;Can you tell me which auth type I have to choose?&lt;BR /&gt;Or maybe instructions or a screenshot??&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2024 11:26:12 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/583527#M6496</guid>
      <dc:creator>J.JohnsonRock</dc:creator>
      <dc:date>2024-04-12T11:26:12Z</dc:date>
    </item>
    <item>
      <title>Re: Cortex XDR dashboard into Grafana?</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/583596#M6500</link>
      <description>&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Hi J.JohnsonRock,&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;For better security, we generally recommend setting the Cortex XDR API to Advanced to prevent replay attacks. However, t&lt;SPAN&gt;he Advanced API key does not support cURL but it is suitable with scripts.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;&lt;SPAN&gt;As outlined in the &lt;A href="https://docs-cortex.paloaltonetworks.com/r/Cortex-XDR/Cortex-XDR-API-Reference/Get-Started-with-APIs" target="_blank"&gt;Get Started with APIs • Cortex XDR API Reference • Reader • Palo Alto Networks documentation portal,&amp;nbsp;&lt;/A&gt;here is a&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Standard Key cURL Example:&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;curl -X POST &lt;A href="https://api-{fqdn}/public_api/v1/{name" target="_blank"&gt;https://api-{fqdn}/public_api/v1/{name&lt;/A&gt; of api}/{name of call}/ &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;-H "x-xdr-auth-id:{key_id}" &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;-H "Authorization:{key}" &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;-H "Content-Type:application/json" &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;-d '{}'&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Advanced Key Python 3 Example&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;import requests&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;from datetime import datetime, timezone&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;import secrets&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;import string&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;import hashlib&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;import requests&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;def test_advanced_authentication(api_key_id, api_key):&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;# Generate a 64 bytes random string&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;nonce = "".join([secrets.choice(string.ascii_letters + string.digits) for _ in range(64)])&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;# Get the current timestamp as milliseconds.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;timestamp = int(datetime.now(timezone.utc).timestamp()) * 1000&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;# Generate the auth key:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;auth_key = "%s%s%s" % (api_key, nonce, timestamp)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;# Convert to bytes object&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;auth_key = auth_key.encode("utf-8")&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;# Calculate sha256:&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;api_key_hash = hashlib.sha256(auth_key).hexdigest()&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;# Generate HTTP call headers&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;headers = {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;"x-xdr-timestamp": str(timestamp),&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;"x-xdr-nonce": nonce,&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;"x-xdr-auth-id": str(api_key_id),&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;"Authorization": api_key_hash&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;parameters = {}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;res = requests.post(url="&lt;A href="https://api-{fqdn}/public_api/v1/{name" target="_blank"&gt;https://api-{fqdn}/public_api/v1/{name&lt;/A&gt; of api}/{name of call}",&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;headers=headers,&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;json=parameters)&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;return res&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Also, I suggest contacting Grafana support for assistance with their plugin. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Thanks&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 12 Apr 2024 20:32:52 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/583596#M6500</guid>
      <dc:creator>jtalton</dc:creator>
      <dc:date>2024-04-12T20:32:52Z</dc:date>
    </item>
    <item>
      <title>Re: Cortex XDR dashboard into Grafana?</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/583884#M6515</link>
      <description>&lt;P&gt;Good day,&lt;BR /&gt;Thank you very much for the detailed description.&lt;BR /&gt;I have now created a "standard token" for testing and, following your instructions, created the connection to the Grafana data source "infinitiy" (see picture)&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="grafana-infinity-setting's" style="width: 999px;"&gt;&lt;img src="https://live.paloaltonetworks.com/t5/image/serverpage/image-id/59096i7515543D1967BA79/image-size/large/is-moderation-mode/true?v=v2&amp;amp;px=999" role="button" title="grafana-infinity.png" alt="grafana-infinity-setting's" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;grafana-infinity-setting's&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now I have a question: which post URL do I need so that I can only display the last "Open Incidents by Severity (Last 30 days)"?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;I currently see all incidents in Grafana &amp;gt;including those I have marked as completed (I don't want to display them)&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="grafana-Total-Incidents" style="width: 999px;"&gt;&lt;img src="https://live.paloaltonetworks.com/t5/image/serverpage/image-id/59097iB1CBD7418E8BE406/image-size/large/is-moderation-mode/true?v=v2&amp;amp;px=999" role="button" title="grafana-Total-Incidents.png" alt="grafana-Total-Incidents" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;grafana-Total-Incidents&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Eigentlich so wie in Cortex Dashboard "Open Incidents by Severity Last 30 days: &lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Open Incidents by Severity (Last 30 days)" style="width: 665px;"&gt;&lt;img src="https://live.paloaltonetworks.com/t5/image/serverpage/image-id/59095iC6215967599A2444/image-size/large/is-moderation-mode/true?v=v2&amp;amp;px=999" role="button" title="cotex-xdr-currently-now.png" alt="Open Incidents by Severity (Last 30 days)" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Open Incidents by Severity (Last 30 days)&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="HwtZe"&gt;&lt;SPAN class="jCAhz ChMk0b"&gt;&lt;SPAN class="ryNqvb"&gt;Do you understand what I mean?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class="HwtZe"&gt;&lt;SPAN class="jCAhz ChMk0b"&gt;&lt;SPAN class="ryNqvb"&gt;Can you help me there?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Apr 2024 12:23:57 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/583884#M6515</guid>
      <dc:creator>J.JohnsonRock</dc:creator>
      <dc:date>2024-04-16T12:23:57Z</dc:date>
    </item>
    <item>
      <title>Re: Cortex XDR dashboard into Grafana?</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/583902#M6516</link>
      <description>&lt;P&gt;Good morning,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That is an OOTB widget, so you will need to create an XQL query to create the pie chart. Please note that using the XQL API consumes your&amp;nbsp;&lt;SPAN&gt;daily free quota of query units.&lt;/SPAN&gt;&amp;nbsp;Each XQL Query consumes query units based on the number of responses from the API results. Queries called without enough quota will fail. Additional units can be purchased through your account team.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Here is an XQL query to get started:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier"&gt;config case_sensitive = false timeframe = 30d&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;|dataset = incidents_assets&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;| fields incident_id, agent_id&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;| join type = left (dataset = alerts | filter excluded = FALSE and host_name != null | dedup incident_id, host_name | fields host_name, endpoint_id, incident_id, alert_arrival_timestamp, original_tags, alert_source ) as join_alerts join_alerts.incident_id = incident_id &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;| join type = left (dataset = scheduled_endpoints_dataset ) as endpoint_id endpoint_id.endpoint_id = endpoint_id&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;| join type = left (dataset = incidents | fields incident_id, severity, status ) as join_incidents join_incidents.incident_id = incident_id &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;| filter status in(ENUM.NEW, ENUM.UNDER_INVESTIGATION) &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;| comp count_distinct(incident_id ) as Incidents by severity&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;|&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;view graph type = pie header = "Open Incidents by Severity" xaxis = severity yaxis = Incidents valuecolor("LOW","#3f8aff") valuecolor("MEDIUM","#ffb43e") valuecolor("HIGH","rgba(255,0,0,0.99)") &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The instructions are outlined in this Live Community webinar&amp;nbsp;&lt;A href="https://live.paloaltonetworks.com/t5/cortex-xdr-webinars/on-demand-webinar-quot-how-to-use-xql-apis-with-cortex-xdr-quot/ta-p/459696" target="_blank" rel="noopener"&gt;LIVEcommunity - On-Demand Webinar: "How To Use XQL APIs With Cortex XDR" - LIVEcommunity - 459696 (paloaltonetworks.com)&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The following is a request example to help you build your query based on the information generated.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Take note of the required parameters
&lt;UL&gt;
&lt;LI&gt;URI /public_api/v1/xql/start_xql_query/&lt;BR /&gt;HTTP Method POST&lt;/LI&gt;
&lt;LI&gt;Required License Cortex XDR Pro per Endpoint or Cortex XDR Pro per TB&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Sample&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;curl -X POST &lt;A href="https://api-{fqdn}/public_api/v1/xql/start_xql_query/" target="_blank" rel="noopener"&gt;https://api-{fqdn}/public_api/v1/xql/start_xql_query/&lt;/A&gt; \&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;-H "x-xdr-auth-id:{key_id}" \&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;-H "Authorization:{key}" \&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;-H "Content-Type:application/json" \&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;-d '{&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;"request_data": {&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;"query": "dataset=xdr_data | fields event_id, event_type, event_sub_type | limit 3",&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;"tenants": ["tenantID", "tenantID"],&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;"timeframe": {"from": 1598907600000, "to": 1599080399000}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;}'&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, if you are unfamiliar with XQL, training is provided in Live Community as well as Beacon.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://live.paloaltonetworks.com/t5/cortex-xdr-how-to-videos/cortex-xdr-basic-xql-crash-course/ta-p/544056" target="_blank" rel="noopener"&gt;LIVEcommunity - Cortex XDR Basic XQL Crash Course - LIVEcommunity - 544056 (paloaltonetworks.com)&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Tue, 16 Apr 2024 14:29:43 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/583902#M6516</guid>
      <dc:creator>jtalton</dc:creator>
      <dc:date>2024-04-16T14:29:43Z</dc:date>
    </item>
    <item>
      <title>Re: Cortex XDR dashboard into Grafana?</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/584303#M6539</link>
      <description>&lt;P&gt;Hello, that sounds very interesting but also complicated.&lt;BR /&gt;How many queries per day is normal or allowed?&lt;/P&gt;
&lt;P&gt;Can't I do this with Grafana using the normal API?&lt;/P&gt;</description>
      <pubDate>Fri, 19 Apr 2024 07:13:47 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/584303#M6539</guid>
      <dc:creator>J.JohnsonRock</dc:creator>
      <dc:date>2024-04-19T07:13:47Z</dc:date>
    </item>
    <item>
      <title>Re: Cortex XDR dashboard into Grafana?</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/584366#M6545</link>
      <description>&lt;P&gt;The query size/CU usage is dependent upon the query and the customers environment.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am not a Grafana SME and provided the options available in Cortex XDR.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 19 Apr 2024 19:21:55 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/584366#M6545</guid>
      <dc:creator>jtalton</dc:creator>
      <dc:date>2024-04-19T19:21:55Z</dc:date>
    </item>
    <item>
      <title>Re: Cortex XDR dashboard into Grafana?</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/584734#M6578</link>
      <description>&lt;P&gt;Good morning,&lt;/P&gt;
&lt;P&gt;I created my dashboard as requested using the “Infinity” plugin. Therefore I no longer need the “XQL” variant.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Grafana-XDR" style="width: 400px;"&gt;&lt;img src="https://live.paloaltonetworks.com/t5/image/serverpage/image-id/59254iB3F9BF40FB9D23FF/image-size/medium/is-moderation-mode/true?v=v2&amp;amp;px=400" role="button" title="grafana-xdr.png" alt="Grafana-XDR" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;Grafana-XDR&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;/P&gt;</description>
      <pubDate>Wed, 24 Apr 2024 06:22:06 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/584734#M6578</guid>
      <dc:creator>J.JohnsonRock</dc:creator>
      <dc:date>2024-04-24T06:22:06Z</dc:date>
    </item>
    <item>
      <title>Re: Cortex XDR dashboard into Grafana?</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/584788#M6583</link>
      <description>&lt;P&gt;Good Morning JJohnsonRock,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Look great!&lt;/P&gt;</description>
      <pubDate>Wed, 24 Apr 2024 13:16:11 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/cortex-xdr-dashboard-into-grafana/m-p/584788#M6583</guid>
      <dc:creator>jtalton</dc:creator>
      <dc:date>2024-04-24T13:16:11Z</dc:date>
    </item>
  </channel>
</rss>

