Monitoring Jump Start: Elasticsearch domain

Michael Wittig – 30 Jan 2018

The search layer is an important component of each system that needs monitoring. Amazon Elasticsearch provides Elasticsearch as a Service. We created a CloudFormation template that you can use to monitor an Elasticsearch domain in a minute.

What do I have to monitor?

Each domain sends metrics to CloudWatch that we can observe with CloudWatch Alarms. We recommend to create alarms for the following metrics:

  • Cluster status
    • ClusterStatus.yellow
    • ClusterStatus.red
    • ClusterIndexWritesBlocked
    • AutomatedSnapshotFailure
    • KibanaHealthyNodes
    • KMSKeyError
    • KMSKeyInaccessible
  • Storage
    • FreeStorageSpace
  • CPU
    • CPUUtilization
    • CPUCreditBalance
    • MasterCPUUtilization
    • MasterCPUCreditBalance
  • Memory
    • JVMMemoryPressure
    • MasterJVMMemoryPressure

If a metric crosses the alarm’s threshold, you receive an alert in Slack.

Set up instructions

  1. Create the CloudFormation stack with a single click
    1. Ensure that you selected the AWS region of your Elasticsearch monitoring target
    2. Set the EndpointId parameter to the ID of your endpoint. You can get this value by asking @marbot for it on your Slack channel.
    3. Set the DomainName parameter to the name of your Elasticsearch domain.
    4. Review the threshold parameters
    5. Save by clicking the Create button.
      Monitoring Jump Start: Elasticsearch domain
Michael Wittig

Michael Wittig

Consultant focusing on Amazon Web Services (AWS). Entrepreneur building marbot.io. Author of Amazon Web Services in Action, Rapid Docker on AWS, and cloudonaut.io.

You can contact me via Email, Twitter, and LinkedIn.

Published on

marbot teaser

Chatbot for AWS Monitoring

Configure monitoring for Amazon Web Services: CloudWatch, EC2, RDS, EB, Lambda, and more. Receive and manage alerts via Slack. Solve incidents as a team.

Slack
Add to Slack
Microsoft Teams
Add to Teams