Elasticsearch 2.x or earlier
Pulse is a powerful optimization platform designed for ensuring the stability and peak performance of your Elasticsearch (2.x or earlier) clusters while maintaining their health and efficiency.
For advanced configuration and fine-tuning options, visit our Advanced Adjustments page.
Deployment Options
Deploying the Pulse Agent for Elasticsearch 2.x or earlier clusters is simple and quick. You can choose from various deployment configurations.
Click on the deployment environment option to learn more:
Kubernetes
To deploy the Pulse Agent on Kubernetes, create the deployment spec in a file called pulse-deployment.yaml
.
apiVersion: v1
kind: Secret
metadata:
name: pulse-config
type: Opaque
stringData:
PULSE_TOKEN: PULSE_TOKEN
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: pulse-agent
name: pulse-agent
namespace: default
spec:
replicas: 1
revisionHistoryLimit: 2
selector:
matchLabels:
app: pulse-agent
template:
metadata:
labels:
app: pulse-agent
spec:
automountServiceAccountToken: false
containers:
- image: r.bigdataboutique.com/pulse-agent
imagePullPolicy: Always
name: pulse-agent
env:
- name: PULSE_AGENT_HEAP_SIZE
value: 4G
- name: PULSE_TOKEN
valueFrom:
secretKeyRef:
name: pulse-config
key: PULSE_TOKEN
- name: ELASTICSEARCH2_HOSTS
value: ELASTICSEARCH2_HOSTS_VALUE
resources:
limits:
cpu: "1"
memory: 16Gi
requests:
cpu: 100m
memory: 4Gi
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 1
readinessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 1
dnsPolicy: ClusterFirst
restartPolicy: Always
Next, replace the following values with:
PULSE_TOKEN
– The Pulse token for your organization (you can find it in theAccount Settings of the Pulse Platform)default
– The namespace in Kubernetes for the deploymentELASTICSEARCH2_HOSTS_VALUE
– The address of your Elasticsearch cluster host. The hosts list should have an http/https prefix separated by a comma for Elasticsearch clusters. For redundancy purposes, it’s recommended to enter a list of the cluster's hosts and/or a load balancer. For example: http://elastic-service.mycompany.com:9200, http://elastic-service-2.mycompany.com:9200, http://10.23.11.1:9200
Finally, apply the spec:
kubectl apply -f pulse-deployment.yaml
After successfully running the deployment command, the new cluster should appear on your Pulse homepage within a few minutes. You will receive an email notification once the cluster is available.
If the cluster doesn’t appear on the Pulse homepage or you encounter an error, please contact our support team via the Pulse system. Make sure to include your logs (including the error message) and deployment configuration.
Kubernetes via Helm
Create a values.yaml
file using the command below:
image:
repository: r.bigdataboutique.com/pulse-agent
pullPolicy: Always
tag: latest
env:
- name: PULSE_AGENT_HEAP_SIZE
value: 4G
- name: ELASTICSEARCH2_HOSTS
value: ELASTICSEARCH2_HOSTS_VALUE
secretEnv:
PULSE_TOKEN: PULSE_TOKEN
Replace the following as needed:
ELASTICSEARCH2_HOSTS_VALUE
– The address of your Elasticsearch cluster host. The hosts list should have an http/https prefix separated by a comma for Elasticsearch clusters. For redundancy purposes, it’s recommended to enter a list of the cluster's hosts and/or a load balancer. For example: http://elastic-service.mycompany.com:9200, http://elastic-service-2.mycompany.com:9200, http://10.23.11.1:9200PULSE_TOKEN
– The Pulse token for your organization (you can find it in the Account Settings of the Pulse Platform)
Finally, apply the spec:
helm upgrade -i pulse-agent oci://europe-west1-docker.pkg.dev/bdbq-pulse/pulse-helm/pulse-agent --create-namespace
--namespace YOUR_NAMESPACE -f values.yaml
For a full list of values, run the following command:
helm show values oci://europe-west1-docker.pkg.dev/bdbq-pulse/pulse-helm/pulse-agent
After successfully running the deployment command, the new cluster should appear on your Pulse homepage within a few minutes. You will receive an email notification once the cluster is available.
If the cluster doesn’t appear on the Pulse homepage or you encounter an error, please contact our support team via the Pulse system. Make sure to include your logs (including the error message) and deployment configuration.
Docker
Use the following command:
docker run -d --name pulse-agent \
--restart=always \
--net=host \
--env PULSE_AGENT_HEAP_SIZE='4G' \
--env PULSE_TOKEN='PULSE_TOKEN' \
--env ELASTICSEARCH2_HOSTS='ELASTICSEARCH2_HOSTS_VALUE' \
r.bigdataboutique.com/pulse-agent
Replace the following as needed:
PULSE_TOKEN
– The Pulse token for your organization (you can find it in the Account Settings of the Pulse Platform)ELASTICSEARCH2_HOSTS_VALUE
– The address of your Elasticsearch cluster host. The hosts list should have an http/https prefix separated by a comma for Elasticsearch clusters. For redundancy purposes, it’s recommended to enter a list of the cluster's hosts and/or a load balancer. For example: http://elastic-service.mycompany.com:9200, http://elastic-service-2.mycompany.com:9200, http://10.23.11.1:9200
Confirm that the Agent is running and no errors are logged in the Agent.
After successfully running the deployment command, the new cluster should appear on your Pulse homepage within a few minutes. You will receive an email notification once the cluster is available.
If the cluster doesn’t appear on the Pulse homepage or you encounter an error, please contact our support team via the Pulse system. Make sure to include your logs (including the error message) and deployment configuration.
Amazon Elastic Container Service (ECS)
To deploy the Pulse Agent on ECS, you must first register the task definition and then create a service in your cluster.
Register the task definition
Before deploying the Pulse Agent on ECS, make sure that the task specification is registered with your AWS account. Note that this is not specific to a single ECS cluster.
To create the task definition, create a file called pulse-agent.json
:
{
"family": "pulse-agent",
"containerDefinitions": [
{
"name": "pulse-agent",
"image": "r.bigdataboutique.com/pulse-agent",
"cpu": 1024,
"memory": 5120,
"portMappings": [],
"essential": true,
"environment": [
{
"name": "PULSE_AGENT_HEAP_SIZE",
"value": "4G"
},
{
"name": "PULSE_TOKEN",
"value": "PULSE_TOKEN"
},
{
"name": "ELASTICSEARCH2_HOSTS",
"value": "ELASTICSEARCH2_HOSTS_VALUE"
}
],
"environmentFiles": []
}
],
"networkMode": "awsvpc",
"requiresCompatibilities": [
"FARGATE"
],
"cpu": "1024",
"memory": "5120",
"runtimePlatform": {
"cpuArchitecture": "X86_64",
"operatingSystemFamily": "LINUX"
}
}
Replace the following as needed:
PULSE_TOKEN
– The Pulse token for your organization (you can find it in the Account Settings of the Pulse Platform)ELASTICSEARCH2_HOSTS_VALUE
– The address of your Elasticsearch cluster host. The hosts list should have an http/https prefix separated by a comma for Elasticsearch clusters. For redundancy purposes, it’s recommended to enter a list of the cluster's hosts and/or a load balancer. For example: http://elastic-service.mycompany.com:9200, http://elastic-service-2.mycompany.com:9200, http://10.23.11.1:9200
Next, register the task definition using this command:
aws ecs register-task-definition --cli-input-json file://pulse-agent.json
Create a service
After registering the task definition, create a service in the desired cluster. The Pulse Agent needs to be able to connect to both the monitored services and to https://incoming.pulse.support.
Make sure to select a subnet and security group that meets these requirements.
Use the following command to create a service:
aws ecs create-service --cluster ECS_CLUSTER_NAME \
--service-name pulse-agent \
--task-definition pulse-agent \
--desired-count 1 \
--launch-type "FARGATE" \
--network-configuration "awsvpcConfiguration={subnets=[subnet-abcd1234],securityGroups=[sg-abcd1234]}"
Replace the following as needed:
ECS_CLUSTER_NAME
– The name of the ECS cluster to run the task onsubnet-abcd1234
– Subnets to use for the tasksg-abcd1234
– Security groups to use for the task
After successfully running the deployment command, the new cluster should appear on your Pulse homepage within a few minutes. You will receive an email notification once the cluster is available.
If the cluster doesn’t appear on the Pulse homepage or you encounter an error, please contact our support team via the Pulse system. Make sure to include your logs (including the error message) and deployment configuration.