Introduction
Elasticsearch is an opensource distributed, multi-tenant search engine based on Lucene. It provides a RESTful API through which users can ingest unstructured documents in JSON format and then retrieve them in real time.
You can also use ingestion tools like Logstash, fluentd that gather logs from multiple sources, transform and ingest into Elasticsearch in realtime.
Kibana is an open source analytics and visualization platform that runs with Elasticsearch. The users can use its browser-based interface to search, view and analyze data that was ingested into Elasticsearch in real time.
Elasticsearch is designed to be distributed and highly available. For load balancing and reliability, a cluster can be setup which is a group of Elasticsearch nodes that are connected with each other. Nodes can be added and removed at any time. Each node in the Elasticsearch cluster can be assigned a role based on its responsibilities.
- Data - Data nodes store data and handle data related operations like indexing, search and aggregations
- Master - Master nodes handles cluster wide metadata management and configuration actions like node addition and removal.
Pre-Requistes
CloudCenter
- CloudCenter 4.8 and above
- Knowledge on how to use CloudCenter
OS
Application Profile Package
The application profile package (elastic_local.zip) consists of the following folder:
- elastic_local - Ansible playbooks and scripts that run during the Node Initialization lifecycle.
Please make sure to upload the file specified in the Downloads section to your artifact repository.
Application Profile
- Import the application profile (es_appprofile.zip) specified in the Downloads section into CloudCenter
-
Choose your local artifact repository where you have stored the package.
- The following app profile will be imported to your CloudCenter

-
Make sure the tier names stay intact. The tier names are used to determine which playbook to execute on the given VM
-
Click on the Basic Information tab and modify the path to your application package in your artifact repository
-
Save the application profile
Testing Deployment
Once the application is deployed, you can run the following curl command to ingest a document in Elasticsearch
curl -X POST -H "Content-Type: application/json" -d '{
"user" : "CloudCenter",
"post_date" : "2018-07-23T12:30:00",
"message" : "First document in Elasticsearch"
}' "http://<ELASTICSEARCH_IP>:9200/sampleIndex/sampleType/"
where ELASTICSEARCH_IP is the ip address of the top most tier which is Kibana. To see the indexed document in Kibana, add ‘sampleIndex’ as the index pattern
Testing Deployment
**App Profile Created by Johnu George.