Azure log alert rule created successfully with ARM template but not appearing in portal












1















I have created a few ARM templates for deploying Azure metric alert rules, but I now have a requirement to deploy a log alert rule (i.e. a rule based on an Application Insights query rather than a platform metric).



I have scripted the template following the example here (which suggests I need to create a resource of type Microsoft.Insights/scheduledQueryRules) and deployed using Azure portal's Template Deployment service as described here.



Azure reports the deployment as successful, and the activity log gives me the deployment result, including the ID of my new resource e.g. /subscriptions/[subscription-id]/resourcegroups/[alerts-resource-group]/providers/Microsoft.Insights/scheduledQueryRules/Custom errors spike alert.



However, when I navigate to the Monitor blade in subscription [subscription-id], and filter down by resource group [alerts-resource-group] I don't see my new alert.



As a sanity check I created a metric alert using the same process targeting the same App Insights resource, and this one does show up in the Monitor blade.



I guess my question is, am I misunderstanding something about log-based alert rules? For example, does an Azure 'resource' of type Microsoft.Insights/scheduledQueryRules equate with alert rules of signal type Log Search in Monitor / Alerts / Manage alert rules? I'm confident my template is correct because it passes validation and completed successfully. But I'm baffled about where the alert rule is ending up!



One thing I should mention is that I'm creating the alert rule in a different resource group to the App Insights instance itself, but this is also true of the metric alert so assumed this wasn't significant.










