Azure Virtual Machines 및 Azure Virtual Machine Scale Sets에서 IIS(인터넷 정보 서버) 호스팅 ASP.NET 및 ASP.NET Core 애플리케이션에 대한 자동 침입을 통해 Azure MonitorApplication Insights 모니터링을 사용하도록 설정합니다. 가상 머신 확장을 사용하여 Application Insights 에이전트를 배포합니다. 에이전트는 SDK와 동일한 종속성 신호를 자동으로 수집합니다. PowerShell을 사용하여 대규모 배포를 자동화합니다.
참고
- Java 애플리케이션의 경우 가장 인기 있는 라이브러리, 프레임워크, 로그 및 종속성을 다른 많은 구성과 함께 자동으로 수집하는 Application Insights Java 3.0 에이전트를 사용합니다.
- Azure VM 및 Azure Virtual Machine Scale Sets에서 실행되는 Node.js 및 Python 애플리케이션은 자동 계측을 지원하지 않습니다. 대신 Azure Monitor OpenTelemetry Distro 를 사용합니다.
- 호스트되는 애플리케이션 외에도 VM 게스트를 모니터링하려면 VM 게스트 데이터를 참조하세요.
지원되는 자동 계측 시나리오의 전체 목록은 지원되는 환경, 언어 및 리소스 공급자를 참조하세요.
필수 조건
Application Insights 에이전트 확장을 설치하기 전에 연결 문자열이 필요합니다. 새 Application Insights 리소스를 만들 거나 기존 리소스에서 연결 문자열을 복사합니다.
가상 머신에 대한 모니터링 사용
Azure Portal 또는 PowerShell을 사용하여 VM에 대한 모니터링을 사용하도록 설정할 수 있습니다.
instrumentationKeyMap(확장 설정)
중요합니다
InstrumentationKeyMap은 동일한 컴퓨터의 IIS(인터넷 정보 서비스) 앱을 Application Insights 리소스에 매핑하는 고급 라우팅 기능입니다. 이 기능은 Application Insights 에이전트가 자동으로 설치하는 IIS 호스팅 ASP.NET 및 ASP.NET Core 앱에 적용됩니다.
일치의 작동 방식
- 맵은 명명
filters
된 규칙의 순서가 지정된 목록을 정의합니다. 첫 번째 일치 규칙이 적용됩니다. 특정 규칙을 먼저 배치하고 catch-all 규칙으로 마칩니다. - 각 규칙은 일치하는 앱에 다른 Application Insights 리소스를 할당할 수 있습니다. 계측 키는 레거시이므로 지원되는 시나리오에서 연결 문자열을 사용하는 것이 좋습니다.
사용 가능한 필터
-
MachineFilter
또는machineFilter
: 컴퓨터 또는 VM(가상 머신) 이름과 일치하는 C# 정규식입니다..*
는 모든 이름과 일치합니다. -
AppFilter
또는appFilter
: IIS 사이트 이름(HostingEnvironment.SiteName
)과 일치하는 C# 정규식입니다. 이 필터는 제공되지 않을 때VirtualPathFilter
virtualPathFilter
필요합니다. -
VirtualPathFilter
또는virtualPathFilter
: IIS 가상 경로(HostingEnvironment.ApplicationVirtualPath
)와 일치하는 C# 정규식입니다. 이 필터를 사용하여 사이트 아래에 있는 단일 앱을 대상으로 지정합니다.
용어 매핑
- PowerShell cmdlet은
MachineFilter
,AppFilter
및VirtualPathFilter
. - Azure VM 및 Virtual Machine Scale Sets 확장 JSON은 리소스를 사용하고
machineFilter
appFilter
virtualPathFilter
리소스를instrumentationSettings
설정합니다.
팁 (조언)
같은 .*
모든 앱과 일치하는 최종 규칙을 포함하고 기본 리소스를 적용하여 동작을 명시적으로 만듭니다.
VM 및 Virtual Machine Scale Sets 확장을 위한 위치
VM, Virtual Machine Scale Sets의 경우 확장의 공용 설정redfieldConfiguration.instrumentationKeyMap.filters
아래에 -SettingString
맵을 배치합니다-Setting
. 속성 이름은 낙타 대/소문자보다 낮습니다. 를 사용하여 규칙당 대상 리소스를 instrumentationSettings.connectionString
설정합니다.
{
"redfieldConfiguration": {
"instrumentationKeyMap": {
"filters": [
{
"machineFilter": ".*",
"appFilter": ".*",
"instrumentationSettings": {
"connectionString": "<your-APPLICATIONINSIGHTS_CONNECTION_STRING>"
}
}
]
}
}
}
가상 머신 확장 집합에 대한 모니터링 사용
Azure Portal 또는 PowerShell을 사용하여 가상 머신 확장 집합에 대한 모니터링을 사용하도록 설정할 수 있습니다.
VM에 대한 이전 단계를 수행하지만 VM 대신 가상 머신 확장 집합으로 이동합니다.
문제 해결
Application Insights 모니터링 에이전트 확장에 대한 이러한 문제 해결 팁을 사용합니다. 팁은 Azure Virtual Machines 및 Azure Virtual Machine Scale Sets의 .NET 애플리케이션에 적용됩니다.
확장을 배포하는 데 문제가 있는 경우 확장이 다음 디렉터리에 있는 파일에 기록하는 실행 출력을 검토합니다.
C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.ApplicationMonitoringWindows\<version>\
확장이 성공적으로 배포되었지만 원격 분석을 볼 수 없는 경우 에이전트 문제 해결에서 다루는 다음 문제 중 하나일 수 있습니다.
- 앱의 bin 디렉터리에서 DLL(동적 링크 라이브러리) 충돌
- IIS 공유 구성과 충돌
애플리케이션 호스트와 수집 서비스 간의 연결 테스트
Application Insights SDK 및 에이전트는 수집 엔드포인트에 대한 REST 호출로 수집하기 위해 원격 분석을 보냅니다. PowerShell 또는 curl 명령의 원시 REST 클라이언트를 사용하여 웹 서버 또는 애플리케이션 호스트 컴퓨터에서 수집 서비스 엔드포인트로의 연결을 테스트할 수 있습니다. Azure Monitor Application Insights에서 누락된 애플리케이션 원격 분석 문제 해결을 참조하세요.
릴리스 정보
2.8.44
- Application Insights .NET/.NET Core SDK를 2.20.1로 업데이트함 - 빨간색 필드
- SQL 쿼리 컬렉션을 사용하도록 설정했습니다.
- Microsoft Entra 인증에 대한 지원을 사용하도록 설정했습니다.
2.8.42
Application Insights .NET/.NET Core SDK를 2.18.1로 업데이트함 - 빨간색 필드
2.8.41
ASP.NET Core 자동 계측 기능이 추가되었습니다.