diff --git a/deploy/asapo_services/local.tfvars b/deploy/asapo_services/local.tfvars new file mode 100644 index 0000000000000000000000000000000000000000..4e61d66f8a068abd53024a3a7a6d31cc7a37a11c --- /dev/null +++ b/deploy/asapo_services/local.tfvars @@ -0,0 +1,26 @@ +elk_logs = false +perf_monitor = true + +asapo_docker_repository = "yakser" +#asapo_imagename_suffix = "" +#asapo_image_tag = "" + +influxdb_version="1.8.4" + +service_dir="/var/tmp/asapo" +online_dir="/var/tmp/asapo/bl" +offline_dir="/var/tmp/asapo/core" +mongo_dir="/var/tmp/asapo/mongo" +asapo_user="26655:1000" +job_scripts_dir="/home/yakubov/projects/asapo/build/deploy/asapo_services/scripts" + + +ldap_uri="ldap://it-ldap-slave.desy.de:1389" + +receiver_network_modes = "tcp" +receiver_kafka_enabled = false +receiver_kafka_metadata_broker_list="" + +n_receivers = 1 +n_brokers = 1 +n_fts = 1 diff --git a/deploy/asapo_services/scripts/asapo-perfmetrics.nmd.tpl b/deploy/asapo_services/scripts/asapo-perfmetrics.nmd.tpl index 22b832bd714bd3f368358b08f4bf5e41f875341f..991f0cb04beb2cf55f3c3879096ad8eace4d1009 100644 --- a/deploy/asapo_services/scripts/asapo-perfmetrics.nmd.tpl +++ b/deploy/asapo_services/scripts/asapo-perfmetrics.nmd.tpl @@ -23,13 +23,14 @@ job "asapo-perfmetrics" { security_opt = ["no-new-privileges"] userns_mode = "host" image = "influxdb:${influxdb_version}" - volumes = ["/${service_dir}/influxdb2:/var/lib/influxdb2"] + volumes = ["/${service_dir}/influxdb:/var/lib/influxdb"] } env { PRE_CREATE_DB="asapo_receivers;asapo_brokers" INFLUXDB_BIND_ADDRESS="127.0.0.1:$${NOMAD_PORT_influxdb_rpc}" INFLUXDB_HTTP_BIND_ADDRESS=":$${NOMAD_PORT_influxdb}" + INFLUXDB_HTTP_FLUX_ENABLED="true" } resources { @@ -110,6 +111,61 @@ job "asapo-perfmetrics" { } #grafana + task "monitoring-server" { + driver = "docker" + user = "${asapo_user}" + + config { + ulimit { + memlock = "-1:-1" + } + network_mode = "host" + security_opt = ["no-new-privileges"] + userns_mode = "host" + privileged = true + image = "${docker_repository}/asapo-monitoring-server${image_suffix}" + force_pull = ${force_pull_images} + volumes = ["local/config.json:/var/lib/monitoring_server/config.json"] + %{ if ! nomad_logs } + logging { + type = "fluentd" + config { + fluentd-address = "localhost:9881" + fluentd-async-connect = true + tag = "asapo.docker" + } + } + %{endif} + } + + resources { + memory = "${monitoring_server_total_memory_size}" + network { + port "monitoring_server" {} + } + } + + service { + name = "asapo-monitoring" + port = "monitoring_server" + check { + name = "alive" + port = "monitoring_server" + type = "tcp" + interval = "10s" + timeout = "2s" + initial_status = "passing" + } + } + + template { + source = "${scripts_dir}/monitoring_server.json.tpl" + destination = "local/config.json" + change_mode = "restart" + } + } # monitoring server + + } } diff --git a/deploy/asapo_services/scripts/asapo.auto.tfvars.in b/deploy/asapo_services/scripts/asapo.auto.tfvars.in index 4f8133d3650be1ac2ecfa8302e965269df753008..64f10eaafb223b5e86f1b495bc5dfea6911063c0 100644 --- a/deploy/asapo_services/scripts/asapo.auto.tfvars.in +++ b/deploy/asapo_services/scripts/asapo.auto.tfvars.in @@ -1,12 +1,14 @@ asapo_imagename_suffix="@ASAPO_VERSION_DOCKER_SUFFIX@" asapo_image_tag = "@ASAPO_VERSION@" +asapo_docker_repository = "yakser" + nginx_version = "1.14" elasticsearch_version = "7.3.2" kibana_version = "7.3.2" mongo_version = "4.0.0" grafana_version="7.5.0" -influxdb_version = "2.0.4" +influxdb_version = "1.8.4" elk_logs = false perf_monitor = false nomad_logs = false @@ -40,6 +42,7 @@ authorizer_total_memory_size = 256 discovery_total_memory_size = 256 prometheus_total_memory_size = 256 alertmanager_total_memory_size = 256 +monitoring_server_total_memory_size = 256 ldap_uri = "ldap://localhost:389" @@ -51,8 +54,10 @@ fluentd_port = 9880 fluentd_port_stream = 24224 elasticsearch_port = 9200 kibana_port = 5601 + discovery_port = 5006 authorizer_port = 5007 + consul_dns_port = 8600 prometheus_port = 9090 alertmanager_port = 9093 diff --git a/deploy/asapo_services/scripts/file-transfer.json.tpl b/deploy/asapo_services/scripts/file-transfer.json.tpl index 5f0f028a0fccdc606a728c6a50ec6f9af8ee1408..5f6a2854990c512bc9351cc538ebe293fe15d553 100644 --- a/deploy/asapo_services/scripts/file-transfer.json.tpl +++ b/deploy/asapo_services/scripts/file-transfer.json.tpl @@ -1,5 +1,8 @@ { "Port": {{ env "NOMAD_PORT_fts" }}, "LogLevel":"debug", - "SecretFile":"/local/secret.key" + "SecretFile":"/local/secret.key", + "DiscoveryServer": "localhost:8400/asapo-discovery", + "MonitorPerformance": true, + "MonitoringServerUrl": "auto" } diff --git a/deploy/asapo_services/scripts/monitoring_server.json.tpl b/deploy/asapo_services/scripts/monitoring_server.json.tpl new file mode 100644 index 0000000000000000000000000000000000000000..9ac0424196908d85e08b5e55453c2829fe485f57 --- /dev/null +++ b/deploy/asapo_services/scripts/monitoring_server.json.tpl @@ -0,0 +1,7 @@ +{ + "ThisClusterName": "asapo", + "ServerPort": {{ env "NOMAD_PORT_monitoring_server" }}, + "LogLevel": "{{ keyOrDefault "log_level" "debug" }}", + "InfluxDbUrl":"http://localhost:8400/influxdb", + "InfluxDbDatabase": "asapo_monitoring" +} diff --git a/deploy/asapo_services/scripts/receiver.json.tpl b/deploy/asapo_services/scripts/receiver.json.tpl index 3183e72ab7ef371dc799f48ceab967af43531f6a..5ca82a26dc5c0f4d6861d7b9c5fc9fed58e19f0f 100644 --- a/deploy/asapo_services/scripts/receiver.json.tpl +++ b/deploy/asapo_services/scripts/receiver.json.tpl @@ -1,6 +1,7 @@ { - "PerformanceDbServer":"localhost:8400/influxdb", "MonitorPerformance": {{ env "NOMAD_META_perf_monitor" }}, + "MonitoringServer": "auto", + "PerformanceDbServer":"localhost:8400/influxdb", "PerformanceDbName": "asapo_receivers", "DatabaseServer":"auto", "DiscoveryServer": "localhost:8400/asapo-discovery", diff --git a/deploy/asapo_services/scripts/resources.tf b/deploy/asapo_services/scripts/resources.tf index 928a5a7620346e3332b33359b43191ee7ee0d497..1a5d817833438cb1a8ba75e101ef9d7f94fda623 100644 --- a/deploy/asapo_services/scripts/resources.tf +++ b/deploy/asapo_services/scripts/resources.tf @@ -13,7 +13,6 @@ resource "nomad_job" "asapo-perfmetrics" { resource "nomad_job" "asapo-monitoring" { jobspec = data.template_file.asapo_monitoring.rendered - depends_on = [null_resource.asapo-broker,null_resource.asapo-receiver] } @@ -29,16 +28,16 @@ resource "nomad_job" "asapo-services" { resource "nomad_job" "asapo-receivers" { jobspec = data.template_file.asapo_receivers.rendered - depends_on = [nomad_job.asapo-services,null_resource.asapo-authorizer,null_resource.asapo-discovery] + depends_on = [nomad_job.asapo-services,null_resource.asapo-authorizer,null_resource.asapo-discovery,null_resource.asapo-monitoring-server] } resource "nomad_job" "asapo-brokers" { jobspec = data.template_file.asapo_brokers.rendered - depends_on = [nomad_job.asapo-services,null_resource.asapo-authorizer,null_resource.asapo-discovery] + depends_on = [nomad_job.asapo-services,null_resource.asapo-authorizer,null_resource.asapo-discovery,null_resource.asapo-monitoring-server] } resource "nomad_job" "asapo-fts" { jobspec = data.template_file.asapo_fts.rendered - depends_on = [nomad_job.asapo-services,null_resource.asapo-authorizer,null_resource.asapo-discovery] + depends_on = [nomad_job.asapo-services,null_resource.asapo-authorizer,null_resource.asapo-discovery,null_resource.asapo-monitoring-server] } diff --git a/deploy/asapo_services/scripts/resources_services.tf b/deploy/asapo_services/scripts/resources_services.tf index 0ad672ea2d3aee11a1f8856e797115b73e75a9a3..08332309d5c5a92e6f7c6784c53d57fdeacde0e5 100644 --- a/deploy/asapo_services/scripts/resources_services.tf +++ b/deploy/asapo_services/scripts/resources_services.tf @@ -67,6 +67,14 @@ resource "null_resource" "asapo-broker" { depends_on = [nomad_job.asapo-brokers] } +resource "null_resource" "asapo-monitoring-server" { + provisioner "local-exec" { + command = "asapo-wait-service asapo-monitoring" + } + depends_on = [nomad_job.asapo-monitoring] +} + + resource "null_resource" "asapo-fts" { provisioner "local-exec" { command = "asapo-wait-service asapo-file-transfer" diff --git a/deploy/asapo_services/scripts/templates.tf b/deploy/asapo_services/scripts/templates.tf index ddd5656dc49d5f6bce2f3475a69cede2367204b6..12b905c63206da63aa6446cda70cecd5f253e89b 100644 --- a/deploy/asapo_services/scripts/templates.tf +++ b/deploy/asapo_services/scripts/templates.tf @@ -96,6 +96,8 @@ data "template_file" "asapo_perfmetrics" { template = "${file("${var.job_scripts_dir}/asapo-perfmetrics.nmd.tpl")}" vars = { service_dir = "${var.service_dir}" + image_suffix = "${var.asapo_imagename_suffix}:${var.asapo_image_tag}" + docker_repository = "${var.asapo_docker_repository}" influxdb_version = "${var.influxdb_version}" grafana_version = "${var.grafana_version}" grafana_total_memory_size = "${var.grafana_total_memory_size}" @@ -105,7 +107,11 @@ data "template_file" "asapo_perfmetrics" { asapo_user = "${var.asapo_user}" influxdb_rpc_port = "${var.influxdb_rpc_port}" perf_monitor = "${var.perf_monitor}" - } + monitoring_server_total_memory_size = "${var.monitoring_server_total_memory_size}" + force_pull_images = "${var.force_pull_images}" + nomad_logs = "${var.nomad_logs}" + scripts_dir = "${var.job_scripts_dir}" + } } diff --git a/deploy/asapo_services/scripts/vars.tf b/deploy/asapo_services/scripts/vars.tf index 13068f32a322ec22e78a8342b98719fdd2071fac..559b4fd24a5c638c11fb382cd6177df221f69d5a 100644 --- a/deploy/asapo_services/scripts/vars.tf +++ b/deploy/asapo_services/scripts/vars.tf @@ -1,3 +1,5 @@ +variable "asapo_docker_repository" {} + variable "elk_logs" {} variable "perf_monitor" {} @@ -82,6 +84,7 @@ variable "prometheus_total_memory_size" {} variable "alertmanager_total_memory_size" {} +variable "monitoring_server_total_memory_size" {} variable "grafana_port" {}