share|improve this question





























    1















    I have created a few ARM templates for deploying Azure metric alert rules, but I now have a requirement to deploy a log alert rule (i.e. a rule based on an Application Insights query rather than a platform metric).



    I have scripted the template following the example here (which suggests I need to create a resource of type Microsoft.Insights/scheduledQueryRules) and deployed using Azure portal's Template Deployment service as described here.



    Azure reports the deployment as successful, and the activity log gives me the deployment result, including the ID of my new resource e.g. /subscriptions/[subscription-id]/resourcegroups/[alerts-resource-group]/providers/Microsoft.Insights/scheduledQueryRules/Custom errors spike alert.



    However, when I navigate to the Monitor blade in subscription [subscription-id], and filter down by resource group [alerts-resource-group] I don't see my new alert.



    As a sanity check I created a metric alert using the same process targeting the same App Insights resource, and this one does show up in the Monitor blade.



    I guess my question is, am I misunderstanding something about log-based alert rules? For example, does an Azure 'resource' of type Microsoft.Insights/scheduledQueryRules equate with alert rules of signal type Log Search in Monitor / Alerts / Manage alert rules? I'm confident my template is correct because it passes validation and completed successfully. But I'm baffled about where the alert rule is ending up!



    One thing I should mention is that I'm creating the alert rule in a different resource group to the App Insights instance itself, but this is also true of the metric alert so assumed this wasn't significant.










    share|improve this question



























      1












      1








      1








      I have created a few ARM templates for deploying Azure metric alert rules, but I now have a requirement to deploy a log alert rule (i.e. a rule based on an Application Insights query rather than a platform metric).



      I have scripted the template following the example here (which suggests I need to create a resource of type Microsoft.Insights/scheduledQueryRules) and deployed using Azure portal's Template Deployment service as described here.



      Azure reports the deployment as successful, and the activity log gives me the deployment result, including the ID of my new resource e.g. /subscriptions/[subscription-id]/resourcegroups/[alerts-resource-group]/providers/Microsoft.Insights/scheduledQueryRules/Custom errors spike alert.



      However, when I navigate to the Monitor blade in subscription [subscription-id], and filter down by resource group [alerts-resource-group] I don't see my new alert.



      As a sanity check I created a metric alert using the same process targeting the same App Insights resource, and this one does show up in the Monitor blade.



      I guess my question is, am I misunderstanding something about log-based alert rules? For example, does an Azure 'resource' of type Microsoft.Insights/scheduledQueryRules equate with alert rules of signal type Log Search in Monitor / Alerts / Manage alert rules? I'm confident my template is correct because it passes validation and completed successfully. But I'm baffled about where the alert rule is ending up!



      One thing I should mention is that I'm creating the alert rule in a different resource group to the App Insights instance itself, but this is also true of the metric alert so assumed this wasn't significant.










      share|improve this question
















      I have created a few ARM templates for deploying Azure metric alert rules, but I now have a requirement to deploy a log alert rule (i.e. a rule based on an Application Insights query rather than a platform metric).



      I have scripted the template following the example here (which suggests I need to create a resource of type Microsoft.Insights/scheduledQueryRules) and deployed using Azure portal's Template Deployment service as described here.



      Azure reports the deployment as successful, and the activity log gives me the deployment result, including the ID of my new resource e.g. /subscriptions/[subscription-id]/resourcegroups/[alerts-resource-group]/providers/Microsoft.Insights/scheduledQueryRules/Custom errors spike alert.



      However, when I navigate to the Monitor blade in subscription [subscription-id], and filter down by resource group [alerts-resource-group] I don't see my new alert.



      As a sanity check I created a metric alert using the same process targeting the same App Insights resource, and this one does show up in the Monitor blade.



      I guess my question is, am I misunderstanding something about log-based alert rules? For example, does an Azure 'resource' of type Microsoft.Insights/scheduledQueryRules equate with alert rules of signal type Log Search in Monitor / Alerts / Manage alert rules? I'm confident my template is correct because it passes validation and completed successfully. But I'm baffled about where the alert rule is ending up!



      One thing I should mention is that I'm creating the alert rule in a different resource group to the App Insights instance itself, but this is also true of the metric alert so assumed this wasn't significant.







      azure azure-devops arm-template






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 19 '18 at 17:21







      getsetcode

















      asked Nov 19 '18 at 17:04









      getsetcodegetsetcode

      1,68011434




      1,68011434
























          1 Answer
          1






          active

          oldest

          votes


















          2














          It turns out log alerts require a hidden link to the resource they're monitoring. Otherwise they get created but not listed anywhere in the portal.



          In my case I added the following variable to the template:



          "linkToAiResource" : "[concat('hidden-link:', resourceId('microsoft.insights/components', parameters('appInsightsResourceName')))]"


          Then included this as a tag in the resource definition like this:



          "tags": {
          "[variables('linkToAiResource')]": "Resource"
          }


          Once redeployed the alert rule appears in the portal's Monitor blade.






          share|improve this answer
























          • Thanks for your post, there is really a lack in the template reference documentation of Azure Resource Manager.

            – Gat
            Feb 5 at 14:49











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53379479%2fazure-log-alert-rule-created-successfully-with-arm-template-but-not-appearing-in%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2














          It turns out log alerts require a hidden link to the resource they're monitoring. Otherwise they get created but not listed anywhere in the portal.



          In my case I added the following variable to the template:



          "linkToAiResource" : "[concat('hidden-link:', resourceId('microsoft.insights/components', parameters('appInsightsResourceName')))]"


          Then included this as a tag in the resource definition like this:



          "tags": {
          "[variables('linkToAiResource')]": "Resource"
          }


          Once redeployed the alert rule appears in the portal's Monitor blade.






          share|improve this answer
























          • Thanks for your post, there is really a lack in the template reference documentation of Azure Resource Manager.

            – Gat
            Feb 5 at 14:49
















          2














          It turns out log alerts require a hidden link to the resource they're monitoring. Otherwise they get created but not listed anywhere in the portal.



          In my case I added the following variable to the template:



          "linkToAiResource" : "[concat('hidden-link:', resourceId('microsoft.insights/components', parameters('appInsightsResourceName')))]"


          Then included this as a tag in the resource definition like this:



          "tags": {
          "[variables('linkToAiResource')]": "Resource"
          }


          Once redeployed the alert rule appears in the portal's Monitor blade.






          share|improve this answer
























          • Thanks for your post, there is really a lack in the template reference documentation of Azure Resource Manager.

            – Gat
            Feb 5 at 14:49














          2












          2








          2







          It turns out log alerts require a hidden link to the resource they're monitoring. Otherwise they get created but not listed anywhere in the portal.



          In my case I added the following variable to the template:



          "linkToAiResource" : "[concat('hidden-link:', resourceId('microsoft.insights/components', parameters('appInsightsResourceName')))]"


          Then included this as a tag in the resource definition like this:



          "tags": {
          "[variables('linkToAiResource')]": "Resource"
          }


          Once redeployed the alert rule appears in the portal's Monitor blade.






          share|improve this answer













          It turns out log alerts require a hidden link to the resource they're monitoring. Otherwise they get created but not listed anywhere in the portal.



          In my case I added the following variable to the template:



          "linkToAiResource" : "[concat('hidden-link:', resourceId('microsoft.insights/components', parameters('appInsightsResourceName')))]"


          Then included this as a tag in the resource definition like this:



          "tags": {
          "[variables('linkToAiResource')]": "Resource"
          }


          Once redeployed the alert rule appears in the portal's Monitor blade.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 22 '18 at 9:48









          getsetcodegetsetcode

          1,68011434




          1,68011434













          • Thanks for your post, there is really a lack in the template reference documentation of Azure Resource Manager.

            – Gat
            Feb 5 at 14:49



















          • Thanks for your post, there is really a lack in the template reference documentation of Azure Resource Manager.

            – Gat
            Feb 5 at 14:49

















          Thanks for your post, there is really a lack in the template reference documentation of Azure Resource Manager.

          – Gat
          Feb 5 at 14:49





          Thanks for your post, there is really a lack in the template reference documentation of Azure Resource Manager.

          – Gat
          Feb 5 at 14:49




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53379479%2fazure-log-alert-rule-created-successfully-with-arm-template-but-not-appearing-in%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          這個網誌中的熱門文章

          Xamarin.form Move up view when keyboard appear

          Post-Redirect-Get with Spring WebFlux and Thymeleaf

          Anylogic : not able to use stopDelay()