Monitoring Amazon OpenSearch Service
The Amazon OpenSearch Service sensor is automatically deployed and installed after you install the Instana agent.
Learn about the other supported AWS services with AWS documentation.
Sensor (Data Collection)
Tracked Configuration
OpenSearch Details
- Domain Arn
- Domain Name
- Grouping zone (region)
Metrics
- Cluster statuses: Green, Yellow, Red
- Number of nodes
- Number of searchable and deleted documents
- The maximum percentage of CPU resources used for data nodes in the cluster
- Free storage for cluster
- Cluster used space
- Cluster indicator for accepting or blocking incoming write requests (cluster_index_writes_blocked)
- JVM memory pressure
- Automated snapshot failure metrics
- Number of requests with HTTP status codes
- Search latency, average time that it takes a shard to complete a search operation
- The remaining CPU credits available for data nodes in the cluster
For more information, see Amazon OpenSearch metrics and dimensions.
Required Permissions
cloudwatch:GetMetricData
cloudwatch:GetMetricStatistics
cloudwatch:GetMetricData
es:ListDomainNames
es:ListTags
es:DescribeElasticsearchDomain
Configuration
Metrics for OpenSearch are pulled every 5 minutes, which can be changed through the agent configuration in the <agent_install_dir>/etc/instana/configuration.yml
file:
com.instana.plugin.aws.es:
cloudwatch_period: 300
To disable monitoring of OpenSearch instances, use the following configuration:
com.instana.plugin.aws.es:
enabled: false
Proxy configuration
To configure the specific AWS Sensor to use proxy configuration, add the following agent configuration settings:
com.instana.plugin.aws.es:
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 the profiles that are used to monitor OpenSearch, use the following configuration:
com.instana.plugin.aws.es:
profile_names:
- 'profile2'
- 'profile3'
Defining profiles on service level overrides the global AWS profiles configuration.
AWS STS approach
To override the IAM Roles that are used to monitor OpenSearch, use the following configuration:
com.instana.plugin.aws.es:
role_arns:
- 'arn:aws:iam::<account_1_id>:role/<role_1_name>'
- 'arn:aws:iam::<account_2_id>:role/<role_2_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 are 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. In case of defining 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 in order 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.
To define how often sensors poll the tagged resources use following configuration:
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.es:
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.es:
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.es:
include_untagged: false # True value by default