Code Monkey home page Code Monkey logo

azuremonitoringhackathon's Introduction

Azure Monitoring Hackathon

Overview

This challenged based Azure Monitoring Hackathon is intended to teach how to monitor Azure workloads. During these three days you will be working Azure Monitor, Log Analytics and Application Insights.

Setup Guide

Challenges

Proctors Guide

Goals

1. Build attendees technical skills on Monitoring workloads in Azure

2. Understand what Monitoring Tools are available in Azure and how to implement them.

Prerequisites

1. Attendees have access to an Azure Subscription where they can each deploy the provided ARM template that will build a very detailed infrastructure to monitor.  This includes the Vnet, subnets, NSG(s), LB(s), NAT rules, Scales Set and a fully functional .NET Core Application (eShopOnWeb) to monitor.

2.Attendees should have a level 200-300 understanding of the Azure platform.  Understand concepts like PowerShell, Azure Cli, ARM, resource groups, RBAC, network, storage, compute, Scale Sets, virtual machines and security.  Previous experience working with ARM templates is recommended.

3. Access to a machine with Visual Studio Code and the Azure PowerShell Modules loaded or Azure CLI. VS Code ARM and PowerShell extensions should be configured.

alt text

Agenda

Day 1

9 – 9:30 AM: Kickoff & Introductions

9:30 - 10:30 AM: Deploy Lab

10:30 - 10:45 AM: Break

10:45 - Noon: Azure Security & Management and Monitor Overviews

Noon – 1 PM: Lunch

1 – 3 PM: Monitor and Alert Rule Challenges begin

3 – 3:15 PM: Break

3:15 – 5 PM: Monitor and Alert Rule Automation Challenges begins

Day 2

9 – 9:30 AM: Team Sync up (what did you learn from Day 1?, how did it go?, blocked?)

9:30 - 10:15 AM: Log Analytics Overview

10:15 - 10:30 AM: Break

10:30 - Noon: Log Analytics Challenges Start

Noon – 1 PM: Lunch

1 – 3 PM: Log Analytics Dashboard Challenges Start

3 – 3:15 PM: break

3:15 – 5 PM: Log Analytics Challanges (complete)

Day 3

9 – 9:30 AM: Team Sync up (what did you learn from Day 2?, how did it go?, blocked?)

9:30 - 10:15 AM: App Insights Overview

10:15 - 10:30 AM: Break

10:30 - Noon: App Insights Challenges Start

Noon – 1 PM: Lunch

1 – 3 PM: App Insights Challenges Continues

3 – 4 PM: Plan & Whiteboard Monitoring for existing Application

azuremonitoringhackathon's People

Contributors

alihhussain avatar gfilicetti avatar jrzyshr avatar rkuehfus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

azuremonitoringhackathon's Issues

Step by Step guide

Hi rkuehfus.

I know this could be so much to ask for but it would be nice to have an step by step guide of how to deploy the entire hackathon so customer with less level on azure can use it. Hope you have something like that in the future.

Thanks for this amazing contribution.

Failed to download all specified files. Exiting. Error Message: Unable to connect to the remote server.

Hey Robert,
I'm receiving the following error when the script tries to provision the VMSS:
Failed to restart virtual machine scale set 'arwebScaleSet'. Error: VM has reported a failure when processing extension 'CustomScriptExtension'. Error message: "Failed to download all specified files. Exiting. Error Message: Unable to connect to the remote server".

Also, here is the exact text of the VMSS CustomScriptExtension:
{
"fileUris": [
"https://raw.githubusercontent.com/rkuehfus/AzureMonitoringHackathon/master/SetupWebServers.ps1"
],
"commandToExecute": "powershell.exe -ExecutionPolicy Unrestricted -File SetupWebServers.ps1 arVSSrv17 vmadmin *********"
}

eShop doesn't work after deploy

hi @rkuehfus, after completing deployment the guide eShop application doesn't appear, there is just IIS welcome page.

VS virtual machine has the following custom script extension status

