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, and subscribes to the
BeginRequest and
EndRequest events.
This enables the module to report HTTP request latency and response codes for all web requests handled by IIS. To add the module to the IIS request
pipeline, Elastic Beanstalk registers the module in the <modules> section of the IIS configuration file,
%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, which
provides a secure and reliable binding that is optimized for on-machine communication.
Warning Javascript is disabled or is unavailable in your browser.
To use the Amazon Web Services Documentation, Javascript must be enabled. Please refer to your browser's Help pages for instructions.