Skip to content

Instantly share code, notes, and snippets.

@jippi
Created November 24, 2016 12:26
Show Gist options
  • Save jippi/a614a8a344da11aef8bd9702ac010b7e to your computer and use it in GitHub Desktop.
Save jippi/a614a8a344da11aef8bd9702ac010b7e to your computer and use it in GitHub Desktop.
job "elasticsearch-email-logs" {
datacenters = ["production"]
update {
stagger = "120s"
max_parallel = 1
}
constraint {
attribute = "${node.class}"
operator = "="
value = "kvm"
}
group "server" {
count = 3
constraint {
distinct_hosts = true
}
ephemeral_disk {
size = 30000 # 30GB
migrate = true
sticky = true
}
task "data" {
driver = "docker"
user = "elasticsearch"
service {
name = "${NOMAD_JOB_NAME}-${NOMAD_TASK_NAME}-discovery"
port = "transport"
}
service {
name = "${NOMAD_JOB_NAME}-${NOMAD_TASK_NAME}"
port = "rest"
tags = ["traefik.frontend.rule=PathPrefixStrip:/elasticsearch/email-logs/"]
check {
name = "${NOMAD_JOB_NAME}-${NOMAD_TASK_NAME}-rest-tcp"
port = "rest"
type = "tcp"
interval = "10s"
timeout = "2s"
}
check {
name = "${NOMAD_JOB_NAME}-${NOMAD_TASK_NAME}-rest-http"
type = "http"
port = "rest"
path = "/"
interval = "10s"
timeout = "2s"
}
check {
name = "${NOMAD_JOB_NAME}-${NOMAD_TASK_NAME}-transport-tcp"
port = "transport"
type = "tcp"
interval = "10s"
timeout = "2s"
}
}
env {
ES_JAVA_OPTS = "-Xms3g -Xmx3g"
BUMP = 1
}
config {
image = "docker.elastic.co/elasticsearch/elasticsearch:5.0.1"
network_mode = "host"
command = "bin/elasticsearch"
args = [
"-E",
"cluster.name=${NOMAD_JOB_NAME}",
"-E",
"node.name=${NOMAD_TASK_NAME}-${NOMAD_ALLOC_INDEX}",
"-E",
"network.host=0.0.0.0",
"-E",
"node.master=true",
"-E",
"node.data=true",
"-E",
"http.port=9210",
"-E",
"transport.tcp.port=9310",
"-E",
"gateway.recover_after_nodes=3",
"-E",
"gateway.expected_nodes=3",
"-E",
"gateway.expected_master_nodes=3",
"-E",
"gateway.expected_data_nodes=3",
"-E",
"discovery.zen.ping.unicast.hosts=${NOMAD_JOB_NAME}-${NOMAD_TASK_NAME}-discovery.service.bownty:9310",
"-E",
"discovery.zen.minimum_master_nodes=2",
"-E",
"node.max_local_storage_nodes=1",
"-E",
"xpack.security.enabled=false",
]
}
resources {
cpu = 1024
memory = 6144
network {
mbits = 25
port "rest" {
static = 9210
}
port "transport" {
static = 9310
}
}
}
}
}
group "kibana" {
count = 1
task "server" {
driver = "docker"
user = "root"
env {
ELASTICSEARCH_URL = "http://${NOMAD_JOB_NAME}-data.service.bownty:9210"
SERVER_BASEPATH = "/kibana/email-logs"
BUMP = 1
}
service {
name = "kibana"
tags = ["traefik.frontend.rule=PathPrefixStrip:/kibana/email-logs"]
port = "http"
}
config {
image = "docker.elastic.co/kibana/kibana:5.0.1"
network_mode = "host"
}
resources {
cpu = 512
memory = 2048
network {
mbits = 5
port "http" {
static = 5601
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment