UPDATE: The AI team was kind enough to notify me that changing an application name is possible. Check out this great blog post. I’ll update this post later to reflect, just wanted to get this out as soon as possible.
We’ve got a great demo environment set up with four environments that we use continuous integration builds with NuGet, Octopus Deploy to automatically deploy a website and promote that deployment through simulated environments. It’s a pretty sweet demo. So as I started working with Application Insights I wanted to set up AI on each of our environments so that we could monitor the deployments and view some usage data as we ran demos for clients. Unfortunately, this isn’t exactly possible. Here’s why.
Issue #1: There is no way to change an application name
When you deploy the Application Insights agent to a server, it automatically creates and names an application for you. In this instance it named it Tailspin.Web. It pulled this name, I’m assuming because that is the name of the site that is running in IIS. This creates a myriad of problems. For instance, what if I want to aggregate two different IIS sites into a single Application Insights application? Doesn’t seem to be a way to do it currently.
Then of course there is my current issue, which is I can’t use AI to monitor all my environments, as it tries, and fails, to shove them all into a single AI application. Why? Because the site is named the same thing in each of the environments of course. I could rename the sites I suppose, but I really dislike the idea of making my supposedly identical environments different on purpose. This leads us then to issue #2.
Issue #2: There is no way to assign a monitored site/server to an existing AI application
So I jumped to a simple seeming workaround: I’ll create an AI application and assign a site/server to it! Balderdash and bullocks, it appears that this isn’t possible. The workflow is: Install the Agent, Agent picks AI application name, end of story.
Unfortunately, there doesn’t appear to be a good workaround for this at the moment. I really want to be able to aggregate whatever server/site combinations I like into an AI application, and hope this functionality will exist in the future. For now I’ll stick to monitoring only my production environments.