Monitoring AWS Beanstalk
The AWS Beanstalk sensor is automatically deployed and installed after you install the Instana agent.
Learn about the other supported AWS services with AWS documentation.
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 that are selected in the environment's configuration.
Learn about other supported AWS services on 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 started 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 information 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 spent in irq state |
CPUIdle | Percentage of time that the CPU spent in idle state |
CPUUser | Percentage of time that the CPU spent in user state |
CPUSystem | Percentage of time that the CPU spent in system state |
CPUSoftirq | Percentage of time that the CPU spent in softirq state |
CPUIowait | Percentage of time that the CPU spent in iowait state |
CPUNice | Percentage of time that the CPU 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 (cloudwatch_period
) and by default that it is not longer
than a minute before they appear on the dashboard. Metrics for Beanstalk are pulled every 60 seconds, and it can be changed through agent configuration in /opt/instana/agent/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
Proxy configuration
To configure the specific AWS Sensor to use proxy configuration, add the following agent configuration settings:
com.instana.plugin.aws.beanstalk:
proxy_host: 'example.com' # proxy host name or ip address
proxy_port: 3128 # proxy port
proxy_protocol: 'HTTP' # proxy protocol: HTTP or HTTPS
proxy_username: 'username' # OPTIONAL: proxy username
proxy_password: 'password' # OPTIONAL: proxy password
Monitoring multiple AWS accounts
Refer to the Monitoring multiple AWS accounts documentation to set up monitoring of multiple AWS accounts with one AWS agent in the same region.
AWS named profiles approach
To override which profiles should be used to monitor Beanstalk, use the following configuration:
com.instana.plugin.aws.beanstalk:
profile_names:
- 'profile2'
- 'profile3'
Defining profiles on service level overrides the global AWS profiles configuration.
AWS STS approach
To override which IAM Roles should be used to monitor Beanstalk, use the following configuration:
com.instana.plugin.aws.beanstalk:
role_arns:
- 'arn:aws:iam::<account_1_id>:role/<role_2_name>'
- 'arn:aws:iam::<account_2_id>:role/<role_3_name>'
Defining IAM roles on service level overrides the global AWS IAM roles configuration.
Filtering
Multiple tags can be defined, separated by a comma. Tags should be provided as a key-value pair separated by To make configuration easier, it is possible to define which tags you want to include in discovery or exclude from discovery. To define tag in both lists (include and exclude), exclude list has higher priority. If there is no need for filtering services, the configuration should not be defined. It’s not mandatory to define all values to enable filtering.
Users are able to specify how often sensors poll the AWS tagged resources that use the tagged-services-poll-rate
configuration property (default 300 seconds).
Tags are only available with the AWS Agent.
com.instana.plugin.aws:
tagged-services-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)
AWS services without tags are monitored by default but can be excluded by setting the include_untagged
field to false
:
com.instana.plugin.aws.beanstalk:
include_untagged: false # True value by default
Poll Rate
To define how often sensors poll the tagged resources use following configuration:
com.instana.plugin.aws:
tagged-services-poll-rate: 60 #default 300