Web server metrics capture in IIS on Windows server
On the Windows Server platform, Elastic Beanstalk adds a module to the IIS web server's request pipeline and captures metrics about HTTP request times and response codes. The module sends these metrics to the on-instance health agent using a high-performance interprocess communication (IPC) channel. The health agent aggregates these metrics, combines them with operating system metrics, and sends them to the Elastic Beanstalk service.
Implementation details
To capture metrics from IIS, Elastic Beanstalk implements a managed IHttpModule
BeginRequest
EndRequest
<modules>
%windir%\System32\inetsrv\config\applicationHost.config
.
The Elastic Beanstalk module in IIS sends the captured web request metrics to the on-instance health agent, which is a Windows service named
HealthD
. To send this data, the module uses NetNamedPipeBinding