Azure Virtual Machine Discoveryedit

Azure VM discovery allows to use the azure APIs to perform automatic discovery (similar to multicast in non hostile multicast environments). Here is a simple sample configuration:

                   path: /path/to/azurekeystore.pkcs12
                   password: WHATEVER
                   type: pkcs12

    type: azure

The keystore file must be placed in a directory accessible by elasticsearch like the config directory.

Binding the network host

It’s important to define as by default it’s bound to localhost.

You can use core network host settings. For example _non_loopback_ or _en0_.

How to start (short story)edit

  • Create Azure instances
  • Install Elasticsearch
  • Install Azure plugin
  • Modify elasticsearch.yml file
  • Start Elasticsearch

Azure credential API settingsedit

The following are a list of settings that can further control the credential API:


pkcs12, jceks or jks. Defaults to pkcs12.

your_password for the keystore


your_azure_cloud_service_name. This is the cloud service name/DNS but without the part. So if the DNS name is then the to use is just abc.

Advanced settingsedit

The following are a list of settings that can further control the discovery:
Either public_ip or private_ip (default). Azure discovery will use the one you set to ping other nodes.
When using public_ip this setting is used to identify the endpoint name used to forward requests to elasticsearch (aka transport port name). Defaults to elasticsearch. In Azure management console, you could define an endpoint elasticsearch forwarding for example requests on public IP on port 8100 to the virtual machine on port 9300.
Deployment name if any. Defaults to the value set with
Either staging or production (default).

For example:

    type: azure
            type: private_ip
            name: elasticsearch
            name: your_azure_cloud_service_name
            slot: production