Amazon Beanstalk

This sensor monitors AWS Beanstalk environments and their instances. To be able to monitor Beanstalk instances, enhanced monitoring should be enabled in the AWS Console and wanted metrics selected in the environment’s configuration.

Learn about other supported AWS services on our AWS docs.

Sensor (Data Collection)

Tracked Configuration

Environment details:

  • Application name
  • Environment Id
  • Environment Name
  • Environment Description
  • Environment ARN
  • Environment Status
  • Date created
  • Version Label
  • Solution Stack
  • Environment URL
  • Application name
  • Application name
  • Application name
  • Grouping zone (region)

Instance details:

  • Instance ID
  • Instance Status
  • Instance Type
  • Instance Launched Date

Metrics

Environment Metrics

Name Description
EnvironmentHealth Environment health represented as one of seven statuses
InstancesOk Number of instances in the environment with Ok status
InstancesInfo Number of instances in the environment with Info status
InstancesUnknown Number of instances in the environment with Unknown status
InstancesNoData Number of instances in the environment with NoData status
InstancesWarning Number of instances in the environment with Warning status
InstancesDegraded Number of instances in the environment with Degraded status
InstancesSevere Number of instances in the environment with Severe status

Instance Metrics

Name Description
InstanceHealth Current health status of the instance
CPUIrq Percentage of time that the CPU has spent in irq state
CPUIdle Percentage of time that the CPU has spent in idle state
CPUUser Percentage of time that the CPU has spent in user state
CPUSystem Percentage of time that the CPU has spent in system state
CPUSoftirq Percentage of time that the CPU has spent in softirq state
CPUIowait Percentage of time that the CPU has spent in iowait state
CPUNice Percentage of time that the CPU has spent in nice state
LoadAverage1min CPU load of the instance over the last minute
RootFilesystemUtil Percentage of disk space in use by instance

Environment and Instance Metrics

Name Description
ApplicationLatencyP10 Amount of time it takes to complete the fastest 10% of requests
ApplicationLatencyP50 Amount of time it takes to complete the fastest 50% of requests
ApplicationLatencyP75 Amount of time it takes to complete the fastest 75% of requests
ApplicationLatencyP85 Amount of time it takes to complete the fastest 85% of requests
ApplicationLatencyP90 Amount of time it takes to complete the fastest 90% of requests
ApplicationLatencyP95 Amount of time it takes to complete the fastest 95% of requests
ApplicationLatencyP99 Amount of time it takes to complete the fastest 99% of requests
ApplicationLatencyP99.9 Amount of time it takes to complete the fastest 99.9% of requests
ApplicationRequests2xx Number of requests that completed with 2xx status code
ApplicationRequests3xx Number of requests that completed with 3xx status code
ApplicationRequests4xx Number of requests that completed with 4xx status code
ApplicationRequests5xx Number of requests that completed with 5xx status code
ApplicationRequestsTotal Total number of requests

Required Permissions

  • cloudwatch:GetMetricStatistics
  • cloudwatch:GetMetricData
  • elasticbeanstalk:DescribeEnvironments
  • elasticbeanstalk:ListTagsForResource
  • elasticbeanstalk:DescribeInstancesHealth

Configuration

Beanstalk Instances are refreshed every 60 seconds. Due to an asynchronous nature of detection instance metrics can be late. This delay depends on the specified poll rate (cloudwatchperiod) and by default it’s not longer then a minute before they appear on the dashboard. Metrics for Beanstalk are pulled every 60 seconds, this can be changed via agent configuration in `<agentinstall_dir>/etc/instana/configuration.yml`:

com.instana.plugin.aws.beanstalk:
  cloudwatch_period: 60

To disable monitoring of Beanstalk instances use the following configuration:

com.instana.plugin.aws.beanstalk:
  enabled: false

Multiple tags can be defined, separated by a comma. Tags should be provided as a key-value pair separated by :. In order to make configuration easier, it is possible to define which tags you want to include in discovery or exclude from discovery. In case of defining tag in both lists (include and exclude), exclude list has higher priority. If there is no need for services filtering, the configuration should not be defined. It’s not mandatory to define all values in order to enable filtering.

Users are able to specify how often sensors will poll the AWS tagged resources using the tagged-servies-poll-rate configuration property (default 300 seconds).

To define how often sensors will poll the tagged resources use following configuration:

com.instana.plugin.aws:
  tagged-servies-poll-rate: 60 #default 300

To include services by tags into discovery use following configuration:

com.instana.plugin.aws.beanstalk:
  include_tags: # Comma separated list of tags in key:value format (e.g. env:prod,env:staging)

To exclude services by tags from discovery use following configuration:

com.instana.plugin.aws.beanstalk:
  exclude_tags: # Comma separated list of tags in key:value format (e.g. env:dev,env:test)

Instana Agent Tags

Please note that tags are currently only available in conjunction with the dedicated AWS Instana agent, described here AWS Agent Installation docs. More details on using tags are described here.