[
    {
        "code": "ComponentStatus/StdOut/succeeded",
        "level": "Info",
        "displayStatus": "Provisioning succeeded",
        "message": "                           Version=4.0.0.0, Culture=neutral, \\n                             PublicKeyToken=b77a5c561934e089\\nTypeHandle                 : System.RuntimeTypeHandle\\nDeclaringMethod            : \\nBaseType                   : System.MulticastDelegate\\nUnderlyingSystemType       : System.LocalAppContext+TryGetSwitchDelegate\\nFullName                   : System.LocalAppContext+TryGetSwitchDelegate\\nAssemblyQualifiedName      : System.LocalAppContext+TryGetSwitchDelegate, \\n                             System.IO.Compression.FileSystem, \\n                             Version=4.0.0.0, Culture=neutral, \\n                             PublicKeyToken=b77a5c561934e089\\nNamespace                  : System\\nGUID                       : bf148a77-00ed-382a-9f6a-2a95b8338b87\\nIsEnum                     : False\\nGenericParameterAttributes : \\nIsSecurityCritical         : False\\nIsSecuritySafeCritical     : False\\nIsSecurityTransparent      : True\\nIsGenericTypeDefinition    : False\\nIsGenericParameter         : False\\nGenericParameterPosition   : \\nIsGenericType              : False\\nIsConstructedGenericType   : False\\nContainsGenericParameters  : False\\nStructLayoutAttribute      : System.Runtime.InteropServices.StructLayoutAttribu\\n                             te\\nName                       : TryGetSwitchDelegate\\nMemberType                 : NestedType\\nDeclaringType              : System.LocalAppContext\\nReflectedType              : System.LocalAppContext\\nMetadataToken              : 33554440\\nGenericTypeParameters      : {}\\nDeclaredConstructors       : {Void .ctor(System.Object, IntPtr)}\\nDeclaredEvents             : {}\\nDeclaredFields             : {}\\nDeclaredMembers            : {Boolean Invoke(System.String, Boolean ByRef), \\n                             System.IAsyncResult BeginInvoke(System.String, \\n                             Boolean ByRef, System.AsyncCallback, \\n                             System.Object), Boolean EndInvoke(Boolean ByRef, \\n                             System.IAsyncResult), Void .ctor(System.Object, \\n                             IntPtr)}\\nDeclaredMethods            : {Boolean Invoke(System.String, Boolean ByRef), \\n                             System.IAsyncResult BeginInvoke(System.String, \\n                             Boolean ByRef, System.AsyncCallback, \\n                             System.Object), Boolean EndInvoke(Boolean ByRef, \\n                             System.IAsyncResult)}\\nDeclaredNestedTypes        : {}\\nDeclaredProperties         : {}\\nImplementedInterfaces      : {System.ICloneable, \\n                             System.Runtime.Serialization.ISerializable}\\nTypeInitializer            : \\nIsNested                   : True\\nAttributes                 : AutoLayout, AnsiClass, Class, NestedPrivate, \\n                             Sealed\\nIsVisible                  : False\\nIsNotPublic                : False\\nIsPublic                   : False\\nIsNestedPublic             : False\\nIsNestedPrivate            : True\\nIsNestedFamily             : False\\nIsNestedAssembly           : False\\nIsNestedFamANDAssem        : False\\nIsNestedFamORAssem         : False\\nIsAutoLayout               : True\\nIsLayoutSequential         : False\\nIsExplicitLayout           : False\\nIsClass                    : True\\nIsInterface                : False\\nIsValueType                : False\\nIsAbstract                 : False\\nIsSealed                   : True\\nIsSpecialName              : False\\nIsImport                   : False\\nIsSerializable             : True\\nIsAnsiClass                : True\\nIsUnicodeClass             : False\\nIsAutoClass                : False\\nIsArray                    : False\\nIsByRef                    : False\\nIsPointer                  : False\\nIsPrimitive                : False\\nIsCOMObject                : False\\nHasElementType             : False\\nIsContextful               : False\\nIsMarshalByRef             : False\\nGenericTypeArguments       : {}\\nCustomAttributes           : {}\\n\\nd-----        1/29/2019   5:13 AM                eShopPub                      \\n\\n"
    },
    {
        "code": "ComponentStatus/StdErr/succeeded",
        "level": "Info",
        "displayStatus": "Provisioning succeeded",
        "message": "Invoke-WebRequest : Unable to read data from the transport connection: An \\nexisting connection was forcibly closed by the remote host.\\nAt C:\\Packages\\Plugins\\Microsoft.Compute.CustomScriptExtension\\1.9.3\\Downloads\\\\n0\\SetupVSServer.ps1:11 char:1\\n+ Invoke-WebRequest -Uri \"https://download.visualstudio.microsoft.com/d ...\\n+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\n    + CategoryInfo          : NotSpecified: (:) [Invoke-WebRequest], IOExcepti \\n   on\\n    + FullyQualifiedErrorId : System.IO.IOException,Microsoft.PowerShell.Comma \\n   nds.InvokeWebRequestCommand\\n \\nStop-Process : Cannot find a process with the name \"Explorer\". Verify the \\nprocess name and call the cmdlet again.\\nAt C:\\Packages\\Plugins\\Microsoft.Compute.CustomScriptExtension\\1.9.3\\Downloads\\\\n0\\SetupVSServer.ps1:21 char:1\\n+ Stop-Process -Name Explorer -Force\\n+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\n    + CategoryInfo          : ObjectNotFound: (Explorer:String) [Stop-Process] \\n   , ProcessCommandException\\n    + FullyQualifiedErrorId : NoProcessFoundForGivenName,Microsoft.PowerShell. \\n   Commands.StopProcessCommand\\n \\nNew-SmbShare : No mapping between account names and security IDs was done. \\nAt C:\\Packages\\Plugins\\Microsoft.Compute.CustomScriptExtension\\1.9.3\\Downloads\\\\n0\\SetupVSServer.ps1:92 char:1\\n+ New-SmbShare -Name \"eShopPub\" -Path \"C:\\eShopPub\" -FullAccess $env:co ...\\n+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\n    + CategoryInfo          : NotSpecified: (MSFT_SMBShare:ROOT/Microsoft/Wind \\n   ows/SMB/MSFT_SMBShare) [New-SmbShare], CimException\\n    + FullyQualifiedErrorId : Windows System Error 1332,New-SmbShare\\n \\nGrant-SmbShareAccess : No MSFT_SMBShare objects found with property 'Name' \\nequal to 'eShopPub'.  Verify the value of the property and retry.\\nAt C:\\Packages\\Plugins\\Microsoft.Compute.CustomScriptExtension\\1.9.3\\Downloads\\\\n0\\SetupVSServer.ps1:93 char:1\\n+ Grant-SmbShareAccess -Name \"eShopPub\" -AccountName SYSTEM -AccessRigh ...\\n+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\n    + CategoryInfo          : ObjectNotFound: (eShopPub:String) [Grant-SmbShar \\n   eAccess], CimJobException\\n    + FullyQualifiedErrorId : CmdletizationQuery_NotFound_Name,Grant-SmbShareA \\n   ccess\\n \\nGrant-SmbShareAccess : No MSFT_SMBShare objects found with property 'Name' \\nequal to 'eShopPub'.  Verify the value of the property and retry.\\nAt C:\\Packages\\Plugins\\Microsoft.Compute.CustomScriptExtension\\1.9.3\\Downloads\\\\n0\\SetupVSServer.ps1:94 char:1\\n+ Grant-SmbShareAccess -Name \"eShopPub\" -AccountName Everyone -AccessRi ...\\n+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\n    + CategoryInfo          : ObjectNotFound: (eShopPub:String) [Grant-SmbShar \\n   eAccess], CimJobException\\n    + FullyQualifiedErrorId : CmdletizationQuery_NotFound_Name,Grant-SmbShareA \\n   ccess\\n "
    }
]

meanwhile, I'll try to fix it, will appreciate you for advice.

Error during the deployment

New-AzureRmResourceGroupDeployment : Cannot retrieve the dynamic parameters for the cmdlet. After parsing a value
an unexpected character was encountered: s. Path 'parameters.password.reference.keyVault.id', line 17, position 10.
At line:1 char:1

  • New-AzureRmResourceGroupDeployment -Name $MonitoringHackName -Resourc ...
  •   + CategoryInfo          : InvalidArgument: (:) [New-AzureRmResourceGroupDeployment], ParameterBindingException
      + FullyQualifiedErrorId : GetDynamicParametersException,Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implem 
     entation.NewAzureResourceGroupDeploymentCmdlet
    
    

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.