Merge "Create resources for VNF-Onboarding"
diff --git a/docker/swarm/stack/monitoring/alerta.yml b/docker/swarm/stack/monitoring/alerta.yml
new file mode 100644
index 0000000..c0da7d5
--- /dev/null
+++ b/docker/swarm/stack/monitoring/alerta.yml
@@ -0,0 +1,30 @@
+classes:
+- system.prometheus.alerta
+parameters:
+  _param:
+    docker_image_alerta: docker-prod-local.artifactory.mirantis.com/mirantis/external/alerta-web:latest
+    alerta_mongodb_uri: "mongodb://${_param:cluster_node01_address}:27017,${_param:cluster_node02_address}:27017,${_param:cluster_node03_address}:27017/alerta?replicaSet=stacklight"
+    alerta_admin_username: "admin@alerta.io"
+  docker:
+    client:
+      stack:
+        monitoring:
+          service:
+            alerta:
+              networks:
+                - monitoring
+              deploy:
+                labels:
+                  com.mirantis.monitoring: "alerta"
+                restart_policy:
+                  condition: any
+              labels:
+                com.mirantis.monitoring: "alerta"
+              image: ${_param:docker_image_alerta}
+              ports:
+                - 15017:8080
+              volumes:
+                - ${prometheus:alerta:config_dir}/alerta.conf:/web/config.js
+              environment:
+                ADMIN_USERS: ${_param:alerta_admin_username}
+                MONGO_URI: ${_param:alerta_mongodb_uri}
\ No newline at end of file
diff --git a/mongodb/server/cluster.yml b/mongodb/server/cluster.yml
index 02294c4..54dd1bb 100644
--- a/mongodb/server/cluster.yml
+++ b/mongodb/server/cluster.yml
@@ -2,13 +2,13 @@
 - service.mongodb.server.cluster
 parameters:
   _param:
-    openstack_telemetry_node01_hostname: mdb01
-    openstack_telemetry_node02_hostname: mdb02
-    openstack_telemetry_node03_hostname: mdb03
-    mongodb_server_replica_set: mongodb
-    mongodb_master: ${_param:openstack_telemetry_node01_hostname}
-    mongodb_server_members:
-    - host: ${_param:openstack_telemetry_node01_hostname}
-      priority: 2
-    - host: ${_param:openstack_telemetry_node02_hostname}
-    - host: ${_param:openstack_telemetry_node03_hostname}
+    mongodb_replica_set: stacklight
+  mongodb:
+    server:
+      replica_set: ${_param:mongodb_replica_set}
+      members:
+      - host: ${_param:cluster_node01_address}
+        priority: 2
+      - host: ${_param:cluster_node02_address}
+      - host: ${_param:cluster_node03_address}
+      master: ${_param:cluster_node01_hostname}
diff --git a/mongodb/server/single.yml b/mongodb/server/single.yml
index c3d6cca..8a08de0 100644
--- a/mongodb/server/single.yml
+++ b/mongodb/server/single.yml
@@ -2,4 +2,4 @@
 - service.mongodb.server.single
 parameters:
   _param:
-    mongodb_server_replica_set: ceilometer
+    mongodb_server_replica_set: stacklight
diff --git a/nginx/server/proxy/monitoring/alerta.yml b/nginx/server/proxy/monitoring/alerta.yml
new file mode 100644
index 0000000..432a9dc
--- /dev/null
+++ b/nginx/server/proxy/monitoring/alerta.yml
@@ -0,0 +1,18 @@
+parameters:
+  nginx:
+    server:
+      enabled: true
+      site:
+        nginx_proxy_alerta:
+          enabled: true
+          type: nginx_proxy
+          name: alerta
+          proxy:
+            host: ${_param:prometheus_control_address}
+            port: 15017
+            protocol: http
+          host:
+            name: ${_param:cluster_public_host}
+            port: 15017
+            protocol: https
+          ssl: ${_param:nginx_proxy_ssl}
diff --git a/prometheus/alerta/init.yml b/prometheus/alerta/init.yml
new file mode 100644
index 0000000..a82e8d4
--- /dev/null
+++ b/prometheus/alerta/init.yml
@@ -0,0 +1,2 @@
+classes:
+  - service.prometheus.alerta
diff --git a/prometheus/alertmanager/notification/alerta.yml b/prometheus/alertmanager/notification/alerta.yml
new file mode 100644
index 0000000..816aaf6
--- /dev/null
+++ b/prometheus/alertmanager/notification/alerta.yml
@@ -0,0 +1,20 @@
+parameters:
+  _param:
+    alertmanager_notification_alerta_host: alerta
+    alertmanager_notification_alerta_port: 8080
+  prometheus:
+    alertmanager:
+      enabled: true
+      config:
+        route:
+          routes:
+            alerta:
+              receiver: HTTP-alerta
+              continue: true
+        receiver:
+          HTTP-alerta:
+            enabled: true
+            webhook_configs:
+              alerta:
+                url: "http://${_param:alertmanager_notification_alerta_host}:${_param:alertmanager_notification_alerta_port}/api/webhooks/prometheus"
+                send_resolved: true
diff --git a/prometheus/server/alert/alerta_relabel.yml b/prometheus/server/alert/alerta_relabel.yml
new file mode 100644
index 0000000..a81c59a
--- /dev/null
+++ b/prometheus/server/alert/alerta_relabel.yml
@@ -0,0 +1,19 @@
+parameters:
+  _param:
+    alerta_environment_label: Development
+  prometheus:
+    server:
+      config:
+        alert:
+          labels_add:
+            environment: ${_param:alerta_environment_label}
+        alert_relabel_configs:
+          - replacement: "aggregated"
+            source_labels: "instance"
+            target_label: "instance"
+          - source_labels: ["host", "job"]
+            target_label: "instance"
+            regex: "([a-zA-Z0-9]+;[a-zA-Z0-9_]+)"
+          - source_labels: ["hostname", "job"]
+            target_label: "instance"
+            regex: "([a-zA-Z0-9]+;[a-zA-Z0-9_]+)"