{
  "version": "Notebook/1.0",
  "items": [
    {
      "type": 1,
      "content": {
        "json": "**NOTE**: This data connector depends on a parser based on Kusto Function **vCenter** to work as expected. [Follow steps to get this Kusto Function](https://aka.ms/sentinel-vCenter-parser)"
      },
      "name": "text - 8"
    },
    {
      "type": 9,
      "content": {
        "version": "KqlParameterItem/1.0",
        "parameters": [
          {
            "id": "cd8447d9-b096-4673-92d8-2a1e8291a125",
            "version": "KqlParameterItem/1.0",
            "name": "TimeRange",
            "type": 4,
            "description": "Sets the time name for analysis",
            "value": {
              "durationMs": 7776000000
            },
            "typeSettings": {
              "selectableValues": [
                {
                  "durationMs": 1800000
                },
                {
                  "durationMs": 3600000
                },
                {
                  "durationMs": 86400000
                },
                {
                  "durationMs": 604800000
                },
                {
                  "durationMs": 2592000000
                },
                {
                  "durationMs": 7776000000
                }
              ]
            },
            "timeContext": {
              "durationMs": 86400000
            }
          }
        ],
        "style": "pills",
        "queryType": 0,
        "resourceType": "microsoft.operationalinsights/workspaces"
      },
      "name": "parameters - 11"
    },
    {
      "type": 3,
      "content": {
        "version": "KqlItem/1.0",
        "query": "let Countrydb = externaldata(Network:string, geoname_id:string, continent_code:string, continent_name:string, country_iso_code:string, country_name:string)\r\n[@\"https://raw.githubusercontent.com/datasets/geoip2-ipv4/master/data/geoip2-ipv4.csv\"];\r\nlet UsersLocation = vCenter\r\n| where EventType has_any ('UserLoginSessionEvent', 'UserLogoutSessionEvent')\r\n| project EventTime,ClientIP;\r\nUsersLocation\r\n| extend Dummy=1\r\n| summarize count() by Hour=bin(EventTime,24h), ClientIP,Dummy\r\n| partition by Hour(\r\n                  lookup (Countrydb|extend Dummy=1) on Dummy\r\n                | where ipv4_is_match(ClientIP, Network)\r\n                )\r\n| summarize sum(count_) by country_name",
        "size": 0,
        "title": "User Login Locations",
        "timeContextFromParameter": "TimeRange",
        "queryType": 0,
        "resourceType": "microsoft.operationalinsights/workspaces",
        "visualization": "map"
      },
      "customWidth": "60",
      "name": "query - 9"
    },
    {
      "type": 3,
      "content": {
        "version": "KqlItem/1.0",
        "query": "vCenter\r\n| where EventType has_any (\"UserLoginSessionEvent\",\"UserLogoutSessionEvent\")\r\n| project TimeGenerated, ClientIP\r\n| summarize count() by Hour=bin(TimeGenerated,24h), ClientIP",
        "size": 0,
        "title": "Login Events by IP Address",
        "color": "blueDark",
        "timeContextFromParameter": "TimeRange",
        "queryType": 0,
        "resourceType": "microsoft.operationalinsights/workspaces",
        "visualization": "barchart",
        "graphSettings": {
          "type": 0
        },
        "chartSettings": {
          "xAxis": "Hour",
          "yAxis": [
            "count_"
          ]
        }
      },
      "customWidth": "40",
      "name": "query - 12",
      "styleSettings": {
        "maxWidth": "55"
      }
    },
    {
      "type": 3,
      "content": {
        "version": "KqlItem/1.0",
        "query": "vCenter\r\n| where EventType has_any ('UserLoginSessionEvent', 'UserLogoutSessionEvent')\r\n| project EventTime=EventTime, LoginAgent = UserAgent, Status=strcat(iff(EventType has 'UserLoginSessionEvent', '✅ - Logged in', '❌ - Logged out' )),User=Username, SourceAddress=ClientIP",
        "size": 2,
        "title": "User Sessions",
        "timeContextFromParameter": "TimeRange",
        "queryType": 0,
        "resourceType": "microsoft.operationalinsights/workspaces",
        "visualization": "table",
        "gridSettings": {
          "filter": true
        },
        "tileSettings": {
          "titleContent": {
            "columnMatch": "URL Category",
            "formatter": 1
          },
          "leftContent": {
            "columnMatch": "count_",
            "formatter": 12,
            "formatOptions": {
              "palette": "auto"
            },
            "numberFormat": {
              "unit": 17,
              "options": {
                "style": "decimal",
                "maximumFractionDigits": 2,
                "maximumSignificantDigits": 3
              }
            }
          },
          "secondaryContent": {
            "columnMatch": "Trend",
            "formatter": 9,
            "formatOptions": {
              "palette": "purple"
            }
          },
          "showBorder": false
        }
      },
      "customWidth": "60",
      "name": "query - 0",
      "styleSettings": {
        "maxWidth": "30"
      }
    },
    {
      "type": 3,
      "content": {
        "version": "KqlItem/1.0",
        "query": "vCenter\n| where EventType has_any ('UserLoginSessionEvent', 'UserLogoutSessionEvent')\n| project User=Username, LoginAgent = UserAgent\n| summarize count() by LoginAgent",
        "size": 2,
        "title": "User - Login Agents",
        "timeContextFromParameter": "TimeRange",
        "queryType": 0,
        "resourceType": "microsoft.operationalinsights/workspaces",
        "visualization": "piechart"
      },
      "customWidth": "40",
      "name": "query - 9"
    },
    {
      "type": 3,
      "content": {
        "version": "KqlItem/1.0",
        "query": "vCenter\n| where EventType has_any (\"RoleAddedEvent\",\"RoleRemoved\",\"RoleUpdatedEvent\")\n| project EventTime=EventTime, Hostname=Hostname, Operation= Operation, RoleName, NewRoleName,OldRoleName, RemovedPriviledges, AddedPriviledges",
        "size": 0,
        "title": "Events- Access Management",
        "timeContextFromParameter": "TimeRange",
        "queryType": 0,
        "resourceType": "microsoft.operationalinsights/workspaces",
        "visualization": "table",
        "textSettings": {
          "style": "bignumber"
        }
      },
      "customWidth": "65",
      "name": "query - 2"
    },
    {
      "type": 3,
      "content": {
        "version": "KqlItem/1.0",
        "query": "vCenter\n| where EventType has_any (\"RoleAddedEvent\",\"RoleRemoved\",\"RoleUpdatedEvent\")\n| summarize count() by Operation, RoleName",
        "size": 2,
        "aggregation": 3,
        "title": "Access Mgmt - Operations",
        "timeContextFromParameter": "TimeRange",
        "queryType": 0,
        "resourceType": "microsoft.operationalinsights/workspaces",
        "visualization": "piechart",
        "textSettings": {
          "style": "bignumber"
        }
      },
      "customWidth": "35",
      "name": "query - 1 - Copy"
    }
  ],
   "fromTemplateId": "sentinel-vCenterWorkbook",
   "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json"
}