arg.json 177 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015
  1. {
  2. "__inputs": [
  3. {
  4. "name": "ds",
  5. "label": "Azure Monitor",
  6. "description": "",
  7. "type": "datasource",
  8. "pluginId": "grafana-azure-monitor-datasource",
  9. "pluginName": "Azure Monitor"
  10. }
  11. ],
  12. "__requires": [
  13. {
  14. "type": "grafana",
  15. "id": "grafana",
  16. "name": "Grafana",
  17. "version": "8.2.0-pre"
  18. },
  19. {
  20. "type": "datasource",
  21. "id": "grafana-azure-monitor-datasource",
  22. "name": "Azure Monitor",
  23. "version": "0.3.0"
  24. },
  25. {
  26. "type": "panel",
  27. "id": "stat",
  28. "name": "Stat",
  29. "version": ""
  30. },
  31. {
  32. "type": "panel",
  33. "id": "table",
  34. "name": "Table",
  35. "version": ""
  36. }
  37. ],
  38. "editable": true,
  39. "gnetId": null,
  40. "graphTooltip": 0,
  41. "id": null,
  42. "iteration": 1630536080458,
  43. "links": [],
  44. "liveNow": false,
  45. "panels": [
  46. {
  47. "collapsed": false,
  48. "datasource": null,
  49. "gridPos": {
  50. "h": 1,
  51. "w": 24,
  52. "x": 0,
  53. "y": 0
  54. },
  55. "id": 4,
  56. "panels": [],
  57. "title": "Overview",
  58. "type": "row"
  59. },
  60. {
  61. "datasource": "${ds}",
  62. "fieldConfig": {
  63. "defaults": {
  64. "color": {
  65. "mode": "thresholds"
  66. },
  67. "mappings": [],
  68. "thresholds": {
  69. "mode": "absolute",
  70. "steps": [
  71. {
  72. "color": "green",
  73. "value": null
  74. }
  75. ]
  76. }
  77. },
  78. "overrides": []
  79. },
  80. "gridPos": {
  81. "h": 6,
  82. "w": 7,
  83. "x": 0,
  84. "y": 1
  85. },
  86. "id": 2,
  87. "options": {
  88. "colorMode": "value",
  89. "graphMode": "area",
  90. "justifyMode": "auto",
  91. "orientation": "auto",
  92. "reduceOptions": {
  93. "calcs": ["lastNotNull"],
  94. "fields": "",
  95. "values": true
  96. },
  97. "text": {},
  98. "textMode": "auto"
  99. },
  100. "pluginVersion": "8.2.0-pre",
  101. "targets": [
  102. {
  103. "account": "",
  104. "appInsights": {
  105. "dimension": [],
  106. "metricName": "select",
  107. "timeGrain": "auto"
  108. },
  109. "azureLogAnalytics": {
  110. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  111. "resultFormat": "time_series",
  112. "workspace": ""
  113. },
  114. "azureMonitor": {
  115. "aggOptions": [],
  116. "dimensionFilter": "*",
  117. "dimensionFilters": [],
  118. "timeGrain": "auto",
  119. "timeGrains": [],
  120. "top": "10"
  121. },
  122. "azureResourceGraph": {
  123. "query": "Resources | summarize count(type)",
  124. "resultFormat": "table"
  125. },
  126. "backends": [],
  127. "dimension": "",
  128. "environment": "prod",
  129. "insightsAnalytics": {
  130. "query": "",
  131. "resultFormat": "time_series"
  132. },
  133. "metric": "",
  134. "namespace": "",
  135. "queryType": "Azure Resource Graph",
  136. "refId": "A",
  137. "samplingType": "",
  138. "service": "metric",
  139. "subscriptions": ["$subscriprions"],
  140. "useBackends": false,
  141. "useCustomSeriesNaming": false
  142. }
  143. ],
  144. "title": "Count of All Resources",
  145. "type": "stat"
  146. },
  147. {
  148. "datasource": "${ds}",
  149. "fieldConfig": {
  150. "defaults": {
  151. "color": {
  152. "mode": "thresholds"
  153. },
  154. "custom": {
  155. "align": "auto",
  156. "displayMode": "auto"
  157. },
  158. "mappings": [],
  159. "thresholds": {
  160. "mode": "absolute",
  161. "steps": [
  162. {
  163. "color": "green",
  164. "value": null
  165. },
  166. {
  167. "color": "red",
  168. "value": 80
  169. }
  170. ]
  171. }
  172. },
  173. "overrides": [
  174. {
  175. "matcher": {
  176. "id": "byName",
  177. "options": "type"
  178. },
  179. "properties": [
  180. {
  181. "id": "custom.width",
  182. "value": 386
  183. }
  184. ]
  185. },
  186. {
  187. "matcher": {
  188. "id": "byName",
  189. "options": "properties"
  190. },
  191. "properties": [
  192. {
  193. "id": "custom.width",
  194. "value": 339
  195. }
  196. ]
  197. }
  198. ]
  199. },
  200. "gridPos": {
  201. "h": 6,
  202. "w": 17,
  203. "x": 7,
  204. "y": 1
  205. },
  206. "id": 6,
  207. "options": {
  208. "showHeader": true,
  209. "sortBy": []
  210. },
  211. "pluginVersion": "8.2.0-pre",
  212. "targets": [
  213. {
  214. "account": "",
  215. "appInsights": {
  216. "dimension": [],
  217. "metricName": "select",
  218. "timeGrain": "auto"
  219. },
  220. "azureLogAnalytics": {
  221. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  222. "resultFormat": "time_series",
  223. "workspace": ""
  224. },
  225. "azureMonitor": {
  226. "aggOptions": [],
  227. "dimensionFilter": "*",
  228. "dimensionFilters": [],
  229. "timeGrain": "auto",
  230. "timeGrains": [],
  231. "top": "10"
  232. },
  233. "azureResourceGraph": {
  234. "query": "resourcecontainers \r\n| where type has \"microsoft.resources/subscriptions/resourcegroups\"\r\n| summarize Count=count(type) by type, subscriptionId | extend type = replace(@\"microsoft.resources/subscriptions/resourcegroups\", @\"Resource Groups\", type)",
  235. "resultFormat": "table"
  236. },
  237. "backends": [],
  238. "dimension": "",
  239. "environment": "prod",
  240. "insightsAnalytics": {
  241. "query": "",
  242. "resultFormat": "time_series"
  243. },
  244. "metric": "",
  245. "namespace": "",
  246. "queryType": "Azure Resource Graph",
  247. "refId": "A",
  248. "samplingType": "",
  249. "service": "metric",
  250. "subscriptions": ["$subscriprions"],
  251. "useBackends": false,
  252. "useCustomSeriesNaming": false
  253. }
  254. ],
  255. "title": "Subscriptions and Resource Groups",
  256. "type": "table"
  257. },
  258. {
  259. "datasource": "${ds}",
  260. "fieldConfig": {
  261. "defaults": {
  262. "color": {
  263. "mode": "thresholds"
  264. },
  265. "mappings": [],
  266. "thresholds": {
  267. "mode": "absolute",
  268. "steps": [
  269. {
  270. "color": "green",
  271. "value": null
  272. }
  273. ]
  274. }
  275. },
  276. "overrides": []
  277. },
  278. "gridPos": {
  279. "h": 10,
  280. "w": 24,
  281. "x": 0,
  282. "y": 7
  283. },
  284. "id": 8,
  285. "options": {
  286. "colorMode": "none",
  287. "graphMode": "area",
  288. "justifyMode": "auto",
  289. "orientation": "auto",
  290. "reduceOptions": {
  291. "calcs": ["lastNotNull"],
  292. "fields": "",
  293. "values": true
  294. },
  295. "text": {
  296. "titleSize": 18
  297. },
  298. "textMode": "value_and_name"
  299. },
  300. "pluginVersion": "8.2.0-pre",
  301. "targets": [
  302. {
  303. "account": "",
  304. "appInsights": {
  305. "dimension": [],
  306. "metricName": "select",
  307. "timeGrain": "auto"
  308. },
  309. "azureLogAnalytics": {
  310. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  311. "resultFormat": "time_series",
  312. "workspace": ""
  313. },
  314. "azureMonitor": {
  315. "aggOptions": [],
  316. "dimensionFilter": "*",
  317. "dimensionFilters": [],
  318. "timeGrain": "auto",
  319. "timeGrains": [],
  320. "top": "10"
  321. },
  322. "azureResourceGraph": {
  323. "query": "Resources \r\n| extend type = case(\r\ntype contains 'microsoft.netapp/netappaccounts', 'NetApp Accounts',\r\ntype contains \"microsoft.compute\", \"Azure Compute\",\r\ntype contains \"microsoft.logic\", \"LogicApps\",\r\ntype contains 'microsoft.keyvault/vaults', \"Key Vaults\",\r\ntype contains 'microsoft.storage/storageaccounts', \"Storage Accounts\",\r\ntype contains 'microsoft.compute/availabilitysets', 'Availability Sets',\r\ntype contains 'microsoft.operationalinsights/workspaces', 'Azure Monitor Resources',\r\ntype contains 'microsoft.operationsmanagement', 'Operations Management Resources',\r\ntype contains 'microsoft.insights', 'Azure Monitor Resources',\r\ntype contains 'microsoft.desktopvirtualization/applicationgroups', 'WVD Application Groups',\r\ntype contains 'microsoft.desktopvirtualization/workspaces', 'WVD Workspaces',\r\ntype contains 'microsoft.desktopvirtualization/hostpools', 'WVD Hostpools',\r\ntype contains 'microsoft.recoveryservices/vaults', 'Backup Vaults',\r\ntype contains 'microsoft.web', 'App Services',\r\ntype contains 'microsoft.managedidentity/userassignedidentities','Managed Identities',\r\ntype contains 'microsoft.storagesync/storagesyncservices', 'Azure File Sync',\r\ntype contains 'microsoft.hybridcompute/machines', 'ARC Machines',\r\ntype contains 'Microsoft.EventHub', 'Event Hub',\r\ntype contains 'Microsoft.EventGrid', 'Event Grid',\r\ntype contains 'Microsoft.Sql', 'SQL Resources',\r\ntype contains 'Microsoft.HDInsight/clusters', 'HDInsight Clusters',\r\ntype contains 'microsoft.devtestlab', 'DevTest Labs Resources',\r\ntype contains 'microsoft.containerinstance', 'Container Instances Resources',\r\ntype contains 'microsoft.portal/dashboards', 'Azure Dashboards',\r\ntype contains 'microsoft.containerregistry/registries', 'Container Registry',\r\ntype contains 'microsoft.automation', 'Automation Resources',\r\ntype contains 'sendgrid.email/accounts', 'SendGrid Accounts',\r\ntype contains 'microsoft.datafactory/factories', 'Data Factory',\r\ntype contains 'microsoft.databricks/workspaces', 'Databricks Workspaces',\r\ntype contains 'microsoft.machinelearningservices/workspaces', 'Machine Learnings Workspaces',\r\ntype contains 'microsoft.alertsmanagement/smartdetectoralertrules', 'Azure Monitor Resources',\r\ntype contains 'microsoft.apimanagement/service', 'API Management Services',\r\ntype contains 'microsoft.dbforpostgresql', 'PostgreSQL Resources',\r\ntype contains 'microsoft.scheduler/jobcollections', 'Scheduler Job Collections',\r\ntype contains 'microsoft.visualstudio/account', 'Azure DevOps Organization',\r\ntype contains 'microsoft.network/', 'Network Resources',\r\ntype contains 'microsoft.migrate/' or type contains 'microsoft.offazure', 'Azure Migrate Resources',\r\ntype contains 'microsoft.servicebus/namespaces', 'Service Bus Namespaces',\r\ntype contains 'microsoft.classic', 'ASM Obsolete Resources',\r\ntype contains 'microsoft.resources/templatespecs', 'Template Spec Resources',\r\ntype contains 'microsoft.virtualmachineimages', 'VM Image Templates',\r\ntype contains 'microsoft.documentdb', 'CosmosDB DB Resources',\r\ntype contains 'microsoft.alertsmanagement/actionrules', 'Azure Monitor Resources',\r\ntype contains 'microsoft.kubernetes/connectedclusters', 'ARC Kubernetes Clusters',\r\ntype contains 'microsoft.purview', 'Purview Resources',\r\ntype contains 'microsoft.security', 'Security Resources',\r\ntype contains 'microsoft.cdn', 'CDN Resources',\r\ntype contains 'microsoft.devices','IoT Resources',\r\ntype contains 'microsoft.datamigration', 'Data Migraiton Services',\r\ntype contains 'microsoft.cognitiveservices', 'Congitive Services',\r\ntype contains 'microsoft.customproviders', 'Custom Providers',\r\ntype contains 'microsoft.appconfiguration', 'App Services',\r\ntype contains 'microsoft.search', 'Search Services',\r\ntype contains 'microsoft.maps', 'Maps',\r\ntype contains 'microsoft.containerservice/managedclusters', 'AKS',\r\ntype contains 'microsoft.signalrservice', 'SignalR',\r\ntype contains 'microsoft.resourcegraph/queries', 'Resource Graph Queries',\r\ntype contains 'microsoft.batch', 'MS Batch',\r\ntype contains 'microsoft.analysisservices', 'Analysis Services',\r\ntype contains 'microsoft.synapse/workspaces', 'Synapse Workspaces',\r\ntype contains 'microsoft.synapse/workspaces/sqlpools', 'Synapse SQL Pools',\r\ntype contains 'microsoft.kusto/clusters', 'ADX Clusters',\r\ntype contains 'microsoft.resources/deploymentscripts', 'Deployment Scripts',\r\ntype contains 'microsoft.aad/domainservices', 'AD Domain Services',\r\ntype contains 'microsoft.labservices/labaccounts', 'Lab Accounts',\r\ntype contains 'microsoft.automanage/accounts', 'Automanage Accounts',\r\nstrcat(\"Not Translated: \", type))\r\n| summarize count() by type",
  324. "resultFormat": "table"
  325. },
  326. "backends": [],
  327. "dimension": "",
  328. "environment": "prod",
  329. "insightsAnalytics": {
  330. "query": "",
  331. "resultFormat": "time_series"
  332. },
  333. "metric": "",
  334. "namespace": "",
  335. "queryType": "Azure Resource Graph",
  336. "refId": "A",
  337. "samplingType": "",
  338. "service": "metric",
  339. "subscriptions": ["$subscriprions"],
  340. "useBackends": false,
  341. "useCustomSeriesNaming": false
  342. }
  343. ],
  344. "title": "Resource Counts",
  345. "type": "stat"
  346. },
  347. {
  348. "collapsed": true,
  349. "datasource": null,
  350. "gridPos": {
  351. "h": 1,
  352. "w": 24,
  353. "x": 0,
  354. "y": 22
  355. },
  356. "id": 10,
  357. "panels": [
  358. {
  359. "datasource": "${ds}",
  360. "fieldConfig": {
  361. "defaults": {
  362. "color": {
  363. "mode": "thresholds"
  364. },
  365. "mappings": [],
  366. "thresholds": {
  367. "mode": "absolute",
  368. "steps": [
  369. {
  370. "color": "green",
  371. "value": null
  372. },
  373. {
  374. "color": "red",
  375. "value": 80
  376. }
  377. ]
  378. }
  379. },
  380. "overrides": []
  381. },
  382. "gridPos": {
  383. "h": 6,
  384. "w": 6,
  385. "x": 0,
  386. "y": 2
  387. },
  388. "id": 12,
  389. "options": {
  390. "colorMode": "value",
  391. "graphMode": "area",
  392. "justifyMode": "auto",
  393. "orientation": "auto",
  394. "reduceOptions": {
  395. "calcs": ["lastNotNull"],
  396. "fields": "",
  397. "values": true
  398. },
  399. "text": {},
  400. "textMode": "auto"
  401. },
  402. "pluginVersion": "8.0.5",
  403. "targets": [
  404. {
  405. "account": "",
  406. "appInsights": {
  407. "dimension": [],
  408. "metricName": "select",
  409. "timeGrain": "auto"
  410. },
  411. "azureLogAnalytics": {
  412. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  413. "resultFormat": "time_series",
  414. "workspace": ""
  415. },
  416. "azureMonitor": {
  417. "aggOptions": [],
  418. "dimensionFilter": "*",
  419. "dimensionFilters": [],
  420. "timeGrain": "auto",
  421. "timeGrains": [],
  422. "top": "10"
  423. },
  424. "azureResourceGraph": {
  425. "query": "Resources | where type == \"microsoft.compute/virtualmachines\"\r\n| extend vmState = tostring(properties.extended.instanceView.powerState.displayStatus)\r\n| extend vmState = iif(isempty(vmState), \"VM State Unknown\", (vmState))\r\n| summarize count() by vmState",
  426. "resultFormat": "table"
  427. },
  428. "backends": [],
  429. "dimension": "",
  430. "environment": "prod",
  431. "insightsAnalytics": {
  432. "query": "",
  433. "resultFormat": "time_series"
  434. },
  435. "metric": "",
  436. "namespace": "",
  437. "queryType": "Azure Resource Graph",
  438. "refId": "A",
  439. "samplingType": "",
  440. "service": "metric",
  441. "subscriptions": ["$subscriprions"],
  442. "useBackends": false,
  443. "useCustomSeriesNaming": false
  444. }
  445. ],
  446. "title": "Current VM Status",
  447. "type": "stat"
  448. },
  449. {
  450. "datasource": "${ds}",
  451. "fieldConfig": {
  452. "defaults": {
  453. "color": {
  454. "mode": "thresholds"
  455. },
  456. "mappings": [],
  457. "thresholds": {
  458. "mode": "absolute",
  459. "steps": [
  460. {
  461. "color": "green",
  462. "value": null
  463. },
  464. {
  465. "color": "red",
  466. "value": 80
  467. }
  468. ]
  469. }
  470. },
  471. "overrides": []
  472. },
  473. "gridPos": {
  474. "h": 6,
  475. "w": 18,
  476. "x": 6,
  477. "y": 2
  478. },
  479. "id": 13,
  480. "options": {
  481. "colorMode": "value",
  482. "graphMode": "area",
  483. "justifyMode": "auto",
  484. "orientation": "auto",
  485. "reduceOptions": {
  486. "calcs": ["lastNotNull"],
  487. "fields": "",
  488. "values": true
  489. },
  490. "text": {},
  491. "textMode": "auto"
  492. },
  493. "pluginVersion": "8.0.5",
  494. "targets": [
  495. {
  496. "account": "",
  497. "appInsights": {
  498. "dimension": [],
  499. "metricName": "select",
  500. "timeGrain": "auto"
  501. },
  502. "azureLogAnalytics": {
  503. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  504. "resultFormat": "time_series",
  505. "workspace": ""
  506. },
  507. "azureMonitor": {
  508. "aggOptions": [],
  509. "dimensionFilter": "*",
  510. "dimensionFilters": [],
  511. "timeGrain": "auto",
  512. "timeGrains": [],
  513. "top": "10"
  514. },
  515. "azureResourceGraph": {
  516. "query": "Resources | where type =~ \"microsoft.compute/virtualmachines\"\r\nor type =~ 'microsoft.compute/virtualmachinescalesets'\r\n| extend Size = case(\r\ntype contains 'microsoft.compute/virtualmachinescalesets', strcat(\"VMSS \", sku.name),\r\ntype contains 'microsoft.compute/virtualmachines', properties.hardwareProfile.vmSize,\r\n\"Size not found\")\r\n| summarize Count=count(Size) by vmSize=tostring(Size)",
  517. "resultFormat": "table"
  518. },
  519. "backends": [],
  520. "dimension": "",
  521. "environment": "prod",
  522. "insightsAnalytics": {
  523. "query": "",
  524. "resultFormat": "time_series"
  525. },
  526. "metric": "",
  527. "namespace": "",
  528. "queryType": "Azure Resource Graph",
  529. "refId": "A",
  530. "samplingType": "",
  531. "service": "metric",
  532. "subscriptions": ["$subscriprions"],
  533. "useBackends": false,
  534. "useCustomSeriesNaming": false
  535. }
  536. ],
  537. "title": "Count of VMs by VM Size",
  538. "type": "stat"
  539. },
  540. {
  541. "datasource": "${ds}",
  542. "fieldConfig": {
  543. "defaults": {
  544. "color": {
  545. "mode": "thresholds"
  546. },
  547. "custom": {
  548. "align": "auto",
  549. "displayMode": "auto"
  550. },
  551. "mappings": [],
  552. "thresholds": {
  553. "mode": "absolute",
  554. "steps": [
  555. {
  556. "color": "green",
  557. "value": null
  558. },
  559. {
  560. "color": "red",
  561. "value": 80
  562. }
  563. ]
  564. }
  565. },
  566. "overrides": [
  567. {
  568. "matcher": {
  569. "id": "byName",
  570. "options": "OverProvision"
  571. },
  572. "properties": [
  573. {
  574. "id": "custom.width",
  575. "value": 141
  576. }
  577. ]
  578. },
  579. {
  580. "matcher": {
  581. "id": "byName",
  582. "options": "location"
  583. },
  584. "properties": [
  585. {
  586. "id": "custom.width",
  587. "value": 90
  588. }
  589. ]
  590. },
  591. {
  592. "matcher": {
  593. "id": "byName",
  594. "options": "Size"
  595. },
  596. "properties": [
  597. {
  598. "id": "custom.width",
  599. "value": 154
  600. }
  601. ]
  602. },
  603. {
  604. "matcher": {
  605. "id": "byName",
  606. "options": "Capacity"
  607. },
  608. "properties": [
  609. {
  610. "id": "custom.width",
  611. "value": 118
  612. }
  613. ]
  614. },
  615. {
  616. "matcher": {
  617. "id": "byName",
  618. "options": "OSType"
  619. },
  620. "properties": [
  621. {
  622. "id": "custom.width",
  623. "value": 115
  624. }
  625. ]
  626. },
  627. {
  628. "matcher": {
  629. "id": "byName",
  630. "options": "UpgradeMode"
  631. },
  632. "properties": [
  633. {
  634. "id": "custom.width",
  635. "value": 157
  636. }
  637. ]
  638. },
  639. {
  640. "matcher": {
  641. "id": "byName",
  642. "options": "resourceGroup"
  643. },
  644. "properties": [
  645. {
  646. "id": "custom.width",
  647. "value": 281
  648. }
  649. ]
  650. }
  651. ]
  652. },
  653. "gridPos": {
  654. "h": 4,
  655. "w": 24,
  656. "x": 0,
  657. "y": 8
  658. },
  659. "id": 15,
  660. "options": {
  661. "showHeader": true,
  662. "sortBy": []
  663. },
  664. "pluginVersion": "8.0.5",
  665. "targets": [
  666. {
  667. "account": "",
  668. "appInsights": {
  669. "dimension": [],
  670. "metricName": "select",
  671. "timeGrain": "auto"
  672. },
  673. "azureLogAnalytics": {
  674. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  675. "resultFormat": "time_series",
  676. "workspace": ""
  677. },
  678. "azureMonitor": {
  679. "aggOptions": [],
  680. "dimensionFilter": "*",
  681. "dimensionFilters": [],
  682. "timeGrain": "auto",
  683. "timeGrains": [],
  684. "top": "10"
  685. },
  686. "azureResourceGraph": {
  687. "query": "resources \r\n| where type has 'microsoft.compute/virtualmachinescalesets'\r\n| extend Size = sku.name\r\n| extend Capacity = sku.capacity\r\n| extend UpgradeMode = properties.upgradePolicy.mode\r\n| extend OSType = properties.virtualMachineProfile.storageProfile.osDisk.osType\r\n| extend OS = properties.virtualMachineProfile.storageProfile.imageReference.offer\r\n| extend OSVersion = properties.virtualMachineProfile.storageProfile.imageReference.sku\r\n| extend OverProvision = properties.overprovision\r\n| extend ZoneBalance = properties.zoneBalance\r\n| extend Details = pack_all()\r\n| project VMSS = id, location, resourceGroup, subscriptionId, Size, Capacity, OSType, UpgradeMode, OverProvision, Details",
  688. "resultFormat": "table"
  689. },
  690. "backends": [],
  691. "dimension": "",
  692. "environment": "prod",
  693. "insightsAnalytics": {
  694. "query": "",
  695. "resultFormat": "time_series"
  696. },
  697. "metric": "",
  698. "namespace": "",
  699. "queryType": "Azure Resource Graph",
  700. "refId": "A",
  701. "samplingType": "",
  702. "service": "metric",
  703. "subscriptions": ["$subscriprions"],
  704. "useBackends": false,
  705. "useCustomSeriesNaming": false
  706. }
  707. ],
  708. "title": "VM Scale Sets",
  709. "type": "table"
  710. },
  711. {
  712. "datasource": "${ds}",
  713. "fieldConfig": {
  714. "defaults": {
  715. "color": {
  716. "mode": "thresholds"
  717. },
  718. "custom": {
  719. "align": "auto",
  720. "displayMode": "auto"
  721. },
  722. "mappings": [],
  723. "thresholds": {
  724. "mode": "absolute",
  725. "steps": [
  726. {
  727. "color": "green",
  728. "value": null
  729. },
  730. {
  731. "color": "red",
  732. "value": 80
  733. }
  734. ]
  735. }
  736. },
  737. "overrides": []
  738. },
  739. "gridPos": {
  740. "h": 13,
  741. "w": 24,
  742. "x": 0,
  743. "y": 12
  744. },
  745. "id": 17,
  746. "options": {
  747. "showHeader": true
  748. },
  749. "pluginVersion": "8.0.5",
  750. "targets": [
  751. {
  752. "account": "",
  753. "appInsights": {
  754. "dimension": [],
  755. "metricName": "select",
  756. "timeGrain": "auto"
  757. },
  758. "azureLogAnalytics": {
  759. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  760. "resultFormat": "time_series",
  761. "workspace": ""
  762. },
  763. "azureMonitor": {
  764. "aggOptions": [],
  765. "dimensionFilter": "*",
  766. "dimensionFilters": [],
  767. "timeGrain": "auto",
  768. "timeGrains": [],
  769. "top": "10"
  770. },
  771. "azureResourceGraph": {
  772. "query": "Resources \r\n| where type == \"microsoft.compute/virtualmachines\"\r\n| extend vmID = tolower(id)\r\n| extend osDiskId= tolower(tostring(properties.storageProfile.osDisk.managedDisk.id))\r\n | join kind=leftouter(resources\r\n | where type =~ 'microsoft.compute/disks'\r\n | where properties !has 'Unattached'\r\n | where properties has 'osType'\r\n | project timeCreated = tostring(properties.timeCreated), OS = tostring(properties.osType), osSku = tostring(sku.name), osDiskSizeGB = toint(properties.diskSizeGB), osDiskId=tolower(tostring(id))) on osDiskId\r\n | join kind=leftouter(resources\r\n\t\t\t| where type =~ 'microsoft.compute/availabilitysets'\r\n\t\t\t| extend VirtualMachines = array_length(properties.virtualMachines)\r\n\t\t\t| mv-expand VirtualMachine=properties.virtualMachines\r\n\t\t\t| extend FaultDomainCount = properties.platformFaultDomainCount\r\n\t\t\t| extend UpdateDomainCount = properties.platformUpdateDomainCount\r\n\t\t\t| extend vmID = tolower(VirtualMachine.id)\r\n\t\t\t| project AvailabilitySetID = id, vmID, FaultDomainCount, UpdateDomainCount ) on vmID\r\n\t\t| join kind=leftouter(resources\r\n\t\t\t| where type =~ 'microsoft.sqlvirtualmachine/sqlvirtualmachines'\r\n\t\t\t| extend SQLLicense = properties.sqlServerLicenseType\r\n\t\t\t| extend SQLImage = properties.sqlImageOffer\r\n\t\t\t| extend SQLSku = properties.sqlImageSku\r\n\t\t\t| extend SQLManagement = properties.sqlManagement\r\n\t\t\t| extend vmID = tostring(tolower(properties.virtualMachineResourceId))\r\n\t\t\t| project SQLId=id, SQLLicense, SQLImage, SQLSku, SQLManagement, vmID ) on vmID\r\n| project-away vmID1, vmID2, osDiskId1\r\n| extend Details = pack_all()\r\n| project vmID, SQLId, AvailabilitySetID, OS, resourceGroup, location, subscriptionId, SQLLicense, SQLImage,SQLSku, SQLManagement, FaultDomainCount, UpdateDomainCount, Details",
  773. "resultFormat": "table"
  774. },
  775. "backends": [],
  776. "dimension": "",
  777. "environment": "prod",
  778. "insightsAnalytics": {
  779. "query": "",
  780. "resultFormat": "time_series"
  781. },
  782. "metric": "",
  783. "namespace": "",
  784. "queryType": "Azure Resource Graph",
  785. "refId": "A",
  786. "samplingType": "",
  787. "service": "metric",
  788. "subscriptions": ["$subscriprions"],
  789. "useBackends": false,
  790. "useCustomSeriesNaming": false
  791. }
  792. ],
  793. "title": "VM Overview",
  794. "type": "table"
  795. },
  796. {
  797. "datasource": "${ds}",
  798. "fieldConfig": {
  799. "defaults": {
  800. "color": {
  801. "mode": "thresholds"
  802. },
  803. "custom": {
  804. "align": "auto",
  805. "displayMode": "auto"
  806. },
  807. "mappings": [],
  808. "thresholds": {
  809. "mode": "absolute",
  810. "steps": [
  811. {
  812. "color": "green",
  813. "value": null
  814. },
  815. {
  816. "color": "red",
  817. "value": 80
  818. }
  819. ]
  820. }
  821. },
  822. "overrides": []
  823. },
  824. "gridPos": {
  825. "h": 13,
  826. "w": 24,
  827. "x": 0,
  828. "y": 25
  829. },
  830. "id": 18,
  831. "options": {
  832. "showHeader": true
  833. },
  834. "pluginVersion": "8.0.5",
  835. "targets": [
  836. {
  837. "account": "",
  838. "appInsights": {
  839. "dimension": [],
  840. "metricName": "select",
  841. "timeGrain": "auto"
  842. },
  843. "azureLogAnalytics": {
  844. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  845. "resultFormat": "time_series",
  846. "workspace": ""
  847. },
  848. "azureMonitor": {
  849. "aggOptions": [],
  850. "dimensionFilter": "*",
  851. "dimensionFilters": [],
  852. "timeGrain": "auto",
  853. "timeGrains": [],
  854. "top": "10"
  855. },
  856. "azureResourceGraph": {
  857. "query": "Resources \r\n| where type == \"microsoft.compute/virtualmachines\"\r\n| extend osDiskId= tolower(tostring(properties.storageProfile.osDisk.managedDisk.id))\r\n | join kind=leftouter(resources\r\n | where type =~ 'microsoft.compute/disks'\r\n | where properties !has 'Unattached'\r\n | where properties has 'osType'\r\n | project timeCreated = tostring(properties.timeCreated), OS = tostring(properties.osType), osSku = tostring(sku.name), osDiskSizeGB = toint(properties.diskSizeGB), osDiskId=tolower(tostring(id))) on osDiskId\r\n | join kind=leftouter(Resources\r\n | where type =~ 'microsoft.compute/disks'\r\n | where properties !has \"osType\"\r\n | where properties !has 'Unattached'\r\n | project sku = tostring(sku.name), diskSizeGB = toint(properties.diskSizeGB), id = managedBy\r\n | summarize sum(diskSizeGB), count(sku) by id, sku) on id\r\n| project vmId=id, OS, location, resourceGroup, timeCreated,subscriptionId, osDiskId, osSku, osDiskSizeGB, DataDisksGB=sum_diskSizeGB, diskSkuCount=count_sku\r\n| sort by diskSkuCount desc",
  858. "resultFormat": "table"
  859. },
  860. "backends": [],
  861. "dimension": "",
  862. "environment": "prod",
  863. "insightsAnalytics": {
  864. "query": "",
  865. "resultFormat": "time_series"
  866. },
  867. "metric": "",
  868. "namespace": "",
  869. "queryType": "Azure Resource Graph",
  870. "refId": "A",
  871. "samplingType": "",
  872. "service": "metric",
  873. "subscriptions": ["$subscriprions"],
  874. "useBackends": false,
  875. "useCustomSeriesNaming": false
  876. }
  877. ],
  878. "title": "VM Storage",
  879. "type": "table"
  880. },
  881. {
  882. "datasource": "${ds}",
  883. "fieldConfig": {
  884. "defaults": {
  885. "color": {
  886. "mode": "thresholds"
  887. },
  888. "custom": {
  889. "align": "auto",
  890. "displayMode": "auto"
  891. },
  892. "mappings": [],
  893. "thresholds": {
  894. "mode": "absolute",
  895. "steps": [
  896. {
  897. "color": "green",
  898. "value": null
  899. },
  900. {
  901. "color": "red",
  902. "value": 80
  903. }
  904. ]
  905. }
  906. },
  907. "overrides": []
  908. },
  909. "gridPos": {
  910. "h": 13,
  911. "w": 24,
  912. "x": 0,
  913. "y": 38
  914. },
  915. "id": 19,
  916. "options": {
  917. "showHeader": true
  918. },
  919. "pluginVersion": "8.0.5",
  920. "targets": [
  921. {
  922. "account": "",
  923. "appInsights": {
  924. "dimension": [],
  925. "metricName": "select",
  926. "timeGrain": "auto"
  927. },
  928. "azureLogAnalytics": {
  929. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  930. "resultFormat": "time_series",
  931. "workspace": ""
  932. },
  933. "azureMonitor": {
  934. "aggOptions": [],
  935. "dimensionFilter": "*",
  936. "dimensionFilters": [],
  937. "timeGrain": "auto",
  938. "timeGrains": [],
  939. "top": "10"
  940. },
  941. "azureResourceGraph": {
  942. "query": "Resources\r\n| where type =~ 'microsoft.compute/virtualmachines'\r\n| extend nics=array_length(properties.networkProfile.networkInterfaces)\r\n| mv-expand nic=properties.networkProfile.networkInterfaces\r\n| where nics == 1 or nic.properties.primary =~ 'true' or isempty(nic)\r\n| project vmId = id, vmName = name, vmSize=tostring(properties.hardwareProfile.vmSize), nicId = tostring(nic.id)\r\n\t| join kind=leftouter (\r\n \t\tResources\r\n \t\t| where type =~ 'microsoft.network/networkinterfaces'\r\n \t\t| extend ipConfigsCount=array_length(properties.ipConfigurations)\r\n \t\t| mv-expand ipconfig=properties.ipConfigurations\r\n \t\t| where ipConfigsCount == 1 or ipconfig.properties.primary =~ 'true'\r\n \t\t| project nicId = id, privateIP= tostring(ipconfig.properties.privateIPAddress), publicIpId = tostring(ipconfig.properties.publicIPAddress.id), subscriptionId) on nicId\r\n| project-away nicId1\r\n| summarize by vmId, vmSize, nicId, privateIP, publicIpId, subscriptionId\r\n\t| join kind=leftouter (\r\n \t\tResources\r\n \t\t| where type =~ 'microsoft.network/publicipaddresses'\r\n \t\t| project publicIpId = id, publicIpAddress = tostring(properties.ipAddress)) on publicIpId\r\n| project-away publicIpId1\r\n| sort by publicIpAddress desc",
  943. "resultFormat": "table"
  944. },
  945. "backends": [],
  946. "dimension": "",
  947. "environment": "prod",
  948. "insightsAnalytics": {
  949. "query": "",
  950. "resultFormat": "time_series"
  951. },
  952. "metric": "",
  953. "namespace": "",
  954. "queryType": "Azure Resource Graph",
  955. "refId": "A",
  956. "samplingType": "",
  957. "service": "metric",
  958. "subscriptions": ["$subscriprions"],
  959. "useBackends": false,
  960. "useCustomSeriesNaming": false
  961. }
  962. ],
  963. "title": "VM Networking",
  964. "type": "table"
  965. },
  966. {
  967. "datasource": "${ds}",
  968. "fieldConfig": {
  969. "defaults": {
  970. "color": {
  971. "mode": "thresholds"
  972. },
  973. "custom": {
  974. "align": "auto",
  975. "displayMode": "auto"
  976. },
  977. "mappings": [],
  978. "thresholds": {
  979. "mode": "absolute",
  980. "steps": [
  981. {
  982. "color": "green",
  983. "value": null
  984. },
  985. {
  986. "color": "red",
  987. "value": 80
  988. }
  989. ]
  990. }
  991. },
  992. "overrides": []
  993. },
  994. "gridPos": {
  995. "h": 13,
  996. "w": 24,
  997. "x": 0,
  998. "y": 51
  999. },
  1000. "id": 21,
  1001. "options": {
  1002. "showHeader": true
  1003. },
  1004. "pluginVersion": "8.0.5",
  1005. "targets": [
  1006. {
  1007. "account": "",
  1008. "appInsights": {
  1009. "dimension": [],
  1010. "metricName": "select",
  1011. "timeGrain": "auto"
  1012. },
  1013. "azureLogAnalytics": {
  1014. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  1015. "resultFormat": "time_series",
  1016. "workspace": ""
  1017. },
  1018. "azureMonitor": {
  1019. "aggOptions": [],
  1020. "dimensionFilter": "*",
  1021. "dimensionFilters": [],
  1022. "timeGrain": "auto",
  1023. "timeGrains": [],
  1024. "top": "10"
  1025. },
  1026. "azureResourceGraph": {
  1027. "query": "Resources \r\n| where type contains \"microsoft.compute/disks\" \r\n| extend diskState = tostring(properties.diskState)\r\n| where managedBy == \"\"\r\n or diskState == 'Unattached'\r\n| project id, diskState, resourceGroup, location, subscriptionId",
  1028. "resultFormat": "table"
  1029. },
  1030. "backends": [],
  1031. "dimension": "",
  1032. "environment": "prod",
  1033. "insightsAnalytics": {
  1034. "query": "",
  1035. "resultFormat": "time_series"
  1036. },
  1037. "metric": "",
  1038. "namespace": "",
  1039. "queryType": "Azure Resource Graph",
  1040. "refId": "A",
  1041. "samplingType": "",
  1042. "service": "metric",
  1043. "subscriptions": ["$subscriprions"],
  1044. "useBackends": false,
  1045. "useCustomSeriesNaming": false
  1046. }
  1047. ],
  1048. "title": "Orphaned Disks",
  1049. "type": "table"
  1050. },
  1051. {
  1052. "datasource": "${ds}",
  1053. "fieldConfig": {
  1054. "defaults": {
  1055. "color": {
  1056. "mode": "thresholds"
  1057. },
  1058. "custom": {
  1059. "align": "auto",
  1060. "displayMode": "auto"
  1061. },
  1062. "mappings": [],
  1063. "thresholds": {
  1064. "mode": "absolute",
  1065. "steps": [
  1066. {
  1067. "color": "green",
  1068. "value": null
  1069. },
  1070. {
  1071. "color": "red",
  1072. "value": 80
  1073. }
  1074. ]
  1075. }
  1076. },
  1077. "overrides": []
  1078. },
  1079. "gridPos": {
  1080. "h": 13,
  1081. "w": 24,
  1082. "x": 0,
  1083. "y": 64
  1084. },
  1085. "id": 20,
  1086. "options": {
  1087. "showHeader": true
  1088. },
  1089. "pluginVersion": "8.0.5",
  1090. "targets": [
  1091. {
  1092. "account": "",
  1093. "appInsights": {
  1094. "dimension": [],
  1095. "metricName": "select",
  1096. "timeGrain": "auto"
  1097. },
  1098. "azureLogAnalytics": {
  1099. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  1100. "resultFormat": "time_series",
  1101. "workspace": ""
  1102. },
  1103. "azureMonitor": {
  1104. "aggOptions": [],
  1105. "dimensionFilter": "*",
  1106. "dimensionFilters": [],
  1107. "timeGrain": "auto",
  1108. "timeGrains": [],
  1109. "top": "10"
  1110. },
  1111. "azureResourceGraph": {
  1112. "query": "resources\r\n| where type =~ \"microsoft.network/networkinterfaces\"\r\n| join kind=leftouter (resources\r\n| where type =~ 'microsoft.network/privateendpoints'\r\n| extend nic = todynamic(properties.networkInterfaces)\r\n| mv-expand nic\r\n| project id=tostring(nic.id) ) on id\r\n| where isempty(id1)\r\n| where properties !has 'virtualmachine'\r\n| project id, resourceGroup, location, subscriptionId",
  1113. "resultFormat": "table"
  1114. },
  1115. "backends": [],
  1116. "dimension": "",
  1117. "environment": "prod",
  1118. "insightsAnalytics": {
  1119. "query": "",
  1120. "resultFormat": "time_series"
  1121. },
  1122. "metric": "",
  1123. "namespace": "",
  1124. "queryType": "Azure Resource Graph",
  1125. "refId": "A",
  1126. "samplingType": "",
  1127. "service": "metric",
  1128. "subscriptions": ["$subscriprions"],
  1129. "useBackends": false,
  1130. "useCustomSeriesNaming": false
  1131. }
  1132. ],
  1133. "title": "Orphaned NICs",
  1134. "type": "table"
  1135. },
  1136. {
  1137. "datasource": "${ds}",
  1138. "fieldConfig": {
  1139. "defaults": {
  1140. "color": {
  1141. "mode": "thresholds"
  1142. },
  1143. "custom": {
  1144. "align": "auto",
  1145. "displayMode": "auto"
  1146. },
  1147. "mappings": [],
  1148. "thresholds": {
  1149. "mode": "absolute",
  1150. "steps": [
  1151. {
  1152. "color": "green",
  1153. "value": null
  1154. },
  1155. {
  1156. "color": "red",
  1157. "value": 80
  1158. }
  1159. ]
  1160. }
  1161. },
  1162. "overrides": []
  1163. },
  1164. "gridPos": {
  1165. "h": 13,
  1166. "w": 24,
  1167. "x": 0,
  1168. "y": 77
  1169. },
  1170. "id": 26,
  1171. "options": {
  1172. "showHeader": true
  1173. },
  1174. "pluginVersion": "8.0.5",
  1175. "targets": [
  1176. {
  1177. "account": "",
  1178. "appInsights": {
  1179. "dimension": [],
  1180. "metricName": "select",
  1181. "timeGrain": "auto"
  1182. },
  1183. "azureLogAnalytics": {
  1184. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  1185. "resultFormat": "time_series",
  1186. "workspace": ""
  1187. },
  1188. "azureMonitor": {
  1189. "aggOptions": [],
  1190. "dimensionFilter": "*",
  1191. "dimensionFilters": [],
  1192. "timeGrain": "auto",
  1193. "timeGrains": [],
  1194. "top": "10"
  1195. },
  1196. "azureResourceGraph": {
  1197. "query": "where type == \"microsoft.hybridcompute/machines\"\r\n| project MachineId=id, status = properties.status, \r\n\t\t\t LastSeen = properties.lastStatusChange, \r\n\t\t\t FQDN = properties.machineFqdn, \r\n\t\t\t OS = properties.osName, \r\n\t\t\t ServerVersion = properties.osVersion\r\n| extend ServerVersion = case(\r\n ServerVersion has '10.0.17763', 'Server 2019',\r\n ServerVersion has '10.0.16299', 'Server 2016',\r\n ServerVersion has '10.0.14393', 'Server 2016',\r\n ServerVersion has '6.3.9600', 'Server 2012 R2',\r\n\tServerVersion)",
  1198. "resultFormat": "table"
  1199. },
  1200. "backends": [],
  1201. "dimension": "",
  1202. "environment": "prod",
  1203. "insightsAnalytics": {
  1204. "query": "",
  1205. "resultFormat": "time_series"
  1206. },
  1207. "metric": "",
  1208. "namespace": "",
  1209. "queryType": "Azure Resource Graph",
  1210. "refId": "A",
  1211. "samplingType": "",
  1212. "service": "metric",
  1213. "subscriptions": ["$subscriprions"],
  1214. "useBackends": false,
  1215. "useCustomSeriesNaming": false
  1216. }
  1217. ],
  1218. "title": "Hybrid Compute",
  1219. "type": "table"
  1220. }
  1221. ],
  1222. "title": "Compute",
  1223. "type": "row"
  1224. },
  1225. {
  1226. "collapsed": true,
  1227. "datasource": null,
  1228. "gridPos": {
  1229. "h": 1,
  1230. "w": 24,
  1231. "x": 0,
  1232. "y": 23
  1233. },
  1234. "id": 23,
  1235. "panels": [
  1236. {
  1237. "datasource": "${ds}",
  1238. "fieldConfig": {
  1239. "defaults": {
  1240. "color": {
  1241. "mode": "thresholds"
  1242. },
  1243. "mappings": [],
  1244. "thresholds": {
  1245. "mode": "absolute",
  1246. "steps": [
  1247. {
  1248. "color": "green",
  1249. "value": null
  1250. },
  1251. {
  1252. "color": "red",
  1253. "value": 80
  1254. }
  1255. ]
  1256. }
  1257. },
  1258. "overrides": []
  1259. },
  1260. "gridPos": {
  1261. "h": 10,
  1262. "w": 6,
  1263. "x": 0,
  1264. "y": 3
  1265. },
  1266. "id": 25,
  1267. "options": {
  1268. "colorMode": "value",
  1269. "graphMode": "area",
  1270. "justifyMode": "auto",
  1271. "orientation": "auto",
  1272. "reduceOptions": {
  1273. "calcs": ["lastNotNull"],
  1274. "fields": "",
  1275. "values": true
  1276. },
  1277. "text": {},
  1278. "textMode": "auto"
  1279. },
  1280. "pluginVersion": "8.2.0-pre",
  1281. "targets": [
  1282. {
  1283. "account": "",
  1284. "appInsights": {
  1285. "dimension": [],
  1286. "metricName": "select",
  1287. "timeGrain": "auto"
  1288. },
  1289. "azureLogAnalytics": {
  1290. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  1291. "resultFormat": "time_series",
  1292. "workspace": ""
  1293. },
  1294. "azureMonitor": {
  1295. "aggOptions": [],
  1296. "dimensionFilter": "*",
  1297. "dimensionFilters": [],
  1298. "timeGrain": "auto",
  1299. "timeGrains": [],
  1300. "top": "10"
  1301. },
  1302. "azureResourceGraph": {
  1303. "query": "resources\r\n| where type has 'microsoft.automation'\r\n\tor type has 'microsoft.logic'\r\n\tor type has 'microsoft.web/customapis'\r\n| extend type = case(\r\n\ttype =~ 'microsoft.automation/automationaccounts', 'Automation Accounts',\r\n\ttype == 'microsoft.web/serverfarms', \"App Service Plans\",\r\n\tkind == 'functionapp', \"Azure Functions\", \r\n\tkind == \"api\", \"API Apps\", \r\n\ttype == 'microsoft.web/sites', \"App Services\",\r\n\ttype =~ 'microsoft.web/connections', 'LogicApp Connectors',\r\n\ttype =~ 'microsoft.web/customapis','LogicApp API Connectors',\r\n\ttype =~ 'microsoft.logic/workflows','LogicApps',\r\n type =~ 'microsoft.logic/integrationaccounts', 'Integration Accounts',\r\n\ttype =~ 'microsoft.automation/automationaccounts/runbooks', 'Automation Runbooks',\r\n type =~ 'microsoft.automation/automationaccounts/configurations', 'Automation Configurations',\r\nstrcat(\"Not Translated: \", type))\r\n| summarize count() by type\r\n| where type !has \"Not Translated\"",
  1304. "resultFormat": "table"
  1305. },
  1306. "backends": [],
  1307. "dimension": "",
  1308. "environment": "prod",
  1309. "insightsAnalytics": {
  1310. "query": "",
  1311. "resultFormat": "time_series"
  1312. },
  1313. "metric": "",
  1314. "namespace": "",
  1315. "queryType": "Azure Resource Graph",
  1316. "refId": "A",
  1317. "samplingType": "",
  1318. "service": "metric",
  1319. "subscriptions": ["$subscriprions"],
  1320. "useBackends": false,
  1321. "useCustomSeriesNaming": false
  1322. }
  1323. ],
  1324. "title": "Animation Overview",
  1325. "type": "stat"
  1326. },
  1327. {
  1328. "datasource": "${ds}",
  1329. "fieldConfig": {
  1330. "defaults": {
  1331. "color": {
  1332. "mode": "thresholds"
  1333. },
  1334. "custom": {
  1335. "align": "auto",
  1336. "displayMode": "auto"
  1337. },
  1338. "mappings": [],
  1339. "thresholds": {
  1340. "mode": "absolute",
  1341. "steps": [
  1342. {
  1343. "color": "green",
  1344. "value": null
  1345. },
  1346. {
  1347. "color": "red",
  1348. "value": 80
  1349. }
  1350. ]
  1351. }
  1352. },
  1353. "overrides": []
  1354. },
  1355. "gridPos": {
  1356. "h": 10,
  1357. "w": 18,
  1358. "x": 6,
  1359. "y": 3
  1360. },
  1361. "id": 27,
  1362. "options": {
  1363. "showHeader": true
  1364. },
  1365. "pluginVersion": "8.2.0-pre",
  1366. "targets": [
  1367. {
  1368. "account": "",
  1369. "appInsights": {
  1370. "dimension": [],
  1371. "metricName": "select",
  1372. "timeGrain": "auto"
  1373. },
  1374. "azureLogAnalytics": {
  1375. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  1376. "resultFormat": "time_series",
  1377. "workspace": ""
  1378. },
  1379. "azureMonitor": {
  1380. "aggOptions": [],
  1381. "dimensionFilter": "*",
  1382. "dimensionFilters": [],
  1383. "timeGrain": "auto",
  1384. "timeGrains": [],
  1385. "top": "10"
  1386. },
  1387. "azureResourceGraph": {
  1388. "query": "resources\r\n| where type has 'microsoft.automation'\r\n\t or type has 'microsoft.logic'\r\n\t or type has 'microsoft.web/customapis'\r\n| extend type = case(\r\n\ttype =~ 'microsoft.automation/automationaccounts', 'Automation Accounts',\r\n\ttype =~ 'microsoft.web/connections', 'LogicApp Connectors',\r\n\ttype =~ 'microsoft.web/customapis','LogicApp API Connectors',\r\n\ttype =~ 'microsoft.logic/workflows','LogicApps',\r\n type =~ 'microsoft.logic/integrationaccounts', 'Integration Accounts',\r\n\ttype =~ 'microsoft.automation/automationaccounts/runbooks', 'Automation Runbooks',\r\n\ttype =~ 'microsoft.automation/automationaccounts/configurations', 'Automation Configurations',\r\n\tstrcat(\"Not Translated: \", type))\r\n| extend RunbookType = tostring(properties.runbookType)\r\n| extend LogicAppTrigger = properties.definition.triggers\r\n| extend LogicAppTrigger = iif(type =~ 'LogicApps', case(\r\n\tLogicAppTrigger has 'manual', tostring(LogicAppTrigger.manual.type),\r\n\tLogicAppTrigger has 'Recurrence', tostring(LogicAppTrigger.Recurrence.type),\r\n LogicAppTrigger has 'When_an_Azure_Security_Center_Alert', 'Azure Security Center Alert',\r\n LogicAppTrigger has 'When_an_Azure_Security_Center_Recommendation', 'Azure Security Center Recommendation',\r\n LogicAppTrigger has 'When_a_response_to_an_Azure_Sentinel_alert', 'Azure Sentinel Alert',\r\n LogicAppTrigger has 'When_Azure_Sentinel_incident_creation', 'Azure Sentinel Incident',\r\n\tstrcat(\"Unknown Trigger type\", LogicAppTrigger)), LogicAppTrigger)\r\n| extend State = case(\r\n\ttype =~ 'Automation Runbooks', properties.state, \r\n\ttype =~ 'LogicApps', properties.state,\r\n\ttype =~ 'Automation Accounts', properties.state,\r\n\ttype =~ 'Automation Configurations', properties.state,\r\n\t' ')\r\n| extend CreatedDate = case(\r\n\ttype =~ 'Automation Runbooks', properties.creationTime, \r\n\ttype =~ 'LogicApps', properties.createdTime,\r\n\ttype =~ 'Automation Accounts', properties.creationTime,\r\n\ttype =~ 'Automation Configurations', properties.creationTime,\r\n\t' ')\r\n| extend LastModified = case(\r\n\ttype =~ 'Automation Runbooks', properties.lastModifiedTime, \r\n\ttype =~ 'LogicApps', properties.changedTime,\r\n\ttype =~ 'Automation Accounts', properties.lastModifiedTime,\r\n\ttype =~ 'Automation Configurations', properties.lastModifiedTime,\r\n\t' ')\r\n| extend Details = pack_all()\r\n| project Resource=id, subscriptionId, type, resourceGroup, RunbookType, LogicAppTrigger, State, Details",
  1389. "resultFormat": "table"
  1390. },
  1391. "backends": [],
  1392. "dimension": "",
  1393. "environment": "prod",
  1394. "insightsAnalytics": {
  1395. "query": "",
  1396. "resultFormat": "time_series"
  1397. },
  1398. "metric": "",
  1399. "namespace": "",
  1400. "queryType": "Azure Resource Graph",
  1401. "refId": "A",
  1402. "samplingType": "",
  1403. "service": "metric",
  1404. "subscriptions": ["$subscriprions"],
  1405. "useBackends": false,
  1406. "useCustomSeriesNaming": false
  1407. }
  1408. ],
  1409. "title": "Automation Detailed View",
  1410. "type": "table"
  1411. },
  1412. {
  1413. "datasource": "${ds}",
  1414. "fieldConfig": {
  1415. "defaults": {
  1416. "color": {
  1417. "mode": "thresholds"
  1418. },
  1419. "mappings": [],
  1420. "thresholds": {
  1421. "mode": "absolute",
  1422. "steps": [
  1423. {
  1424. "color": "green",
  1425. "value": null
  1426. },
  1427. {
  1428. "color": "red",
  1429. "value": 80
  1430. }
  1431. ]
  1432. }
  1433. },
  1434. "overrides": []
  1435. },
  1436. "gridPos": {
  1437. "h": 10,
  1438. "w": 6,
  1439. "x": 0,
  1440. "y": 13
  1441. },
  1442. "id": 28,
  1443. "options": {
  1444. "colorMode": "value",
  1445. "graphMode": "area",
  1446. "justifyMode": "auto",
  1447. "orientation": "auto",
  1448. "reduceOptions": {
  1449. "calcs": ["lastNotNull"],
  1450. "fields": "",
  1451. "values": true
  1452. },
  1453. "text": {},
  1454. "textMode": "auto"
  1455. },
  1456. "pluginVersion": "8.2.0-pre",
  1457. "targets": [
  1458. {
  1459. "account": "",
  1460. "appInsights": {
  1461. "dimension": [],
  1462. "metricName": "select",
  1463. "timeGrain": "auto"
  1464. },
  1465. "azureLogAnalytics": {
  1466. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  1467. "resultFormat": "time_series",
  1468. "workspace": ""
  1469. },
  1470. "azureMonitor": {
  1471. "aggOptions": [],
  1472. "dimensionFilter": "*",
  1473. "dimensionFilters": [],
  1474. "timeGrain": "auto",
  1475. "timeGrains": [],
  1476. "top": "10"
  1477. },
  1478. "azureResourceGraph": {
  1479. "query": "resources\r\n| where type has 'microsoft.web'\r\n\t or type =~ 'microsoft.apimanagement/service'\r\n\t or type =~ 'microsoft.network/frontdoors'\r\n\t or type =~ 'microsoft.network/applicationgateways'\r\n\t or type =~ 'microsoft.appconfiguration/configurationstores'\r\n| extend type = case(\r\n\ttype == 'microsoft.web/serverfarms', \"App Service Plans\",\r\n\tkind == 'functionapp', \"Azure Functions\", \r\n\tkind == \"api\", \"API Apps\", \r\n\ttype == 'microsoft.web/sites', \"App Services\",\r\n\ttype =~ 'microsoft.network/applicationgateways', 'App Gateways',\r\n\ttype =~ 'microsoft.network/frontdoors', 'Front Door',\r\n\ttype =~ 'microsoft.apimanagement/service', 'API Management',\r\n\ttype =~ 'microsoft.web/certificates', 'App Certificates',\r\n\ttype =~ 'microsoft.appconfiguration/configurationstores', 'App Config Stores',\r\n\tstrcat(\"Not Translated: \", type))\r\n| where type !has \"Not Translated\"\r\n| summarize count() by type",
  1480. "resultFormat": "table"
  1481. },
  1482. "backends": [],
  1483. "dimension": "",
  1484. "environment": "prod",
  1485. "insightsAnalytics": {
  1486. "query": "",
  1487. "resultFormat": "time_series"
  1488. },
  1489. "metric": "",
  1490. "namespace": "",
  1491. "queryType": "Azure Resource Graph",
  1492. "refId": "A",
  1493. "samplingType": "",
  1494. "service": "metric",
  1495. "subscriptions": ["$subscriprions"],
  1496. "useBackends": false,
  1497. "useCustomSeriesNaming": false
  1498. }
  1499. ],
  1500. "title": "Apps Overview",
  1501. "type": "stat"
  1502. },
  1503. {
  1504. "datasource": "${ds}",
  1505. "fieldConfig": {
  1506. "defaults": {
  1507. "color": {
  1508. "mode": "thresholds"
  1509. },
  1510. "custom": {
  1511. "align": "auto",
  1512. "displayMode": "auto"
  1513. },
  1514. "mappings": [],
  1515. "thresholds": {
  1516. "mode": "absolute",
  1517. "steps": [
  1518. {
  1519. "color": "green",
  1520. "value": null
  1521. },
  1522. {
  1523. "color": "red",
  1524. "value": 80
  1525. }
  1526. ]
  1527. }
  1528. },
  1529. "overrides": []
  1530. },
  1531. "gridPos": {
  1532. "h": 10,
  1533. "w": 18,
  1534. "x": 6,
  1535. "y": 13
  1536. },
  1537. "id": 29,
  1538. "options": {
  1539. "showHeader": true
  1540. },
  1541. "pluginVersion": "8.2.0-pre",
  1542. "targets": [
  1543. {
  1544. "account": "",
  1545. "appInsights": {
  1546. "dimension": [],
  1547. "metricName": "select",
  1548. "timeGrain": "auto"
  1549. },
  1550. "azureLogAnalytics": {
  1551. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  1552. "resultFormat": "time_series",
  1553. "workspace": ""
  1554. },
  1555. "azureMonitor": {
  1556. "aggOptions": [],
  1557. "dimensionFilter": "*",
  1558. "dimensionFilters": [],
  1559. "timeGrain": "auto",
  1560. "timeGrains": [],
  1561. "top": "10"
  1562. },
  1563. "azureResourceGraph": {
  1564. "query": "resources\r\n| where type has 'microsoft.web'\r\n\t or type =~ 'microsoft.apimanagement/service'\r\n\t or type =~ 'microsoft.network/frontdoors'\r\n\t or type =~ 'microsoft.network/applicationgateways'\r\n\t or type =~ 'microsoft.appconfiguration/configurationstores'\r\n| extend type = case(\r\n\ttype == 'microsoft.web/serverfarms', \"App Service Plans\",\r\n\tkind == 'functionapp', \"Azure Functions\", \r\n\tkind == \"api\", \"API Apps\", \r\n\ttype == 'microsoft.web/sites', \"App Services\",\r\n\ttype =~ 'microsoft.network/applicationgateways', 'App Gateways',\r\n\ttype =~ 'microsoft.network/frontdoors', 'Front Door',\r\n\ttype =~ 'microsoft.apimanagement/service', 'API Management',\r\n\ttype =~ 'microsoft.web/certificates', 'App Certificates',\r\n\ttype =~ 'microsoft.appconfiguration/configurationstores', 'App Config Stores',\r\n\tstrcat(\"Not Translated: \", type))\r\n| where type !has \"Not Translated\"\r\n| extend Sku = case(\r\n\ttype =~ 'App Gateways', properties.sku.name, \r\n\ttype =~ 'Azure Functions', properties.sku,\r\n\ttype =~ 'API Management', sku.name,\r\n\ttype =~ 'App Service Plans', sku.name,\r\n\ttype =~ 'App Services', properties.sku,\r\n\ttype =~ 'App Config Stores', sku.name,\r\n\t' ')\r\n| extend State = case(\r\n\ttype =~ 'App Config Stores', properties.provisioningState,\r\n\ttype =~ 'App Service Plans', properties.status,\r\n\ttype =~ 'Azure Functions', properties.enabled,\r\n\ttype =~ 'App Services', properties.state,\r\n\ttype =~ 'API Management', properties.provisioningState,\r\n\ttype =~ 'App Gateways', properties.provisioningState,\r\n\ttype =~ 'Front Door', properties.provisioningState,\r\n\t' ')\r\n| mv-expand publicIpId=properties.frontendIPConfigurations\r\n| mv-expand publicIpId = publicIpId.properties.publicIPAddress.id\r\n| extend publicIpId = tostring(publicIpId)\r\n\t| join kind=leftouter(\r\n\t \tResources\r\n \t\t| where type =~ 'microsoft.network/publicipaddresses'\r\n \t\t| project publicIpId = id, publicIpAddress = tostring(properties.ipAddress)) on publicIpId\r\n| extend PublicIP = case(\r\n\ttype =~ 'API Management', properties.publicIPAddresses,\r\n\ttype =~ 'App Gateways', publicIpAddress,\r\n\t' ')\r\n| extend Details = pack_all()\r\n| project Resource=id, type, subscriptionId, Sku, State, PublicIP, Details",
  1565. "resultFormat": "table"
  1566. },
  1567. "backends": [],
  1568. "dimension": "",
  1569. "environment": "prod",
  1570. "insightsAnalytics": {
  1571. "query": "",
  1572. "resultFormat": "time_series"
  1573. },
  1574. "metric": "",
  1575. "namespace": "",
  1576. "queryType": "Azure Resource Graph",
  1577. "refId": "A",
  1578. "samplingType": "",
  1579. "service": "metric",
  1580. "subscriptions": ["$subscriprions"],
  1581. "useBackends": false,
  1582. "useCustomSeriesNaming": false
  1583. }
  1584. ],
  1585. "title": "Apps Detailed View",
  1586. "type": "table"
  1587. },
  1588. {
  1589. "datasource": "${ds}",
  1590. "fieldConfig": {
  1591. "defaults": {
  1592. "color": {
  1593. "mode": "thresholds"
  1594. },
  1595. "mappings": [],
  1596. "thresholds": {
  1597. "mode": "absolute",
  1598. "steps": [
  1599. {
  1600. "color": "green",
  1601. "value": null
  1602. },
  1603. {
  1604. "color": "red",
  1605. "value": 80
  1606. }
  1607. ]
  1608. }
  1609. },
  1610. "overrides": []
  1611. },
  1612. "gridPos": {
  1613. "h": 10,
  1614. "w": 6,
  1615. "x": 0,
  1616. "y": 23
  1617. },
  1618. "id": 30,
  1619. "options": {
  1620. "colorMode": "value",
  1621. "graphMode": "area",
  1622. "justifyMode": "auto",
  1623. "orientation": "auto",
  1624. "reduceOptions": {
  1625. "calcs": ["lastNotNull"],
  1626. "fields": "",
  1627. "values": true
  1628. },
  1629. "text": {},
  1630. "textMode": "auto"
  1631. },
  1632. "pluginVersion": "8.2.0-pre",
  1633. "targets": [
  1634. {
  1635. "account": "",
  1636. "appInsights": {
  1637. "dimension": [],
  1638. "metricName": "select",
  1639. "timeGrain": "auto"
  1640. },
  1641. "azureLogAnalytics": {
  1642. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  1643. "resultFormat": "time_series",
  1644. "workspace": ""
  1645. },
  1646. "azureMonitor": {
  1647. "aggOptions": [],
  1648. "dimensionFilter": "*",
  1649. "dimensionFilters": [],
  1650. "timeGrain": "auto",
  1651. "timeGrains": [],
  1652. "top": "10"
  1653. },
  1654. "azureResourceGraph": {
  1655. "query": "resources\r\n| where type has 'microsoft.servicebus'\r\n\tor type has 'microsoft.eventhub'\r\n\tor type has 'microsoft.eventgrid'\r\n\tor type has 'microsoft.relay'\r\n| extend type = case(\r\n\ttype == 'microsoft.eventgrid/systemtopics', \"EventGrid System Topics\",\r\n\ttype =~ \"microsoft.eventgrid/topics\", \"EventGrid Topics\",\r\n\ttype =~ 'microsoft.eventhub/namespaces', \"EventHub Namespaces\",\r\n\ttype =~ 'microsoft.servicebus/namespaces', 'ServiceBus Namespaces',\r\n\ttype =~ 'microsoft.relay/namespaces', 'Relays',\r\n\tstrcat(\"Not Translated: \", type))\r\n| where type !has \"Not Translated\"\r\n| summarize count() by type",
  1656. "resultFormat": "table"
  1657. },
  1658. "backends": [],
  1659. "dimension": "",
  1660. "environment": "prod",
  1661. "insightsAnalytics": {
  1662. "query": "",
  1663. "resultFormat": "time_series"
  1664. },
  1665. "metric": "",
  1666. "namespace": "",
  1667. "queryType": "Azure Resource Graph",
  1668. "refId": "A",
  1669. "samplingType": "",
  1670. "service": "metric",
  1671. "subscriptions": ["$subscriprions"],
  1672. "useBackends": false,
  1673. "useCustomSeriesNaming": false
  1674. }
  1675. ],
  1676. "title": "Events Overview",
  1677. "type": "stat"
  1678. },
  1679. {
  1680. "datasource": "${ds}",
  1681. "fieldConfig": {
  1682. "defaults": {
  1683. "color": {
  1684. "mode": "thresholds"
  1685. },
  1686. "custom": {
  1687. "align": "auto",
  1688. "displayMode": "auto"
  1689. },
  1690. "mappings": [],
  1691. "thresholds": {
  1692. "mode": "absolute",
  1693. "steps": [
  1694. {
  1695. "color": "green",
  1696. "value": null
  1697. },
  1698. {
  1699. "color": "red",
  1700. "value": 80
  1701. }
  1702. ]
  1703. }
  1704. },
  1705. "overrides": []
  1706. },
  1707. "gridPos": {
  1708. "h": 10,
  1709. "w": 18,
  1710. "x": 6,
  1711. "y": 23
  1712. },
  1713. "id": 31,
  1714. "options": {
  1715. "showHeader": true
  1716. },
  1717. "pluginVersion": "8.2.0-pre",
  1718. "targets": [
  1719. {
  1720. "account": "",
  1721. "appInsights": {
  1722. "dimension": [],
  1723. "metricName": "select",
  1724. "timeGrain": "auto"
  1725. },
  1726. "azureLogAnalytics": {
  1727. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  1728. "resultFormat": "time_series",
  1729. "workspace": ""
  1730. },
  1731. "azureMonitor": {
  1732. "aggOptions": [],
  1733. "dimensionFilter": "*",
  1734. "dimensionFilters": [],
  1735. "timeGrain": "auto",
  1736. "timeGrains": [],
  1737. "top": "10"
  1738. },
  1739. "azureResourceGraph": {
  1740. "query": "resources\r\n| where type has 'microsoft.servicebus'\r\n\tor type has 'microsoft.eventhub'\r\n\tor type has 'microsoft.eventgrid'\r\n\tor type has 'microsoft.relay'\r\n| extend type = case(\r\n\ttype == 'microsoft.eventgrid/systemtopics', \"EventGrid System Topics\",\r\n\ttype =~ \"microsoft.eventgrid/topics\", \"EventGrid Topics\",\r\n\ttype =~ 'microsoft.eventhub/namespaces', \"EventHub Namespaces\",\r\n\ttype =~ 'microsoft.servicebus/namespaces', 'ServiceBus Namespaces',\r\n\ttype =~ 'microsoft.relay/namespaces', 'Relays',\r\n\tstrcat(\"Not Translated: \", type))\r\n| extend Sku = case(\r\n\ttype =~ 'Relays', sku.name, \r\n\ttype =~ 'EventGrid System Topics', properties.sku,\r\n\ttype =~ 'EventGrid Topics', sku.name,\r\n\ttype =~ 'EventHub Namespaces', sku.name,\r\n\ttype =~ 'ServiceBus Namespaces', sku.sku,\r\n\t' ')\r\n| extend Endpoint = case(\r\n\ttype =~ 'Relays', properties.serviceBusEndpoint,\r\n\ttype =~ 'EventGrid Topics', properties.endpoint,\r\n\ttype =~ 'EventHub Namespaces', properties.serviceBusEndpoint,\r\n\ttype =~ 'ServiceBus Namespaces', properties.serviceBusEndpoint,\r\n\t' ')\r\n| extend Status = case(\r\n\ttype =~ 'Relays', properties.provisioningState,\r\n\ttype =~ 'EventGrid System Topics', properties.provisioningState,\r\n\ttype =~ 'EventGrid Topics', properties.publicNetworkAccess,\r\n\ttype =~ 'EventHub Namespaces', properties.status,\r\n\ttype =~ 'ServiceBus Namespaces', properties.status,\r\n\t' ')\r\n| extend Details = pack_all()\r\n| project Resource=id, type, subscriptionId, resourceGroup, Sku, Status, Endpoint, Details",
  1741. "resultFormat": "table"
  1742. },
  1743. "backends": [],
  1744. "dimension": "",
  1745. "environment": "prod",
  1746. "insightsAnalytics": {
  1747. "query": "",
  1748. "resultFormat": "time_series"
  1749. },
  1750. "metric": "",
  1751. "namespace": "",
  1752. "queryType": "Azure Resource Graph",
  1753. "refId": "A",
  1754. "samplingType": "",
  1755. "service": "metric",
  1756. "subscriptions": ["$subscriprions"],
  1757. "useBackends": false,
  1758. "useCustomSeriesNaming": false
  1759. }
  1760. ],
  1761. "title": "Events Detailed View",
  1762. "type": "table"
  1763. },
  1764. {
  1765. "datasource": "${ds}",
  1766. "fieldConfig": {
  1767. "defaults": {
  1768. "color": {
  1769. "mode": "thresholds"
  1770. },
  1771. "mappings": [],
  1772. "thresholds": {
  1773. "mode": "absolute",
  1774. "steps": [
  1775. {
  1776. "color": "green",
  1777. "value": null
  1778. },
  1779. {
  1780. "color": "red",
  1781. "value": 80
  1782. }
  1783. ]
  1784. }
  1785. },
  1786. "overrides": []
  1787. },
  1788. "gridPos": {
  1789. "h": 10,
  1790. "w": 6,
  1791. "x": 0,
  1792. "y": 33
  1793. },
  1794. "id": 32,
  1795. "options": {
  1796. "colorMode": "value",
  1797. "graphMode": "area",
  1798. "justifyMode": "auto",
  1799. "orientation": "auto",
  1800. "reduceOptions": {
  1801. "calcs": ["lastNotNull"],
  1802. "fields": "",
  1803. "values": true
  1804. },
  1805. "text": {},
  1806. "textMode": "auto"
  1807. },
  1808. "pluginVersion": "8.2.0-pre",
  1809. "targets": [
  1810. {
  1811. "account": "",
  1812. "appInsights": {
  1813. "dimension": [],
  1814. "metricName": "select",
  1815. "timeGrain": "auto"
  1816. },
  1817. "azureLogAnalytics": {
  1818. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  1819. "resultFormat": "time_series",
  1820. "workspace": ""
  1821. },
  1822. "azureMonitor": {
  1823. "aggOptions": [],
  1824. "dimensionFilter": "*",
  1825. "dimensionFilters": [],
  1826. "timeGrain": "auto",
  1827. "timeGrains": [],
  1828. "top": "10"
  1829. },
  1830. "azureResourceGraph": {
  1831. "query": "resources \r\n| where type has 'microsoft.documentdb'\r\n\tor type has 'microsoft.sql'\r\n\tor type has 'microsoft.dbformysql'\r\n\tor type has 'microsoft.sql'\r\n or type has 'microsoft.purview'\r\n or type has 'microsoft.datafactory'\r\n\tor type has 'microsoft.analysisservices'\r\n\tor type has 'microsoft.datamigration'\r\n\tor type has 'microsoft.synapse'\r\n\tor type has 'microsoft.datafactory'\r\n\tor type has 'microsoft.kusto'\r\n| extend type = case(\r\n\ttype =~ 'microsoft.documentdb/databaseaccounts', 'CosmosDB',\r\n\ttype =~ 'microsoft.sql/servers/databases', 'SQL DBs',\r\n\ttype =~ 'microsoft.dbformysql/servers', 'MySQL',\r\n\ttype =~ 'microsoft.sql/servers', 'SQL Servers',\r\n type =~ 'microsoft.purview/accounts', 'Purview Accounts',\r\n\ttype =~ 'microsoft.synapse/workspaces/sqlpools', 'Synapse SQL Pools',\r\n\ttype =~ 'microsoft.kusto/clusters', 'ADX Clusters',\r\n\ttype =~ 'microsoft.datafactory/factories', 'Data Factories',\r\n\ttype =~ 'microsoft.synapse/workspaces', 'Synapse Workspaces',\r\n\ttype =~ 'microsoft.analysisservices/servers', 'Analysis Services Servers',\r\n\ttype =~ 'microsoft.datamigration/services', 'DB Migration Service',\r\n\ttype =~ 'microsoft.sql/managedinstances/databases', 'Managed Instance DBs',\r\n\ttype =~ 'microsoft.sql/managedinstances', 'Managed Instnace',\r\n\ttype =~ 'microsoft.datamigration/services/projects', 'Data Migration Projects',\r\n\ttype =~ 'microsoft.sql/virtualclusters', 'SQL Virtual Clusters',\r\n\tstrcat(\"Not Translated: \", type))\r\n| where type !has \"Not Translated\"\r\n| summarize count() by type",
  1832. "resultFormat": "table"
  1833. },
  1834. "backends": [],
  1835. "dimension": "",
  1836. "environment": "prod",
  1837. "insightsAnalytics": {
  1838. "query": "",
  1839. "resultFormat": "time_series"
  1840. },
  1841. "metric": "",
  1842. "namespace": "",
  1843. "queryType": "Azure Resource Graph",
  1844. "refId": "A",
  1845. "samplingType": "",
  1846. "service": "metric",
  1847. "subscriptions": ["$subscriprions"],
  1848. "useBackends": false,
  1849. "useCustomSeriesNaming": false
  1850. }
  1851. ],
  1852. "title": "Data Overview",
  1853. "type": "stat"
  1854. },
  1855. {
  1856. "datasource": "${ds}",
  1857. "fieldConfig": {
  1858. "defaults": {
  1859. "color": {
  1860. "mode": "thresholds"
  1861. },
  1862. "custom": {
  1863. "align": "left",
  1864. "displayMode": "auto"
  1865. },
  1866. "mappings": [],
  1867. "thresholds": {
  1868. "mode": "absolute",
  1869. "steps": [
  1870. {
  1871. "color": "green",
  1872. "value": null
  1873. },
  1874. {
  1875. "color": "red",
  1876. "value": 80
  1877. }
  1878. ]
  1879. }
  1880. },
  1881. "overrides": []
  1882. },
  1883. "gridPos": {
  1884. "h": 10,
  1885. "w": 18,
  1886. "x": 6,
  1887. "y": 33
  1888. },
  1889. "id": 33,
  1890. "options": {
  1891. "showHeader": true
  1892. },
  1893. "pluginVersion": "8.2.0-pre",
  1894. "targets": [
  1895. {
  1896. "account": "",
  1897. "appInsights": {
  1898. "dimension": [],
  1899. "metricName": "select",
  1900. "timeGrain": "auto"
  1901. },
  1902. "azureLogAnalytics": {
  1903. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  1904. "resultFormat": "time_series",
  1905. "workspace": ""
  1906. },
  1907. "azureMonitor": {
  1908. "aggOptions": [],
  1909. "dimensionFilter": "*",
  1910. "dimensionFilters": [],
  1911. "timeGrain": "auto",
  1912. "timeGrains": [],
  1913. "top": "10"
  1914. },
  1915. "azureResourceGraph": {
  1916. "query": "resources \r\n| where type has 'microsoft.documentdb'\r\n\tor type has 'microsoft.sql'\r\n\tor type has 'microsoft.dbformysql'\r\n\tor type has 'microsoft.sql'\r\n or type has 'microsoft.purview'\r\n or type has 'microsoft.datafactory'\r\n\tor type has 'microsoft.analysisservices'\r\n\tor type has 'microsoft.datamigration'\r\n\tor type has 'microsoft.synapse'\r\n\tor type has 'microsoft.datafactory'\r\n\tor type has 'microsoft.kusto'\r\n| extend type = case(\r\n\ttype =~ 'microsoft.documentdb/databaseaccounts', 'CosmosDB',\r\n\ttype =~ 'microsoft.sql/servers/databases', 'SQL DBs',\r\n\ttype =~ 'microsoft.dbformysql/servers', 'MySQL',\r\n\ttype =~ 'microsoft.sql/servers', 'SQL Servers',\r\n type =~ 'microsoft.purview/accounts', 'Purview Accounts',\r\n\ttype =~ 'microsoft.synapse/workspaces/sqlpools', 'Synapse SQL Pools',\r\n\ttype =~ 'microsoft.kusto/clusters', 'ADX Clusters',\r\n\ttype =~ 'microsoft.datafactory/factories', 'Data Factories',\r\n\ttype =~ 'microsoft.synapse/workspaces', 'Synapse Workspaces',\r\n\ttype =~ 'microsoft.analysisservices/servers', 'Analysis Services Servers',\r\n\ttype =~ 'microsoft.datamigration/services', 'DB Migration Service',\r\n\ttype =~ 'microsoft.sql/managedinstances/databases', 'Managed Instance DBs',\r\n\ttype =~ 'microsoft.sql/managedinstances', 'Managed Instnace',\r\n\ttype =~ 'microsoft.datamigration/services/projects', 'Data Migration Projects',\r\n\ttype =~ 'microsoft.sql/virtualclusters', 'SQL Virtual Clusters',\r\n\tstrcat(\"Not Translated: \", type))\r\n| where type !has \"Not Translated\"\r\n| extend Sku = case(\r\n\ttype =~ 'CosmosDB', properties.databaseAccountOfferType,\r\n\ttype =~ 'SQL DBs', sku.name,\r\n\ttype =~ 'MySQL', sku.name,\r\n\ttype =~ 'ADX Clusters', sku.name,\r\n\ttype =~ 'Purview Accounts', sku.name,\r\n\t' ')\r\n| extend Status = case(\r\n\ttype =~ 'CosmosDB', properties.provisioningState,\r\n\ttype =~ 'SQL DBs', properties.status,\r\n\ttype =~ 'MySQL', properties.userVisibleState,\r\n\ttype =~ 'Managed Instance DBs', properties.status,\r\n\t' ')\r\n| extend Endpoint = case(\r\n\ttype =~ 'MySQL', properties.fullyQualifiedDomainName,\r\n\ttype =~ 'SQL Servers', properties.fullyQualifiedDomainName,\r\n\ttype =~ 'CosmosDB', properties.documentEndpoint,\r\n\ttype =~ 'ADX Clusters', properties.uri,\r\n\ttype =~ 'Purview Accounts', properties.endpoints,\r\n\ttype =~ 'Synapse Workspaces', properties.connectivityEndpoints,\r\n\ttype =~ 'Synapse SQL Pools', sku.name,\r\n\t' ')\r\n| extend Tier = sku.tier\r\n| extend License = properties.licenseType\r\n| extend maxSizeGB = todouble(case(\r\n\ttype =~ 'SQL DBs', properties.maxSizeBytes,\r\n\ttype =~ 'MySQL', properties.storageProfile.storageMB,\r\n\ttype =~ 'Synapse SQL Pools', properties.maxSizeBytes,\r\n\t' '))\r\n| extend maxSizeGB = case(\r\n\t\ttype has 'SQL DBs', maxSizeGB /1000 /1000 /1000,\r\n\t\ttype has 'Synapse SQL Pools', maxSizeGB /1000 /1000 /1000,\r\n\t\ttype has 'MySQL', maxSizeGB /1000,\r\n\t\tmaxSizeGB)\r\n| extend Details = pack_all()\r\n| project Resource=id, resourceGroup, subscriptionId, type, Sku, Tier, Status, Endpoint, maxSizeGB, Details\r\n",
  1917. "resultFormat": "table"
  1918. },
  1919. "backends": [],
  1920. "dimension": "",
  1921. "environment": "prod",
  1922. "insightsAnalytics": {
  1923. "query": "",
  1924. "resultFormat": "time_series"
  1925. },
  1926. "metric": "",
  1927. "namespace": "",
  1928. "queryType": "Azure Resource Graph",
  1929. "refId": "A",
  1930. "samplingType": "",
  1931. "service": "metric",
  1932. "subscriptions": ["$subscriprions"],
  1933. "useBackends": false,
  1934. "useCustomSeriesNaming": false
  1935. }
  1936. ],
  1937. "title": "Data Detailed View",
  1938. "type": "table"
  1939. },
  1940. {
  1941. "datasource": "${ds}",
  1942. "fieldConfig": {
  1943. "defaults": {
  1944. "color": {
  1945. "mode": "thresholds"
  1946. },
  1947. "mappings": [],
  1948. "thresholds": {
  1949. "mode": "absolute",
  1950. "steps": [
  1951. {
  1952. "color": "green",
  1953. "value": null
  1954. },
  1955. {
  1956. "color": "red",
  1957. "value": 80
  1958. }
  1959. ]
  1960. }
  1961. },
  1962. "overrides": []
  1963. },
  1964. "gridPos": {
  1965. "h": 10,
  1966. "w": 6,
  1967. "x": 0,
  1968. "y": 43
  1969. },
  1970. "id": 34,
  1971. "options": {
  1972. "colorMode": "value",
  1973. "graphMode": "area",
  1974. "justifyMode": "auto",
  1975. "orientation": "auto",
  1976. "reduceOptions": {
  1977. "calcs": ["lastNotNull"],
  1978. "fields": "",
  1979. "values": true
  1980. },
  1981. "text": {},
  1982. "textMode": "auto"
  1983. },
  1984. "pluginVersion": "8.2.0-pre",
  1985. "targets": [
  1986. {
  1987. "account": "",
  1988. "appInsights": {
  1989. "dimension": [],
  1990. "metricName": "select",
  1991. "timeGrain": "auto"
  1992. },
  1993. "azureLogAnalytics": {
  1994. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  1995. "resultFormat": "time_series",
  1996. "workspace": ""
  1997. },
  1998. "azureMonitor": {
  1999. "aggOptions": [],
  2000. "dimensionFilter": "*",
  2001. "dimensionFilters": [],
  2002. "timeGrain": "auto",
  2003. "timeGrains": [],
  2004. "top": "10"
  2005. },
  2006. "azureResourceGraph": {
  2007. "query": "resources \r\n| where type =~ 'microsoft.storagesync/storagesyncservices'\r\n\tor type =~ 'microsoft.recoveryservices/vaults'\r\n\tor type =~ 'microsoft.storage/storageaccounts'\r\n\tor type =~ 'microsoft.keyvault/vaults'\r\n| extend type = case(\r\n\ttype =~ 'microsoft.storagesync/storagesyncservices', 'Azure File Sync',\r\n\ttype =~ 'microsoft.recoveryservices/vaults', 'Azure Backup',\r\n\ttype =~ 'microsoft.storage/storageaccounts', 'Storage Accounts',\r\n\ttype =~ 'microsoft.keyvault/vaults', 'Key Vaults',\r\n\tstrcat(\"Not Translated: \", type))\r\n| where type !has \"Not Translated\"\r\n| summarize count() by type",
  2008. "resultFormat": "table"
  2009. },
  2010. "backends": [],
  2011. "dimension": "",
  2012. "environment": "prod",
  2013. "insightsAnalytics": {
  2014. "query": "",
  2015. "resultFormat": "time_series"
  2016. },
  2017. "metric": "",
  2018. "namespace": "",
  2019. "queryType": "Azure Resource Graph",
  2020. "refId": "A",
  2021. "samplingType": "",
  2022. "service": "metric",
  2023. "subscriptions": ["$subscriprions"],
  2024. "useBackends": false,
  2025. "useCustomSeriesNaming": false
  2026. }
  2027. ],
  2028. "title": "Storage and Backup Overview",
  2029. "type": "stat"
  2030. },
  2031. {
  2032. "datasource": "${ds}",
  2033. "fieldConfig": {
  2034. "defaults": {
  2035. "color": {
  2036. "mode": "thresholds"
  2037. },
  2038. "custom": {
  2039. "align": "auto",
  2040. "displayMode": "auto"
  2041. },
  2042. "mappings": [],
  2043. "thresholds": {
  2044. "mode": "absolute",
  2045. "steps": [
  2046. {
  2047. "color": "green",
  2048. "value": null
  2049. },
  2050. {
  2051. "color": "red",
  2052. "value": 80
  2053. }
  2054. ]
  2055. }
  2056. },
  2057. "overrides": []
  2058. },
  2059. "gridPos": {
  2060. "h": 10,
  2061. "w": 18,
  2062. "x": 6,
  2063. "y": 43
  2064. },
  2065. "id": 35,
  2066. "options": {
  2067. "showHeader": true
  2068. },
  2069. "pluginVersion": "8.2.0-pre",
  2070. "targets": [
  2071. {
  2072. "account": "",
  2073. "appInsights": {
  2074. "dimension": [],
  2075. "metricName": "select",
  2076. "timeGrain": "auto"
  2077. },
  2078. "azureLogAnalytics": {
  2079. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  2080. "resultFormat": "time_series",
  2081. "workspace": ""
  2082. },
  2083. "azureMonitor": {
  2084. "aggOptions": [],
  2085. "dimensionFilter": "*",
  2086. "dimensionFilters": [],
  2087. "timeGrain": "auto",
  2088. "timeGrains": [],
  2089. "top": "10"
  2090. },
  2091. "azureResourceGraph": {
  2092. "query": "resources \r\n| where type =~ 'microsoft.storagesync/storagesyncservices'\r\n\tor type =~ 'microsoft.recoveryservices/vaults'\r\n\tor type =~ 'microsoft.storage/storageaccounts'\r\n\tor type =~ 'microsoft.keyvault/vaults'\r\n| extend type = case(\r\n\ttype =~ 'microsoft.storagesync/storagesyncservices', 'Azure File Sync',\r\n\ttype =~ 'microsoft.recoveryservices/vaults', 'Azure Backup',\r\n\ttype =~ 'microsoft.storage/storageaccounts', 'Storage Accounts',\r\n\ttype =~ 'microsoft.keyvault/vaults', 'Key Vaults',\r\n\tstrcat(\"Not Translated: \", type))\r\n| extend Sku = case(\r\n\ttype !has 'Key Vaults', sku.name,\r\n\ttype =~ 'Key Vaults', properties.sku.name,\r\n\t' ')\r\n| extend Details = pack_all()\r\n| project Resource=id, type, kind, subscriptionId, resourceGroup, Sku, Details",
  2093. "resultFormat": "table"
  2094. },
  2095. "backends": [],
  2096. "dimension": "",
  2097. "environment": "prod",
  2098. "insightsAnalytics": {
  2099. "query": "",
  2100. "resultFormat": "time_series"
  2101. },
  2102. "metric": "",
  2103. "namespace": "",
  2104. "queryType": "Azure Resource Graph",
  2105. "refId": "A",
  2106. "samplingType": "",
  2107. "service": "metric",
  2108. "subscriptions": ["$subscriprions"],
  2109. "useBackends": false,
  2110. "useCustomSeriesNaming": false
  2111. }
  2112. ],
  2113. "title": "Storage and Backup Detailed View",
  2114. "type": "table"
  2115. },
  2116. {
  2117. "datasource": "${ds}",
  2118. "fieldConfig": {
  2119. "defaults": {
  2120. "color": {
  2121. "mode": "thresholds"
  2122. },
  2123. "mappings": [],
  2124. "thresholds": {
  2125. "mode": "absolute",
  2126. "steps": [
  2127. {
  2128. "color": "green",
  2129. "value": null
  2130. },
  2131. {
  2132. "color": "red",
  2133. "value": 80
  2134. }
  2135. ]
  2136. }
  2137. },
  2138. "overrides": []
  2139. },
  2140. "gridPos": {
  2141. "h": 10,
  2142. "w": 6,
  2143. "x": 0,
  2144. "y": 53
  2145. },
  2146. "id": 36,
  2147. "options": {
  2148. "colorMode": "value",
  2149. "graphMode": "area",
  2150. "justifyMode": "auto",
  2151. "orientation": "auto",
  2152. "reduceOptions": {
  2153. "calcs": ["lastNotNull"],
  2154. "fields": "",
  2155. "values": true
  2156. },
  2157. "text": {},
  2158. "textMode": "auto"
  2159. },
  2160. "pluginVersion": "8.2.0-pre",
  2161. "targets": [
  2162. {
  2163. "account": "",
  2164. "appInsights": {
  2165. "dimension": [],
  2166. "metricName": "select",
  2167. "timeGrain": "auto"
  2168. },
  2169. "azureLogAnalytics": {
  2170. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  2171. "resultFormat": "time_series",
  2172. "workspace": ""
  2173. },
  2174. "azureMonitor": {
  2175. "aggOptions": [],
  2176. "dimensionFilter": "*",
  2177. "dimensionFilters": [],
  2178. "timeGrain": "auto",
  2179. "timeGrains": [],
  2180. "top": "10"
  2181. },
  2182. "azureResourceGraph": {
  2183. "query": "resources\r\n| where type =~ 'microsoft.containerservice/managedclusters'\r\n\tor type =~ 'microsoft.containerregistry/registries'\r\n\tor type =~ 'microsoft.containerinstance/containergroups'\r\n| extend type = case(\r\n\ttype =~ 'microsoft.containerservice/managedclusters', 'AKS',\r\n\ttype =~ 'microsoft.containerregistry/registries', 'Container Registry',\r\n\ttype =~ 'microsoft.containerinstance/containergroups', 'Container Instnaces',\r\n\tstrcat(\"Not Translated: \", type))\r\n| where type !has \"Not Translated\"\r\n| summarize count() by type\t",
  2184. "resultFormat": "table"
  2185. },
  2186. "backends": [],
  2187. "dimension": "",
  2188. "environment": "prod",
  2189. "insightsAnalytics": {
  2190. "query": "",
  2191. "resultFormat": "time_series"
  2192. },
  2193. "metric": "",
  2194. "namespace": "",
  2195. "queryType": "Azure Resource Graph",
  2196. "refId": "A",
  2197. "samplingType": "",
  2198. "service": "metric",
  2199. "subscriptions": ["$subscriprions"],
  2200. "useBackends": false,
  2201. "useCustomSeriesNaming": false
  2202. }
  2203. ],
  2204. "title": "Containers Overview",
  2205. "type": "stat"
  2206. },
  2207. {
  2208. "datasource": "${ds}",
  2209. "fieldConfig": {
  2210. "defaults": {
  2211. "color": {
  2212. "mode": "thresholds"
  2213. },
  2214. "custom": {
  2215. "align": "auto",
  2216. "displayMode": "auto"
  2217. },
  2218. "mappings": [],
  2219. "thresholds": {
  2220. "mode": "absolute",
  2221. "steps": [
  2222. {
  2223. "color": "green",
  2224. "value": null
  2225. },
  2226. {
  2227. "color": "red",
  2228. "value": 80
  2229. }
  2230. ]
  2231. }
  2232. },
  2233. "overrides": []
  2234. },
  2235. "gridPos": {
  2236. "h": 10,
  2237. "w": 18,
  2238. "x": 6,
  2239. "y": 53
  2240. },
  2241. "id": 37,
  2242. "options": {
  2243. "showHeader": true
  2244. },
  2245. "pluginVersion": "8.2.0-pre",
  2246. "targets": [
  2247. {
  2248. "account": "",
  2249. "appInsights": {
  2250. "dimension": [],
  2251. "metricName": "select",
  2252. "timeGrain": "auto"
  2253. },
  2254. "azureLogAnalytics": {
  2255. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  2256. "resultFormat": "time_series",
  2257. "workspace": ""
  2258. },
  2259. "azureMonitor": {
  2260. "aggOptions": [],
  2261. "dimensionFilter": "*",
  2262. "dimensionFilters": [],
  2263. "timeGrain": "auto",
  2264. "timeGrains": [],
  2265. "top": "10"
  2266. },
  2267. "azureResourceGraph": {
  2268. "query": "resources\r\n| where type =~ 'microsoft.containerservice/managedclusters'\r\n\tor type =~ 'microsoft.containerregistry/registries'\r\n\tor type =~ 'microsoft.containerinstance/containergroups'\r\n| extend type = case(\r\n\ttype =~ 'microsoft.containerservice/managedclusters', 'AKS',\r\n\ttype =~ 'microsoft.containerregistry/registries', 'Container Registry',\r\n\ttype =~ 'microsoft.containerinstance/containergroups', 'Container Instnaces',\r\n\tstrcat(\"Not Translated: \", type))\r\n| where type !has \"Not Translated\"\r\n| extend Tier = sku.tier\r\n| extend sku = sku.name\r\n| extend State = case(\r\n\ttype =~ 'Container Registry', properties.provisioningState,\r\n\ttype =~ 'Container Instance', properties.instanceView.state,\r\n\tproperties.powerState.code)\r\n| extend Containers = properties.containers\r\n| mvexpand Containers\r\n| extend RestartCount = Containers.properties.instanceView.restartCount\r\n| extend Image = Containers.properties.image\r\n| extend RestartPolicy = properties.restartPolicy\r\n| extend IP = properties.ipAddress.ip\r\n| extend Version = properties.kubernetesVersion\r\n| extend AgentProfiles = properties.agentPoolProfiles\r\n| mvexpand AgentProfiles\r\n| extend NodeCount = AgentProfiles.[\"count\"]\r\n| extend Details = pack_all()\r\n| project id, type, location, resourceGroup, subscriptionId, sku, Tier, State, RestartCount, Version, NodeCount, Details",
  2269. "resultFormat": "table"
  2270. },
  2271. "backends": [],
  2272. "dimension": "",
  2273. "environment": "prod",
  2274. "insightsAnalytics": {
  2275. "query": "",
  2276. "resultFormat": "time_series"
  2277. },
  2278. "metric": "",
  2279. "namespace": "",
  2280. "queryType": "Azure Resource Graph",
  2281. "refId": "A",
  2282. "samplingType": "",
  2283. "service": "metric",
  2284. "subscriptions": ["$subscriprions"],
  2285. "useBackends": false,
  2286. "useCustomSeriesNaming": false
  2287. }
  2288. ],
  2289. "title": "Containers Detailed View",
  2290. "type": "table"
  2291. },
  2292. {
  2293. "datasource": "${ds}",
  2294. "fieldConfig": {
  2295. "defaults": {
  2296. "color": {
  2297. "mode": "thresholds"
  2298. },
  2299. "mappings": [],
  2300. "thresholds": {
  2301. "mode": "absolute",
  2302. "steps": [
  2303. {
  2304. "color": "green",
  2305. "value": null
  2306. },
  2307. {
  2308. "color": "red",
  2309. "value": 80
  2310. }
  2311. ]
  2312. }
  2313. },
  2314. "overrides": []
  2315. },
  2316. "gridPos": {
  2317. "h": 10,
  2318. "w": 6,
  2319. "x": 0,
  2320. "y": 63
  2321. },
  2322. "id": 38,
  2323. "options": {
  2324. "colorMode": "value",
  2325. "graphMode": "area",
  2326. "justifyMode": "auto",
  2327. "orientation": "auto",
  2328. "reduceOptions": {
  2329. "calcs": ["lastNotNull"],
  2330. "fields": "",
  2331. "values": true
  2332. },
  2333. "text": {},
  2334. "textMode": "auto"
  2335. },
  2336. "pluginVersion": "8.2.0-pre",
  2337. "targets": [
  2338. {
  2339. "account": "",
  2340. "appInsights": {
  2341. "dimension": [],
  2342. "metricName": "select",
  2343. "timeGrain": "auto"
  2344. },
  2345. "azureLogAnalytics": {
  2346. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  2347. "resultFormat": "time_series",
  2348. "workspace": ""
  2349. },
  2350. "azureMonitor": {
  2351. "aggOptions": [],
  2352. "dimensionFilter": "*",
  2353. "dimensionFilters": [],
  2354. "timeGrain": "auto",
  2355. "timeGrains": [],
  2356. "top": "10"
  2357. },
  2358. "azureResourceGraph": {
  2359. "query": "resources\r\n| where type =~ 'Microsoft.MachineLearningServices/workspaces'\r\n\tor type =~ 'microsoft.cognitiveservices/accounts'\r\n| extend type = case(\r\n\ttype =~ 'Microsoft.MachineLearningServices/workspaces', 'ML Workspaces',\r\n\ttype =~ 'microsoft.cognitiveservices/accounts', 'Cognitive Services',\r\n\tstrcat(\"Not Translated: \", type))\r\n| where type !has \"Not Translated\"\r\n| summarize count() by type\t",
  2360. "resultFormat": "table"
  2361. },
  2362. "backends": [],
  2363. "dimension": "",
  2364. "environment": "prod",
  2365. "insightsAnalytics": {
  2366. "query": "",
  2367. "resultFormat": "time_series"
  2368. },
  2369. "metric": "",
  2370. "namespace": "",
  2371. "queryType": "Azure Resource Graph",
  2372. "refId": "A",
  2373. "samplingType": "",
  2374. "service": "metric",
  2375. "subscriptions": ["$subscriprions"],
  2376. "useBackends": false,
  2377. "useCustomSeriesNaming": false
  2378. }
  2379. ],
  2380. "title": "ML/AI Overview",
  2381. "type": "stat"
  2382. },
  2383. {
  2384. "datasource": "${ds}",
  2385. "fieldConfig": {
  2386. "defaults": {
  2387. "color": {
  2388. "mode": "thresholds"
  2389. },
  2390. "custom": {
  2391. "align": "auto",
  2392. "displayMode": "auto"
  2393. },
  2394. "mappings": [],
  2395. "thresholds": {
  2396. "mode": "absolute",
  2397. "steps": [
  2398. {
  2399. "color": "green",
  2400. "value": null
  2401. },
  2402. {
  2403. "color": "red",
  2404. "value": 80
  2405. }
  2406. ]
  2407. }
  2408. },
  2409. "overrides": []
  2410. },
  2411. "gridPos": {
  2412. "h": 10,
  2413. "w": 18,
  2414. "x": 6,
  2415. "y": 63
  2416. },
  2417. "id": 39,
  2418. "options": {
  2419. "showHeader": true
  2420. },
  2421. "pluginVersion": "8.2.0-pre",
  2422. "targets": [
  2423. {
  2424. "account": "",
  2425. "appInsights": {
  2426. "dimension": [],
  2427. "metricName": "select",
  2428. "timeGrain": "auto"
  2429. },
  2430. "azureLogAnalytics": {
  2431. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  2432. "resultFormat": "time_series",
  2433. "workspace": ""
  2434. },
  2435. "azureMonitor": {
  2436. "aggOptions": [],
  2437. "dimensionFilter": "*",
  2438. "dimensionFilters": [],
  2439. "timeGrain": "auto",
  2440. "timeGrains": [],
  2441. "top": "10"
  2442. },
  2443. "azureResourceGraph": {
  2444. "query": "resources\r\n| where type =~ 'Microsoft.MachineLearningServices/workspaces'\r\n\tor type =~ 'microsoft.cognitiveservices/accounts'\r\n| extend type = case(\r\n\ttype =~ 'Microsoft.MachineLearningServices/workspaces', 'ML Workspaces',\r\n\ttype =~ 'microsoft.cognitiveservices/accounts', 'Cognitive Services',\r\n\tstrcat(\"Not Translated: \", type))\r\n| where type !has \"Not Translated\"\r\n| extend Tier = sku.tier\r\n| extend sku = sku.name\r\n| extend Endpoint = case(\r\n\ttype =~ 'ML Workspaces', properties.discoveryUrl,\r\n\ttype =~ 'Cognitive Services', properties.endpoint,\r\n\t' ')\r\n| extend Capabilities = properties.capabilities\r\n| mvexpand Capabilities\r\n| extend Capabilities.value\r\n| extend Storage = properties.storageAccount\r\n| extend AppInsights = properties.applicationInsights\r\n| extend Details = pack_all()\r\n| project id, type, location, resourceGroup, subscriptionId, sku, Tier, Endpoint, Capabilities_value, Storage, AppInsights, Details",
  2445. "resultFormat": "table"
  2446. },
  2447. "backends": [],
  2448. "dimension": "",
  2449. "environment": "prod",
  2450. "insightsAnalytics": {
  2451. "query": "",
  2452. "resultFormat": "time_series"
  2453. },
  2454. "metric": "",
  2455. "namespace": "",
  2456. "queryType": "Azure Resource Graph",
  2457. "refId": "A",
  2458. "samplingType": "",
  2459. "service": "metric",
  2460. "subscriptions": ["$subscriprions"],
  2461. "useBackends": false,
  2462. "useCustomSeriesNaming": false
  2463. }
  2464. ],
  2465. "title": "ML/AI Detailed View",
  2466. "type": "table"
  2467. },
  2468. {
  2469. "datasource": "${ds}",
  2470. "fieldConfig": {
  2471. "defaults": {
  2472. "color": {
  2473. "mode": "thresholds"
  2474. },
  2475. "mappings": [],
  2476. "thresholds": {
  2477. "mode": "absolute",
  2478. "steps": [
  2479. {
  2480. "color": "green",
  2481. "value": null
  2482. },
  2483. {
  2484. "color": "red",
  2485. "value": 80
  2486. }
  2487. ]
  2488. }
  2489. },
  2490. "overrides": []
  2491. },
  2492. "gridPos": {
  2493. "h": 10,
  2494. "w": 6,
  2495. "x": 0,
  2496. "y": 73
  2497. },
  2498. "id": 40,
  2499. "options": {
  2500. "colorMode": "value",
  2501. "graphMode": "area",
  2502. "justifyMode": "auto",
  2503. "orientation": "auto",
  2504. "reduceOptions": {
  2505. "calcs": ["lastNotNull"],
  2506. "fields": "",
  2507. "values": true
  2508. },
  2509. "text": {},
  2510. "textMode": "auto"
  2511. },
  2512. "pluginVersion": "8.2.0-pre",
  2513. "targets": [
  2514. {
  2515. "account": "",
  2516. "appInsights": {
  2517. "dimension": [],
  2518. "metricName": "select",
  2519. "timeGrain": "auto"
  2520. },
  2521. "azureLogAnalytics": {
  2522. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  2523. "resultFormat": "time_series",
  2524. "workspace": ""
  2525. },
  2526. "azureMonitor": {
  2527. "aggOptions": [],
  2528. "dimensionFilter": "*",
  2529. "dimensionFilters": [],
  2530. "timeGrain": "auto",
  2531. "timeGrains": [],
  2532. "top": "10"
  2533. },
  2534. "azureResourceGraph": {
  2535. "query": "resources\r\n| where type =~ 'microsoft.devices/iothubs'\r\n\tor type =~ 'microsoft.iotcentral/iotapps'\r\n\tor type =~ 'microsoft.security/iotsecuritysolutions'\r\n| extend type = case (\r\n\ttype =~ 'microsoft.devices/iothubs', 'IoT Hubs',\r\n\ttype =~ 'microsoft.iotcentral/iotapps', 'IoT Apps',\r\n\ttype =~ 'microsoft.security/iotsecuritysolutions', 'IoT Security',\r\n\tstrcat(\"Not Translated: \", type))\r\n| summarize count() by type",
  2536. "resultFormat": "table"
  2537. },
  2538. "backends": [],
  2539. "dimension": "",
  2540. "environment": "prod",
  2541. "insightsAnalytics": {
  2542. "query": "",
  2543. "resultFormat": "time_series"
  2544. },
  2545. "metric": "",
  2546. "namespace": "",
  2547. "queryType": "Azure Resource Graph",
  2548. "refId": "A",
  2549. "samplingType": "",
  2550. "service": "metric",
  2551. "subscriptions": ["$subscriprions"],
  2552. "useBackends": false,
  2553. "useCustomSeriesNaming": false
  2554. }
  2555. ],
  2556. "title": "IoT Overview",
  2557. "type": "stat"
  2558. },
  2559. {
  2560. "datasource": "${ds}",
  2561. "fieldConfig": {
  2562. "defaults": {
  2563. "color": {
  2564. "mode": "thresholds"
  2565. },
  2566. "custom": {
  2567. "align": "auto",
  2568. "displayMode": "auto"
  2569. },
  2570. "mappings": [],
  2571. "thresholds": {
  2572. "mode": "absolute",
  2573. "steps": [
  2574. {
  2575. "color": "green",
  2576. "value": null
  2577. },
  2578. {
  2579. "color": "red",
  2580. "value": 80
  2581. }
  2582. ]
  2583. }
  2584. },
  2585. "overrides": []
  2586. },
  2587. "gridPos": {
  2588. "h": 10,
  2589. "w": 18,
  2590. "x": 6,
  2591. "y": 73
  2592. },
  2593. "id": 41,
  2594. "options": {
  2595. "showHeader": true
  2596. },
  2597. "pluginVersion": "8.2.0-pre",
  2598. "targets": [
  2599. {
  2600. "account": "",
  2601. "appInsights": {
  2602. "dimension": [],
  2603. "metricName": "select",
  2604. "timeGrain": "auto"
  2605. },
  2606. "azureLogAnalytics": {
  2607. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  2608. "resultFormat": "time_series",
  2609. "workspace": ""
  2610. },
  2611. "azureMonitor": {
  2612. "aggOptions": [],
  2613. "dimensionFilter": "*",
  2614. "dimensionFilters": [],
  2615. "timeGrain": "auto",
  2616. "timeGrains": [],
  2617. "top": "10"
  2618. },
  2619. "azureResourceGraph": {
  2620. "query": "resources\r\n| where type =~ 'microsoft.devices/iothubs'\r\n\tor type =~ 'microsoft.iotcentral/iotapps'\r\n\tor type =~ 'microsoft.security/iotsecuritysolutions'\r\n| extend type = case (\r\n\ttype =~ 'microsoft.devices/iothubs', 'IoT Hubs',\r\n\ttype =~ 'microsoft.iotcentral/iotapps', 'IoT Apps',\r\n\ttype =~ 'microsoft.security/iotsecuritysolutions', 'IoT Security',\r\n\tstrcat(\"Not Translated: \", type))\r\n| extend Tier = sku.tier\r\n| extend sku = sku.name\r\n| extend State = properties.state\r\n| extend HostName = properties.hostName\r\n| extend EventHubEndPoint = properties.eventHubEndpoints.events.endpoint\r\n| extend Details = pack_all()\r\n| project id, type, location, resourceGroup, subscriptionId, sku, Tier, State, HostName, EventHubEndPoint, Details",
  2621. "resultFormat": "table"
  2622. },
  2623. "backends": [],
  2624. "dimension": "",
  2625. "environment": "prod",
  2626. "insightsAnalytics": {
  2627. "query": "",
  2628. "resultFormat": "time_series"
  2629. },
  2630. "metric": "",
  2631. "namespace": "",
  2632. "queryType": "Azure Resource Graph",
  2633. "refId": "A",
  2634. "samplingType": "",
  2635. "service": "metric",
  2636. "subscriptions": ["$subscriprions"],
  2637. "useBackends": false,
  2638. "useCustomSeriesNaming": false
  2639. }
  2640. ],
  2641. "title": "IoT Detailed View",
  2642. "type": "table"
  2643. },
  2644. {
  2645. "datasource": "${ds}",
  2646. "fieldConfig": {
  2647. "defaults": {
  2648. "color": {
  2649. "mode": "thresholds"
  2650. },
  2651. "mappings": [],
  2652. "thresholds": {
  2653. "mode": "absolute",
  2654. "steps": [
  2655. {
  2656. "color": "green",
  2657. "value": null
  2658. },
  2659. {
  2660. "color": "red",
  2661. "value": 80
  2662. }
  2663. ]
  2664. }
  2665. },
  2666. "overrides": []
  2667. },
  2668. "gridPos": {
  2669. "h": 10,
  2670. "w": 6,
  2671. "x": 0,
  2672. "y": 83
  2673. },
  2674. "id": 42,
  2675. "options": {
  2676. "colorMode": "value",
  2677. "graphMode": "area",
  2678. "justifyMode": "auto",
  2679. "orientation": "auto",
  2680. "reduceOptions": {
  2681. "calcs": ["lastNotNull"],
  2682. "fields": "",
  2683. "values": true
  2684. },
  2685. "text": {},
  2686. "textMode": "auto"
  2687. },
  2688. "pluginVersion": "8.2.0-pre",
  2689. "targets": [
  2690. {
  2691. "account": "",
  2692. "appInsights": {
  2693. "dimension": [],
  2694. "metricName": "select",
  2695. "timeGrain": "auto"
  2696. },
  2697. "azureLogAnalytics": {
  2698. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  2699. "resultFormat": "time_series",
  2700. "workspace": ""
  2701. },
  2702. "azureMonitor": {
  2703. "aggOptions": [],
  2704. "dimensionFilter": "*",
  2705. "dimensionFilters": [],
  2706. "timeGrain": "auto",
  2707. "timeGrains": [],
  2708. "top": "10"
  2709. },
  2710. "azureResourceGraph": {
  2711. "query": "resources\r\n| where type has 'microsoft.desktopvirtualization'\r\n| extend type = case(\r\n\ttype =~ 'microsoft.desktopvirtualization/applicationgroups', 'WVD App Groups',\r\n\ttype =~ 'microsoft.desktopvirtualization/hostpools', 'WVD Host Pools',\r\n\ttype =~ 'microsoft.desktopvirtualization/workspaces', 'WVD Workspaces',\r\n\tstrcat(\"Not Translated: \", type))\r\n| where type !has \"Not Translated\"\r\n| summarize count() by type",
  2712. "resultFormat": "table"
  2713. },
  2714. "backends": [],
  2715. "dimension": "",
  2716. "environment": "prod",
  2717. "insightsAnalytics": {
  2718. "query": "",
  2719. "resultFormat": "time_series"
  2720. },
  2721. "metric": "",
  2722. "namespace": "",
  2723. "queryType": "Azure Resource Graph",
  2724. "refId": "A",
  2725. "samplingType": "",
  2726. "service": "metric",
  2727. "subscriptions": ["$subscriprions"],
  2728. "useBackends": false,
  2729. "useCustomSeriesNaming": false
  2730. }
  2731. ],
  2732. "title": "Windows Virtual Desktop Overview",
  2733. "type": "stat"
  2734. },
  2735. {
  2736. "datasource": "${ds}",
  2737. "fieldConfig": {
  2738. "defaults": {
  2739. "color": {
  2740. "mode": "thresholds"
  2741. },
  2742. "custom": {
  2743. "align": "auto",
  2744. "displayMode": "auto"
  2745. },
  2746. "mappings": [],
  2747. "thresholds": {
  2748. "mode": "absolute",
  2749. "steps": [
  2750. {
  2751. "color": "green",
  2752. "value": null
  2753. },
  2754. {
  2755. "color": "red",
  2756. "value": 80
  2757. }
  2758. ]
  2759. }
  2760. },
  2761. "overrides": []
  2762. },
  2763. "gridPos": {
  2764. "h": 10,
  2765. "w": 18,
  2766. "x": 6,
  2767. "y": 83
  2768. },
  2769. "id": 43,
  2770. "options": {
  2771. "showHeader": true
  2772. },
  2773. "pluginVersion": "8.2.0-pre",
  2774. "targets": [
  2775. {
  2776. "account": "",
  2777. "appInsights": {
  2778. "dimension": [],
  2779. "metricName": "select",
  2780. "timeGrain": "auto"
  2781. },
  2782. "azureLogAnalytics": {
  2783. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  2784. "resultFormat": "time_series",
  2785. "workspace": ""
  2786. },
  2787. "azureMonitor": {
  2788. "aggOptions": [],
  2789. "dimensionFilter": "*",
  2790. "dimensionFilters": [],
  2791. "timeGrain": "auto",
  2792. "timeGrains": [],
  2793. "top": "10"
  2794. },
  2795. "azureResourceGraph": {
  2796. "query": "resources\r\n| where type has 'microsoft.desktopvirtualization'\r\n| extend type = case(\r\n\ttype =~ 'microsoft.desktopvirtualization/applicationgroups', 'WVD App Groups',\r\n\ttype =~ 'microsoft.desktopvirtualization/hostpools', 'WVD Host Pools',\r\n\ttype =~ 'microsoft.desktopvirtualization/workspaces', 'WVD Workspaces',\r\n\tstrcat(\"Not Translated: \", type))\r\n| where type !has \"Not Translated\"\r\n| extend Details = pack_all()\r\n| project id, type, resourceGroup, subscriptionId, kind, location, Details",
  2797. "resultFormat": "table"
  2798. },
  2799. "backends": [],
  2800. "dimension": "",
  2801. "environment": "prod",
  2802. "insightsAnalytics": {
  2803. "query": "",
  2804. "resultFormat": "time_series"
  2805. },
  2806. "metric": "",
  2807. "namespace": "",
  2808. "queryType": "Azure Resource Graph",
  2809. "refId": "A",
  2810. "samplingType": "",
  2811. "service": "metric",
  2812. "subscriptions": ["$subscriprions"],
  2813. "useBackends": false,
  2814. "useCustomSeriesNaming": false
  2815. }
  2816. ],
  2817. "title": "Windows Virtual Desktop Detailed View",
  2818. "type": "table"
  2819. }
  2820. ],
  2821. "title": "PaaS",
  2822. "type": "row"
  2823. },
  2824. {
  2825. "collapsed": true,
  2826. "datasource": null,
  2827. "gridPos": {
  2828. "h": 1,
  2829. "w": 24,
  2830. "x": 0,
  2831. "y": 3
  2832. },
  2833. "id": 45,
  2834. "panels": [
  2835. {
  2836. "datasource": "${ds}",
  2837. "fieldConfig": {
  2838. "defaults": {
  2839. "color": {
  2840. "mode": "thresholds"
  2841. },
  2842. "mappings": [],
  2843. "thresholds": {
  2844. "mode": "absolute",
  2845. "steps": [
  2846. {
  2847. "color": "green",
  2848. "value": null
  2849. },
  2850. {
  2851. "color": "red",
  2852. "value": 80
  2853. }
  2854. ]
  2855. }
  2856. },
  2857. "overrides": []
  2858. },
  2859. "gridPos": {
  2860. "h": 8,
  2861. "w": 12,
  2862. "x": 0,
  2863. "y": 4
  2864. },
  2865. "id": 47,
  2866. "options": {
  2867. "colorMode": "value",
  2868. "graphMode": "area",
  2869. "justifyMode": "auto",
  2870. "orientation": "auto",
  2871. "reduceOptions": {
  2872. "calcs": ["lastNotNull"],
  2873. "fields": "",
  2874. "values": true
  2875. },
  2876. "text": {},
  2877. "textMode": "auto"
  2878. },
  2879. "pluginVersion": "8.2.0-pre",
  2880. "targets": [
  2881. {
  2882. "account": "",
  2883. "appInsights": {
  2884. "dimension": [],
  2885. "metricName": "select",
  2886. "timeGrain": "auto"
  2887. },
  2888. "azureLogAnalytics": {
  2889. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  2890. "resultFormat": "time_series",
  2891. "workspace": ""
  2892. },
  2893. "azureMonitor": {
  2894. "aggOptions": [],
  2895. "dimensionFilter": "*",
  2896. "dimensionFilters": [],
  2897. "timeGrain": "auto",
  2898. "timeGrains": [],
  2899. "top": "10"
  2900. },
  2901. "azureResourceGraph": {
  2902. "query": "where type has \"microsoft.network\"\r\n or type has 'microsoft.cdn'\r\n| extend type = case(\r\n\ttype == 'microsoft.network/networkinterfaces', \"NICs\",\r\n\ttype == 'microsoft.network/networksecuritygroups', \"NSGs\", \r\n\ttype == \"microsoft.network/publicipaddresses\", \"Public IPs\", \r\n\ttype == 'microsoft.network/virtualnetworks', \"vNets\",\r\n\ttype == 'microsoft.network/networkwatchers/connectionmonitors', \"Connection Monitors\",\r\n\ttype == 'microsoft.network/privatednszones', \"Private DNS\",\r\n\ttype == 'microsoft.network/virtualnetworkgateways', @\"vNet Gateways\",\r\n\ttype == 'microsoft.network/connections', \"Connections\",\r\n\ttype == 'microsoft.network/networkwatchers', \"Network Watchers\",\r\n\ttype == 'microsoft.network/privateendpoints', \"Private Endpoints\",\r\n\ttype == 'microsoft.network/localnetworkgateways', \"Local Network Gateways\",\r\n\ttype == 'microsoft.network/privatednszones/virtualnetworklinks', \"vNet Links\",\r\n\ttype == 'microsoft.network/dnszones', 'DNS Zones',\r\n\ttype == 'microsoft.network/networkwatchers/flowlogs', 'Flow Logs',\r\n\ttype == 'microsoft.network/routetables', 'Route Tables',\r\n\ttype == 'microsoft.network/loadbalancers', 'Load Balancers',\r\n\ttype == 'microsoft.network/ddosprotectionplans', 'DDoS Protection Plans',\r\n\ttype == 'microsoft.network/applicationsecuritygroups', 'App Security Groups',\r\n\ttype == 'microsoft.network/azurefirewalls', 'Azure Firewalls',\r\n\ttype == 'microsoft.network/applicationgateways', 'App Gateways',\r\n\ttype == 'microsoft.network/frontdoors', 'Front Doors',\r\n\ttype == 'microsoft.network/applicationgatewaywebapplicationfirewallpolicies', 'AppGateway Policies',\r\n\ttype == 'microsoft.network/bastionhosts', 'Bastion Hosts',\r\n\ttype == 'microsoft.network/frontdoorwebapplicationfirewallpolicies', 'FrontDoor Policies',\r\n\ttype == 'microsoft.network/firewallpolicies', 'Firewall Policies',\r\n\ttype == 'microsoft.network/networkintentpolicies', 'Network Intent Policies',\r\n\ttype == 'microsoft.network/trafficmanagerprofiles', 'Traffic Manager Profiles',\r\n\ttype == 'microsoft.network/publicipprefixes', 'PublicIP Prefixes',\r\n\ttype == 'microsoft.network/privatelinkservices', 'Private Link',\r\n\ttype == 'microsoft.network/expressroutecircuits', 'Express Route Circuits',\r\n\ttype =~ 'microsoft.cdn/cdnwebapplicationfirewallpolicies', 'CDN Web App Firewall Policies',\r\n\ttype =~ 'microsoft.cdn/profiles', 'CDN Profiles',\r\n\ttype =~ 'microsoft.cdn/profiles/afdendpoints', 'CDN Front Door Endpoints',\r\n\ttype =~ 'microsoft.cdn/profiles/endpoints', 'CDN Endpoints',\r\n\tstrcat(\"Not Translated: \", type))\r\n| summarize count() by type",
  2903. "resultFormat": "table"
  2904. },
  2905. "backends": [],
  2906. "dimension": "",
  2907. "environment": "prod",
  2908. "insightsAnalytics": {
  2909. "query": "",
  2910. "resultFormat": "time_series"
  2911. },
  2912. "metric": "",
  2913. "namespace": "",
  2914. "queryType": "Azure Resource Graph",
  2915. "refId": "A",
  2916. "samplingType": "",
  2917. "service": "metric",
  2918. "subscriptions": ["$subscriprions"],
  2919. "useBackends": false,
  2920. "useCustomSeriesNaming": false
  2921. }
  2922. ],
  2923. "title": "Networking Overview",
  2924. "type": "stat"
  2925. },
  2926. {
  2927. "datasource": "${ds}",
  2928. "fieldConfig": {
  2929. "defaults": {
  2930. "color": {
  2931. "mode": "thresholds"
  2932. },
  2933. "custom": {
  2934. "align": "auto",
  2935. "displayMode": "auto"
  2936. },
  2937. "mappings": [],
  2938. "thresholds": {
  2939. "mode": "absolute",
  2940. "steps": [
  2941. {
  2942. "color": "green",
  2943. "value": null
  2944. },
  2945. {
  2946. "color": "red",
  2947. "value": 80
  2948. }
  2949. ]
  2950. }
  2951. },
  2952. "overrides": []
  2953. },
  2954. "gridPos": {
  2955. "h": 8,
  2956. "w": 12,
  2957. "x": 12,
  2958. "y": 4
  2959. },
  2960. "id": 48,
  2961. "options": {
  2962. "showHeader": true
  2963. },
  2964. "pluginVersion": "8.2.0-pre",
  2965. "targets": [
  2966. {
  2967. "account": "",
  2968. "appInsights": {
  2969. "dimension": [],
  2970. "metricName": "select",
  2971. "timeGrain": "auto"
  2972. },
  2973. "azureLogAnalytics": {
  2974. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  2975. "resultFormat": "time_series",
  2976. "workspace": ""
  2977. },
  2978. "azureMonitor": {
  2979. "aggOptions": [],
  2980. "dimensionFilter": "*",
  2981. "dimensionFilters": [],
  2982. "timeGrain": "auto",
  2983. "timeGrains": [],
  2984. "top": "10"
  2985. },
  2986. "azureResourceGraph": {
  2987. "query": "Resources\r\n| where type =~ 'microsoft.network/networksecuritygroups' and isnull(properties.networkInterfaces) and isnull(properties.subnets)\r\n| project Resource=id, resourceGroup, subscriptionId, location",
  2988. "resultFormat": "table"
  2989. },
  2990. "backends": [],
  2991. "dimension": "",
  2992. "environment": "prod",
  2993. "insightsAnalytics": {
  2994. "query": "",
  2995. "resultFormat": "time_series"
  2996. },
  2997. "metric": "",
  2998. "namespace": "",
  2999. "queryType": "Azure Resource Graph",
  3000. "refId": "A",
  3001. "samplingType": "",
  3002. "service": "metric",
  3003. "subscriptions": ["$subscriprions"],
  3004. "useBackends": false,
  3005. "useCustomSeriesNaming": false
  3006. }
  3007. ],
  3008. "title": "NSG",
  3009. "type": "table"
  3010. },
  3011. {
  3012. "datasource": "${ds}",
  3013. "fieldConfig": {
  3014. "defaults": {
  3015. "color": {
  3016. "mode": "thresholds"
  3017. },
  3018. "custom": {
  3019. "align": "auto",
  3020. "displayMode": "auto"
  3021. },
  3022. "mappings": [],
  3023. "thresholds": {
  3024. "mode": "absolute",
  3025. "steps": [
  3026. {
  3027. "color": "green",
  3028. "value": null
  3029. },
  3030. {
  3031. "color": "red",
  3032. "value": 80
  3033. }
  3034. ]
  3035. }
  3036. },
  3037. "overrides": []
  3038. },
  3039. "gridPos": {
  3040. "h": 8,
  3041. "w": 12,
  3042. "x": 0,
  3043. "y": 12
  3044. },
  3045. "id": 49,
  3046. "options": {
  3047. "showHeader": true
  3048. },
  3049. "pluginVersion": "8.2.0-pre",
  3050. "targets": [
  3051. {
  3052. "account": "",
  3053. "appInsights": {
  3054. "dimension": [],
  3055. "metricName": "select",
  3056. "timeGrain": "auto"
  3057. },
  3058. "azureLogAnalytics": {
  3059. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  3060. "resultFormat": "time_series",
  3061. "workspace": ""
  3062. },
  3063. "azureMonitor": {
  3064. "aggOptions": [],
  3065. "dimensionFilter": "*",
  3066. "dimensionFilters": [],
  3067. "timeGrain": "auto",
  3068. "timeGrains": [],
  3069. "top": "10"
  3070. },
  3071. "azureResourceGraph": {
  3072. "query": "Resources\r\n| where type =~ 'microsoft.network/networksecuritygroups' and isnull(properties.networkInterfaces) and isnull(properties.subnets)\r\n| project Resource=id, resourceGroup, subscriptionId, location",
  3073. "resultFormat": "table"
  3074. },
  3075. "backends": [],
  3076. "dimension": "",
  3077. "environment": "prod",
  3078. "insightsAnalytics": {
  3079. "query": "",
  3080. "resultFormat": "time_series"
  3081. },
  3082. "metric": "",
  3083. "namespace": "",
  3084. "queryType": "Azure Resource Graph",
  3085. "refId": "A",
  3086. "samplingType": "",
  3087. "service": "metric",
  3088. "subscriptions": ["$subscriprions"],
  3089. "useBackends": false,
  3090. "useCustomSeriesNaming": false
  3091. }
  3092. ],
  3093. "title": "Unassociated NSGs",
  3094. "type": "table"
  3095. },
  3096. {
  3097. "datasource": "${ds}",
  3098. "fieldConfig": {
  3099. "defaults": {
  3100. "color": {
  3101. "mode": "thresholds"
  3102. },
  3103. "custom": {
  3104. "align": "auto",
  3105. "displayMode": "auto"
  3106. },
  3107. "mappings": [],
  3108. "thresholds": {
  3109. "mode": "absolute",
  3110. "steps": [
  3111. {
  3112. "color": "green",
  3113. "value": null
  3114. },
  3115. {
  3116. "color": "red",
  3117. "value": 80
  3118. }
  3119. ]
  3120. }
  3121. },
  3122. "overrides": []
  3123. },
  3124. "gridPos": {
  3125. "h": 8,
  3126. "w": 12,
  3127. "x": 12,
  3128. "y": 12
  3129. },
  3130. "id": 50,
  3131. "options": {
  3132. "showHeader": true
  3133. },
  3134. "pluginVersion": "8.2.0-pre",
  3135. "targets": [
  3136. {
  3137. "account": "",
  3138. "appInsights": {
  3139. "dimension": [],
  3140. "metricName": "select",
  3141. "timeGrain": "auto"
  3142. },
  3143. "azureLogAnalytics": {
  3144. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  3145. "resultFormat": "time_series",
  3146. "workspace": ""
  3147. },
  3148. "azureMonitor": {
  3149. "aggOptions": [],
  3150. "dimensionFilter": "*",
  3151. "dimensionFilters": [],
  3152. "timeGrain": "auto",
  3153. "timeGrains": [],
  3154. "top": "10"
  3155. },
  3156. "azureResourceGraph": {
  3157. "query": "Resources\r\n | where type =~ 'microsoft.network/networksecuritygroups'\r\n | project id, nsgRules = parse_json(parse_json(properties).securityRules), networksecurityGroupName = name, subscriptionId, resourceGroup , location\r\n | mvexpand nsgRule = nsgRules\r\n | project id, location, access=nsgRule.properties.access,protocol=nsgRule.properties.protocol ,direction=nsgRule.properties.direction,provisioningState= nsgRule.properties.provisioningState ,priority=nsgRule.properties.priority, \r\n sourceAddressPrefix = nsgRule.properties.sourceAddressPrefix, \r\n sourceAddressPrefixes = nsgRule.properties.sourceAddressPrefixes,\r\n destinationAddressPrefix = nsgRule.properties.destinationAddressPrefix, \r\n destinationAddressPrefixes = nsgRule.properties.destinationAddressPrefixes, \r\n networksecurityGroupName, networksecurityRuleName = tostring(nsgRule.name), \r\n subscriptionId, resourceGroup,\r\n destinationPortRanges = nsgRule.properties.destinationPortRanges,\r\n destinationPortRange = nsgRule.properties.destinationPortRange,\r\n sourcePortRanges = nsgRule.properties.sourcePortRanges,\r\n sourcePortRange = nsgRule.properties.sourcePortRange\r\n| extend Details = pack_all()\r\n| project id, location, access, direction, subscriptionId, resourceGroup, Details",
  3158. "resultFormat": "table"
  3159. },
  3160. "backends": [],
  3161. "dimension": "",
  3162. "environment": "prod",
  3163. "insightsAnalytics": {
  3164. "query": "",
  3165. "resultFormat": "time_series"
  3166. },
  3167. "metric": "",
  3168. "namespace": "",
  3169. "queryType": "Azure Resource Graph",
  3170. "refId": "A",
  3171. "samplingType": "",
  3172. "service": "metric",
  3173. "subscriptions": ["$subscriprions"],
  3174. "useBackends": false,
  3175. "useCustomSeriesNaming": false
  3176. }
  3177. ],
  3178. "title": "NSG Rules",
  3179. "type": "table"
  3180. }
  3181. ],
  3182. "title": "Networking",
  3183. "type": "row"
  3184. },
  3185. {
  3186. "collapsed": true,
  3187. "datasource": null,
  3188. "gridPos": {
  3189. "h": 1,
  3190. "w": 24,
  3191. "x": 0,
  3192. "y": 4
  3193. },
  3194. "id": 52,
  3195. "panels": [
  3196. {
  3197. "datasource": "${ds}",
  3198. "fieldConfig": {
  3199. "defaults": {
  3200. "color": {
  3201. "mode": "thresholds"
  3202. },
  3203. "mappings": [],
  3204. "thresholds": {
  3205. "mode": "absolute",
  3206. "steps": [
  3207. {
  3208. "color": "green",
  3209. "value": null
  3210. },
  3211. {
  3212. "color": "red",
  3213. "value": 80
  3214. }
  3215. ]
  3216. }
  3217. },
  3218. "overrides": []
  3219. },
  3220. "gridPos": {
  3221. "h": 8,
  3222. "w": 9,
  3223. "x": 0,
  3224. "y": 5
  3225. },
  3226. "id": 54,
  3227. "options": {
  3228. "colorMode": "value",
  3229. "graphMode": "area",
  3230. "justifyMode": "auto",
  3231. "orientation": "auto",
  3232. "reduceOptions": {
  3233. "calcs": ["lastNotNull"],
  3234. "fields": "",
  3235. "values": true
  3236. },
  3237. "text": {},
  3238. "textMode": "auto"
  3239. },
  3240. "pluginVersion": "8.2.0-pre",
  3241. "targets": [
  3242. {
  3243. "account": "",
  3244. "appInsights": {
  3245. "dimension": [],
  3246. "metricName": "select",
  3247. "timeGrain": "auto"
  3248. },
  3249. "azureLogAnalytics": {
  3250. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  3251. "resultFormat": "time_series",
  3252. "workspace": ""
  3253. },
  3254. "azureMonitor": {
  3255. "aggOptions": [],
  3256. "dimensionFilter": "*",
  3257. "dimensionFilters": [],
  3258. "timeGrain": "auto",
  3259. "timeGrains": [],
  3260. "top": "10"
  3261. },
  3262. "azureResourceGraph": {
  3263. "query": "resources \r\n| where type =~ 'microsoft.operationalinsights/workspaces'\r\nor type =~ 'microsoft.insights/components'\r\n| summarize count() by type\r\n| extend type = case(\r\ntype == 'microsoft.insights/components', \"Application Insights\",\r\ntype == 'microsoft.operationalinsights/workspaces', \"Log Analytics workspaces\",\r\nstrcat(type, type))",
  3264. "resultFormat": "table"
  3265. },
  3266. "backends": [],
  3267. "dimension": "",
  3268. "environment": "prod",
  3269. "insightsAnalytics": {
  3270. "query": "",
  3271. "resultFormat": "time_series"
  3272. },
  3273. "metric": "",
  3274. "namespace": "",
  3275. "queryType": "Azure Resource Graph",
  3276. "refId": "A",
  3277. "samplingType": "",
  3278. "service": "metric",
  3279. "subscriptions": ["$subscriprions"],
  3280. "useBackends": false,
  3281. "useCustomSeriesNaming": false
  3282. }
  3283. ],
  3284. "title": "Workspaces Overview",
  3285. "type": "stat"
  3286. },
  3287. {
  3288. "datasource": "${ds}",
  3289. "fieldConfig": {
  3290. "defaults": {
  3291. "color": {
  3292. "mode": "thresholds"
  3293. },
  3294. "mappings": [],
  3295. "thresholds": {
  3296. "mode": "absolute",
  3297. "steps": [
  3298. {
  3299. "color": "green",
  3300. "value": null
  3301. },
  3302. {
  3303. "color": "red",
  3304. "value": 80
  3305. }
  3306. ]
  3307. }
  3308. },
  3309. "overrides": []
  3310. },
  3311. "gridPos": {
  3312. "h": 8,
  3313. "w": 15,
  3314. "x": 9,
  3315. "y": 5
  3316. },
  3317. "id": 55,
  3318. "options": {
  3319. "colorMode": "value",
  3320. "graphMode": "area",
  3321. "justifyMode": "auto",
  3322. "orientation": "auto",
  3323. "reduceOptions": {
  3324. "calcs": ["lastNotNull"],
  3325. "fields": "",
  3326. "values": true
  3327. },
  3328. "text": {},
  3329. "textMode": "auto"
  3330. },
  3331. "pluginVersion": "8.2.0-pre",
  3332. "targets": [
  3333. {
  3334. "account": "",
  3335. "appInsights": {
  3336. "dimension": [],
  3337. "metricName": "select",
  3338. "timeGrain": "auto"
  3339. },
  3340. "azureLogAnalytics": {
  3341. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  3342. "resultFormat": "time_series",
  3343. "workspace": ""
  3344. },
  3345. "azureMonitor": {
  3346. "aggOptions": [],
  3347. "dimensionFilter": "*",
  3348. "dimensionFilters": [],
  3349. "timeGrain": "auto",
  3350. "timeGrains": [],
  3351. "top": "10"
  3352. },
  3353. "azureResourceGraph": {
  3354. "query": "resources\r\n| where type has 'microsoft.insights/'\r\n or type has 'microsoft.alertsmanagement/smartdetectoralertrules'\r\n or type has 'microsoft.portal/dashboards'\r\n| where type != 'microsoft.insights/components'\r\n| extend type = case(\r\n \ttype == 'microsoft.insights/workbooks', \"Workbooks\",\r\n\ttype == 'microsoft.insights/activitylogalerts', \"Activity Log Alerts\",\r\n\ttype == 'microsoft.insights/scheduledqueryrules', \"Log Search Alerts\",\r\n\ttype == 'microsoft.insights/actiongroups', \"Action Groups\",\r\n\ttype == 'microsoft.insights/metricalerts', \"Metric Alerts\",\r\n\ttype =~ 'microsoft.alertsmanagement/smartdetectoralertrules','Smart Detection Rules',\r\n type =~ 'microsoft.insights/webtests', 'URL Web Tests',\r\n type =~ 'microsoft.portal/dashboards', 'Portal Dashboards',\r\n type =~ 'microsoft.insights/datacollectionrules', 'Data Collection Rules',\r\n type =~ 'microsoft.insights/autoscalesettings', 'Auto Scale Settings',\r\n type =~ 'microsoft.insights/alertrules', 'Alert Rules',\r\nstrcat(\"Not Translated: \", type))\r\n| summarize count() by type",
  3355. "resultFormat": "table"
  3356. },
  3357. "backends": [],
  3358. "dimension": "",
  3359. "environment": "prod",
  3360. "insightsAnalytics": {
  3361. "query": "",
  3362. "resultFormat": "time_series"
  3363. },
  3364. "metric": "",
  3365. "namespace": "",
  3366. "queryType": "Azure Resource Graph",
  3367. "refId": "A",
  3368. "samplingType": "",
  3369. "service": "metric",
  3370. "subscriptions": ["$subscriprions"],
  3371. "useBackends": false,
  3372. "useCustomSeriesNaming": false
  3373. }
  3374. ],
  3375. "title": "Azure Monitor Workbooks & Alerting Resources",
  3376. "type": "stat"
  3377. },
  3378. {
  3379. "datasource": "${ds}",
  3380. "fieldConfig": {
  3381. "defaults": {
  3382. "color": {
  3383. "mode": "thresholds"
  3384. },
  3385. "custom": {
  3386. "align": "auto",
  3387. "displayMode": "auto"
  3388. },
  3389. "mappings": [],
  3390. "thresholds": {
  3391. "mode": "absolute",
  3392. "steps": [
  3393. {
  3394. "color": "green",
  3395. "value": null
  3396. },
  3397. {
  3398. "color": "red",
  3399. "value": 80
  3400. }
  3401. ]
  3402. }
  3403. },
  3404. "overrides": []
  3405. },
  3406. "gridPos": {
  3407. "h": 8,
  3408. "w": 12,
  3409. "x": 0,
  3410. "y": 13
  3411. },
  3412. "id": 57,
  3413. "options": {
  3414. "showHeader": true
  3415. },
  3416. "pluginVersion": "8.2.0-pre",
  3417. "targets": [
  3418. {
  3419. "account": "",
  3420. "appInsights": {
  3421. "dimension": [],
  3422. "metricName": "select",
  3423. "timeGrain": "auto"
  3424. },
  3425. "azureLogAnalytics": {
  3426. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  3427. "resultFormat": "time_series",
  3428. "workspace": ""
  3429. },
  3430. "azureMonitor": {
  3431. "aggOptions": [],
  3432. "dimensionFilter": "*",
  3433. "dimensionFilters": [],
  3434. "timeGrain": "auto",
  3435. "timeGrains": [],
  3436. "top": "10"
  3437. },
  3438. "azureResourceGraph": {
  3439. "query": "resources\r\n| where type has 'microsoft.insights/'\r\n or type has 'microsoft.alertsmanagement/smartdetectoralertrules'\r\n or type has 'microsoft.portal/dashboards'\r\n| where type != 'microsoft.insights/components'\r\n| extend type = case(\r\n \ttype == 'microsoft.insights/workbooks', \"Workbooks\",\r\n\ttype == 'microsoft.insights/activitylogalerts', \"Activity Log Alerts\",\r\n\ttype == 'microsoft.insights/scheduledqueryrules', \"Log Search Alerts\",\r\n\ttype == 'microsoft.insights/actiongroups', \"Action Groups\",\r\n\ttype == 'microsoft.insights/metricalerts', \"Metric Alerts\",\r\n\ttype =~ 'microsoft.alertsmanagement/smartdetectoralertrules','Smart Detection Rules',\r\n type =~ 'microsoft.portal/dashboards', 'Portal Dashboards',\r\n\tstrcat(\"Not Translated: \", type))\r\n| extend Enabled = case(\r\n\ttype =~ 'Smart Detection Rules', properties.state,\r\n\ttype != 'Smart Detection Rules', properties.enabled,\r\n\tstrcat(\"Not Translated: \", type))\r\n| extend WorkbookType = iif(type =~ 'Workbooks', properties.category, ' ')\r\n| extend Details = pack_all()\r\n| project name, type, subscriptionId, location, resourceGroup, Enabled, WorkbookType, Details",
  3440. "resultFormat": "table"
  3441. },
  3442. "backends": [],
  3443. "dimension": "",
  3444. "environment": "prod",
  3445. "insightsAnalytics": {
  3446. "query": "",
  3447. "resultFormat": "time_series"
  3448. },
  3449. "metric": "",
  3450. "namespace": "",
  3451. "queryType": "Azure Resource Graph",
  3452. "refId": "A",
  3453. "samplingType": "",
  3454. "service": "metric",
  3455. "subscriptions": ["$subscriprions"],
  3456. "useBackends": false,
  3457. "useCustomSeriesNaming": false
  3458. }
  3459. ],
  3460. "title": "Workbooks & Alerting Resources",
  3461. "type": "table"
  3462. },
  3463. {
  3464. "datasource": "${ds}",
  3465. "fieldConfig": {
  3466. "defaults": {
  3467. "color": {
  3468. "mode": "thresholds"
  3469. },
  3470. "custom": {
  3471. "align": "auto",
  3472. "displayMode": "auto"
  3473. },
  3474. "mappings": [],
  3475. "thresholds": {
  3476. "mode": "absolute",
  3477. "steps": [
  3478. {
  3479. "color": "green",
  3480. "value": null
  3481. },
  3482. {
  3483. "color": "red",
  3484. "value": 80
  3485. }
  3486. ]
  3487. }
  3488. },
  3489. "overrides": []
  3490. },
  3491. "gridPos": {
  3492. "h": 8,
  3493. "w": 12,
  3494. "x": 12,
  3495. "y": 13
  3496. },
  3497. "id": 59,
  3498. "options": {
  3499. "showHeader": true
  3500. },
  3501. "pluginVersion": "8.2.0-pre",
  3502. "targets": [
  3503. {
  3504. "account": "",
  3505. "appInsights": {
  3506. "dimension": [],
  3507. "metricName": "select",
  3508. "timeGrain": "auto"
  3509. },
  3510. "azureLogAnalytics": {
  3511. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  3512. "resultFormat": "time_series",
  3513. "workspace": ""
  3514. },
  3515. "azureMonitor": {
  3516. "aggOptions": [],
  3517. "dimensionFilter": "*",
  3518. "dimensionFilters": [],
  3519. "timeGrain": "auto",
  3520. "timeGrains": [],
  3521. "top": "10"
  3522. },
  3523. "azureResourceGraph": {
  3524. "query": "where type =~ 'microsoft.operationalinsights/workspaces'\r\n| extend Sku = properties.sku.name\r\n| extend RetentionInDays = properties.retentionInDays\r\n| extend Details = pack_all()\r\n| project Workspace=id, resourceGroup, location, subscriptionId, Sku, RetentionInDays, Details",
  3525. "resultFormat": "table"
  3526. },
  3527. "backends": [],
  3528. "dimension": "",
  3529. "environment": "prod",
  3530. "insightsAnalytics": {
  3531. "query": "",
  3532. "resultFormat": "time_series"
  3533. },
  3534. "metric": "",
  3535. "namespace": "",
  3536. "queryType": "Azure Resource Graph",
  3537. "refId": "A",
  3538. "samplingType": "",
  3539. "service": "metric",
  3540. "subscriptions": ["$subscriprions"],
  3541. "useBackends": false,
  3542. "useCustomSeriesNaming": false
  3543. }
  3544. ],
  3545. "title": "Log Analytics",
  3546. "type": "table"
  3547. },
  3548. {
  3549. "datasource": "${ds}",
  3550. "fieldConfig": {
  3551. "defaults": {
  3552. "color": {
  3553. "mode": "thresholds"
  3554. },
  3555. "custom": {
  3556. "align": "auto",
  3557. "displayMode": "auto"
  3558. },
  3559. "mappings": [],
  3560. "thresholds": {
  3561. "mode": "absolute",
  3562. "steps": [
  3563. {
  3564. "color": "green",
  3565. "value": null
  3566. },
  3567. {
  3568. "color": "red",
  3569. "value": 80
  3570. }
  3571. ]
  3572. }
  3573. },
  3574. "overrides": []
  3575. },
  3576. "gridPos": {
  3577. "h": 8,
  3578. "w": 12,
  3579. "x": 0,
  3580. "y": 21
  3581. },
  3582. "id": 56,
  3583. "options": {
  3584. "showHeader": true
  3585. },
  3586. "pluginVersion": "8.2.0-pre",
  3587. "targets": [
  3588. {
  3589. "account": "",
  3590. "appInsights": {
  3591. "dimension": [],
  3592. "metricName": "select",
  3593. "timeGrain": "auto"
  3594. },
  3595. "azureLogAnalytics": {
  3596. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  3597. "resultFormat": "time_series",
  3598. "workspace": ""
  3599. },
  3600. "azureMonitor": {
  3601. "aggOptions": [],
  3602. "dimensionFilter": "*",
  3603. "dimensionFilters": [],
  3604. "timeGrain": "auto",
  3605. "timeGrains": [],
  3606. "top": "10"
  3607. },
  3608. "azureResourceGraph": {
  3609. "query": "AlertsManagementResources\r\n| extend AlertStatus = properties.essentials.monitorCondition\r\n| extend AlertState = properties.essentials.alertState\r\n| extend AlertTime = properties.essentials.startDateTime\r\n| extend AlertSuppressed = properties.essentials.actionStatus.isSuppressed\r\n| extend Severity = properties.essentials.severity\r\n| where AlertStatus == 'Fired'\r\n| extend Details = pack_all()\r\n| project id, name, subscriptionId, resourceGroup, AlertStatus, AlertState, AlertTime, AlertSuppressed, Severity, Details",
  3610. "resultFormat": "table"
  3611. },
  3612. "backends": [],
  3613. "dimension": "",
  3614. "environment": "prod",
  3615. "insightsAnalytics": {
  3616. "query": "",
  3617. "resultFormat": "time_series"
  3618. },
  3619. "metric": "",
  3620. "namespace": "",
  3621. "queryType": "Azure Resource Graph",
  3622. "refId": "A",
  3623. "samplingType": "",
  3624. "service": "metric",
  3625. "subscriptions": ["$subscriprions"],
  3626. "useBackends": false,
  3627. "useCustomSeriesNaming": false
  3628. }
  3629. ],
  3630. "title": "Active Alerts",
  3631. "type": "table"
  3632. },
  3633. {
  3634. "datasource": "${ds}",
  3635. "fieldConfig": {
  3636. "defaults": {
  3637. "color": {
  3638. "mode": "thresholds"
  3639. },
  3640. "custom": {
  3641. "align": "left",
  3642. "displayMode": "auto"
  3643. },
  3644. "mappings": [],
  3645. "thresholds": {
  3646. "mode": "absolute",
  3647. "steps": [
  3648. {
  3649. "color": "green",
  3650. "value": null
  3651. },
  3652. {
  3653. "color": "red",
  3654. "value": 80
  3655. }
  3656. ]
  3657. }
  3658. },
  3659. "overrides": []
  3660. },
  3661. "gridPos": {
  3662. "h": 8,
  3663. "w": 12,
  3664. "x": 12,
  3665. "y": 21
  3666. },
  3667. "id": 61,
  3668. "options": {
  3669. "showHeader": true
  3670. },
  3671. "pluginVersion": "8.2.0-pre",
  3672. "targets": [
  3673. {
  3674. "account": "",
  3675. "appInsights": {
  3676. "dimension": [],
  3677. "metricName": "select",
  3678. "timeGrain": "auto"
  3679. },
  3680. "azureLogAnalytics": {
  3681. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  3682. "resultFormat": "time_series",
  3683. "workspace": ""
  3684. },
  3685. "azureMonitor": {
  3686. "aggOptions": [],
  3687. "dimensionFilter": "*",
  3688. "dimensionFilters": [],
  3689. "timeGrain": "auto",
  3690. "timeGrains": [],
  3691. "top": "10"
  3692. },
  3693. "azureResourceGraph": {
  3694. "query": "securityresources\r\n| where type == \"microsoft.security/securescores\"\r\n| extend subscriptionSecureScore = round(100 * bin((todouble(properties.score.current))/ todouble(properties.score.max), 0.001))\r\n| where subscriptionSecureScore > 0\r\n| project subscriptionSecureScore, subscriptionId\r\n| order by subscriptionSecureScore asc",
  3695. "resultFormat": "table"
  3696. },
  3697. "backends": [],
  3698. "dimension": "",
  3699. "environment": "prod",
  3700. "insightsAnalytics": {
  3701. "query": "",
  3702. "resultFormat": "time_series"
  3703. },
  3704. "metric": "",
  3705. "namespace": "",
  3706. "queryType": "Azure Resource Graph",
  3707. "refId": "A",
  3708. "samplingType": "",
  3709. "service": "metric",
  3710. "subscriptions": ["$subscriprions"],
  3711. "useBackends": false,
  3712. "useCustomSeriesNaming": false
  3713. }
  3714. ],
  3715. "title": "Azure Security Center Secure Store by Subscription",
  3716. "type": "table"
  3717. },
  3718. {
  3719. "datasource": "${ds}",
  3720. "fieldConfig": {
  3721. "defaults": {
  3722. "color": {
  3723. "mode": "thresholds"
  3724. },
  3725. "custom": {
  3726. "align": "auto",
  3727. "displayMode": "auto"
  3728. },
  3729. "mappings": [],
  3730. "thresholds": {
  3731. "mode": "absolute",
  3732. "steps": [
  3733. {
  3734. "color": "green",
  3735. "value": null
  3736. },
  3737. {
  3738. "color": "red",
  3739. "value": 80
  3740. }
  3741. ]
  3742. }
  3743. },
  3744. "overrides": []
  3745. },
  3746. "gridPos": {
  3747. "h": 8,
  3748. "w": 12,
  3749. "x": 0,
  3750. "y": 29
  3751. },
  3752. "id": 58,
  3753. "options": {
  3754. "showHeader": true
  3755. },
  3756. "pluginVersion": "8.2.0-pre",
  3757. "targets": [
  3758. {
  3759. "account": "",
  3760. "appInsights": {
  3761. "dimension": [],
  3762. "metricName": "select",
  3763. "timeGrain": "auto"
  3764. },
  3765. "azureLogAnalytics": {
  3766. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  3767. "resultFormat": "time_series",
  3768. "workspace": ""
  3769. },
  3770. "azureMonitor": {
  3771. "aggOptions": [],
  3772. "dimensionFilter": "*",
  3773. "dimensionFilters": [],
  3774. "timeGrain": "auto",
  3775. "timeGrains": [],
  3776. "top": "10"
  3777. },
  3778. "azureResourceGraph": {
  3779. "query": "where type =~ 'microsoft.insights/components'\r\n| extend RetentionInDays = properties.RetentionInDays\r\n| extend IngestionMode = properties.IngestionMode\r\n| extend Details = pack_all()\r\n| project Resource=id, location, resourceGroup, subscriptionId, IngestionMode, RetentionInDays, Details",
  3780. "resultFormat": "table"
  3781. },
  3782. "backends": [],
  3783. "dimension": "",
  3784. "environment": "prod",
  3785. "insightsAnalytics": {
  3786. "query": "",
  3787. "resultFormat": "time_series"
  3788. },
  3789. "metric": "",
  3790. "namespace": "",
  3791. "queryType": "Azure Resource Graph",
  3792. "refId": "A",
  3793. "samplingType": "",
  3794. "service": "metric",
  3795. "subscriptions": ["$subscriprions"],
  3796. "useBackends": false,
  3797. "useCustomSeriesNaming": false
  3798. }
  3799. ],
  3800. "title": "App Monitoring",
  3801. "type": "table"
  3802. },
  3803. {
  3804. "datasource": "${ds}",
  3805. "fieldConfig": {
  3806. "defaults": {
  3807. "color": {
  3808. "mode": "thresholds"
  3809. },
  3810. "custom": {
  3811. "align": "auto",
  3812. "displayMode": "auto"
  3813. },
  3814. "mappings": [],
  3815. "thresholds": {
  3816. "mode": "absolute",
  3817. "steps": [
  3818. {
  3819. "color": "green",
  3820. "value": null
  3821. },
  3822. {
  3823. "color": "red",
  3824. "value": 80
  3825. }
  3826. ]
  3827. }
  3828. },
  3829. "overrides": []
  3830. },
  3831. "gridPos": {
  3832. "h": 8,
  3833. "w": 12,
  3834. "x": 12,
  3835. "y": 37
  3836. },
  3837. "id": 60,
  3838. "options": {
  3839. "showHeader": true
  3840. },
  3841. "pluginVersion": "8.2.0-pre",
  3842. "targets": [
  3843. {
  3844. "account": "",
  3845. "appInsights": {
  3846. "dimension": [],
  3847. "metricName": "select",
  3848. "timeGrain": "auto"
  3849. },
  3850. "azureLogAnalytics": {
  3851. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  3852. "resultFormat": "time_series",
  3853. "workspace": ""
  3854. },
  3855. "azureMonitor": {
  3856. "aggOptions": [],
  3857. "dimensionFilter": "*",
  3858. "dimensionFilters": [],
  3859. "timeGrain": "auto",
  3860. "timeGrains": [],
  3861. "top": "10"
  3862. },
  3863. "azureResourceGraph": {
  3864. "query": "resources\r\n| where type == \"microsoft.operationsmanagement/solutions\"\r\n| project Solution=plan.name, Workspace=tolower(tostring(properties.workspaceResourceId)), subscriptionId\r\n\t| join kind=leftouter(\r\n\t\tresources\r\n\t\t| where type =~ 'microsoft.operationalinsights/workspaces'\r\n\t\t| project Workspace=tolower(tostring(id)),subscriptionId) on Workspace\r\n| summarize Solutions = strcat_array(make_list(Solution), \",\") by Workspace, subscriptionId\r\n| extend AzureSecurityCenter = iif(Solutions has 'Security','Enabled','Not Enabled')\r\n| extend AzureSecurityCenterFree = iif(Solutions has 'SecurityCenterFree','Enabled','Not Enabled')\r\n| extend AzureSentinel = iif(Solutions has \"SecurityInsights\",'Enabled','Not Enabled')\r\n| extend AzureMonitorVMs = iif(Solutions has \"VMInsights\",'Enabled','Not Enabled')\r\n| extend ServiceDesk = iif(Solutions has \"ITSM Connector\",'Enabled','Not Enabled')\r\n| extend AzureAutomation = iif(Solutions has \"AzureAutomation\",'Enabled','Not Enabled')\r\n| extend ChangeTracking = iif(Solutions has 'ChangeTracking','Enabled','Not Enabled')\r\n| extend UpdateManagement = iif(Solutions has 'Updates','Enabled','Not Enabled')\r\n| extend UpdateCompliance = iif(Solutions has 'WaaSUpdateInsights','Enabled','Not Enabled')\r\n| extend AzureMonitorContainers = iif(Solutions has 'ContainerInsights','Enabled','Not Enabled')\r\n| extend KeyVaultAnalytics = iif(Solutions has 'KeyVaultAnalytics','Enabled','Not Enabled')\r\n| extend SQLHealthCheck = iif(Solutions has 'SQLAssessment','Enabled','Not Enabled')",
  3865. "resultFormat": "table"
  3866. },
  3867. "backends": [],
  3868. "dimension": "",
  3869. "environment": "prod",
  3870. "insightsAnalytics": {
  3871. "query": "",
  3872. "resultFormat": "time_series"
  3873. },
  3874. "metric": "",
  3875. "namespace": "",
  3876. "queryType": "Azure Resource Graph",
  3877. "refId": "A",
  3878. "samplingType": "",
  3879. "service": "metric",
  3880. "subscriptions": ["$subscriprions"],
  3881. "useBackends": false,
  3882. "useCustomSeriesNaming": false
  3883. }
  3884. ],
  3885. "title": "Log Analytics workspaces with enabled Solutions",
  3886. "type": "table"
  3887. },
  3888. {
  3889. "datasource": "${ds}",
  3890. "fieldConfig": {
  3891. "defaults": {
  3892. "color": {
  3893. "mode": "thresholds"
  3894. },
  3895. "custom": {
  3896. "align": "auto",
  3897. "displayMode": "auto"
  3898. },
  3899. "mappings": [],
  3900. "thresholds": {
  3901. "mode": "absolute",
  3902. "steps": [
  3903. {
  3904. "color": "green",
  3905. "value": null
  3906. },
  3907. {
  3908. "color": "red",
  3909. "value": 80
  3910. }
  3911. ]
  3912. }
  3913. },
  3914. "overrides": []
  3915. },
  3916. "gridPos": {
  3917. "h": 8,
  3918. "w": 12,
  3919. "x": 0,
  3920. "y": 45
  3921. },
  3922. "id": 62,
  3923. "options": {
  3924. "showHeader": true
  3925. },
  3926. "pluginVersion": "8.2.0-pre",
  3927. "targets": [
  3928. {
  3929. "account": "",
  3930. "appInsights": {
  3931. "dimension": [],
  3932. "metricName": "select",
  3933. "timeGrain": "auto"
  3934. },
  3935. "azureLogAnalytics": {
  3936. "query": "//change this example to create your own time series query\n<table name> //the table to query (e.g. Usage, Heartbeat, Perf)\n| where $__timeFilter(TimeGenerated) //this is a macro used to show the full chart’s time range, choose the datetime column here\n| summarize count() by <group by column>, bin(TimeGenerated, $__interval) //change “group by column” to a column in your table, such as “Computer”. The $__interval macro is used to auto-select the time grain. Can also use 1h, 5m etc.\n| order by TimeGenerated asc",
  3937. "resultFormat": "time_series",
  3938. "workspace": ""
  3939. },
  3940. "azureMonitor": {
  3941. "aggOptions": [],
  3942. "dimensionFilter": "*",
  3943. "dimensionFilters": [],
  3944. "timeGrain": "auto",
  3945. "timeGrains": [],
  3946. "top": "10"
  3947. },
  3948. "azureResourceGraph": {
  3949. "query": "SecurityResources \r\n| where type == 'microsoft.security/securescores/securescorecontrols' \r\n| extend SecureControl = properties.displayName, unhealthy = properties.unhealthyResourceCount, currentscore = properties.score.current, maxscore = properties.score.max, subscriptionId\r\n| project SecureControl , unhealthy, currentscore, maxscore, subscriptionId",
  3950. "resultFormat": "table"
  3951. },
  3952. "backends": [],
  3953. "dimension": "",
  3954. "environment": "prod",
  3955. "insightsAnalytics": {
  3956. "query": "",
  3957. "resultFormat": "time_series"
  3958. },
  3959. "metric": "",
  3960. "namespace": "",
  3961. "queryType": "Azure Resource Graph",
  3962. "refId": "A",
  3963. "samplingType": "",
  3964. "service": "metric",
  3965. "subscriptions": ["$subscriprions"],
  3966. "useBackends": false,
  3967. "useCustomSeriesNaming": false
  3968. }
  3969. ],
  3970. "title": "Azure Security Center Secure Controls Score by Controls",
  3971. "type": "table"
  3972. }
  3973. ],
  3974. "title": "Monitoring & Security",
  3975. "type": "row"
  3976. }
  3977. ],
  3978. "refresh": "",
  3979. "schemaVersion": 31,
  3980. "style": "dark",
  3981. "tags": [],
  3982. "templating": {
  3983. "list": [
  3984. {
  3985. "allValue": null,
  3986. "current": {},
  3987. "datasource": "${ds}",
  3988. "definition": "Subscriptions()",
  3989. "description": null,
  3990. "error": null,
  3991. "hide": 0,
  3992. "includeAll": false,
  3993. "label": null,
  3994. "multi": true,
  3995. "name": "subscriprions",
  3996. "options": [],
  3997. "query": "Subscriptions()",
  3998. "refresh": 1,
  3999. "regex": "",
  4000. "skipUrlSync": false,
  4001. "sort": 0,
  4002. "type": "query"
  4003. }
  4004. ]
  4005. },
  4006. "time": {
  4007. "from": "now-1h",
  4008. "to": "now"
  4009. },
  4010. "timepicker": {},
  4011. "timezone": "",
  4012. "title": "Azure / Resources Overview",
  4013. "uid": "Mtwt2BV7k",
  4014. "version": 3
  4015. }