From bd0bf7349d1b44ef7e4bbf7b86b2d0ac294adf32 Mon Sep 17 00:00:00 2001
From: Keshav Prasad <msknext@gmail.com>
Date: Thu, 16 Apr 2020 17:19:19 +0530
Subject: [PATCH] fix: process exporter updates and fixes (#1355)

* fix: removed pid

* fix: updating scrape interval to 30s

* fix: removing wal

* fix: restart process exporter

* fix: scrape every 10s

* fix: remove redundant code

* fix: test how exe full path will look

* fix: adding label for process exporter prometheus

* fix: moving labelling to playbook level

* fix: removed handlers as the call is only once

* fix: redundant name

* fix: changed from systemd to service

* Revert "fix: changed from systemd to service"

This reverts commit 5a9388a89ec396283ea5fb39af03f62fcac3ebfa.

* fix: typo in name

* fix: create dist directory

* fix: removing unnecessary codes

* fix: updating node exporter scrape job name
---
 ansible/process_exporter_prometheus.yml       | 18 ++++++++++++++++--
 .../process-exporter-all/files/config.yml     |  3 +--
 .../process-exporter-all/handlers/main.yml    | 10 ----------
 .../roles/process-exporter-all/tasks/main.yml | 19 ++++++++++---------
 .../process_exporter_prometheus_stack.yml     |  2 +-
 .../stack-monitor/templates/prometheus.yml    |  2 +-
 6 files changed, 29 insertions(+), 25 deletions(-)
 delete mode 100755 ansible/roles/process-exporter-all/handlers/main.yml

diff --git a/ansible/process_exporter_prometheus.yml b/ansible/process_exporter_prometheus.yml
index d9642063c..9df969001 100644
--- a/ansible/process_exporter_prometheus.yml
+++ b/ansible/process_exporter_prometheus.yml
@@ -1,5 +1,17 @@
-- name: Creating prometheus-stateful configuration folder
+- name: labelling process exporter prometheus
+  hosts: swarm-dashboard
+  become: yes
+  vars_files:
+    - ['{{inventory_dir}}/secrets.yml']
+  tasks:
+    - name: Adding label for stateful prometheus
+      shell: "docker node update --label-add prometheus_stateful=1 {{ hostvars[groups['swarm-agent-for-prometheus-stateful'][0]]['ansible_hostname'] }}"
+  tags:
+    - process-exporter-prometheus
+
+- name: deploy process exporter prometheus
   hosts: swarm-agent-for-prometheus-stateful
+  gather_facts: no
   become: yes
   vars_files:
     - ['{{inventory_dir}}/secrets.yml']
@@ -8,7 +20,9 @@
   tags:
     - process-exporter-prometheus
 
-- hosts: process-exporter
+- name: deployer process exporter to vms
+  hosts: process-exporter
+  gather_facts: no
   become: yes
   vars_files:
     - ['{{inventory_dir}}/secrets.yml']
diff --git a/ansible/roles/process-exporter-all/files/config.yml b/ansible/roles/process-exporter-all/files/config.yml
index 6390e488b..49273df74 100644
--- a/ansible/roles/process-exporter-all/files/config.yml
+++ b/ansible/roles/process-exporter-all/files/config.yml
@@ -1,5 +1,4 @@
 process_names:
-  - name: "{{.PID}} | {{.ExeFull}} | {{.Username}}"
+  - name: "{{.ExeFull}} | {{.Username}}"
     cmdline:
     - '.+'
-
diff --git a/ansible/roles/process-exporter-all/handlers/main.yml b/ansible/roles/process-exporter-all/handlers/main.yml
deleted file mode 100755
index f5356a512..000000000
--- a/ansible/roles/process-exporter-all/handlers/main.yml
+++ /dev/null
@@ -1,10 +0,0 @@
----
-- name: enable process exporter all service
-  systemd:
-    enabled: yes
-    name: process-exporter-all.service
-
-- name: restart process exporter all
-  systemd:
-    name: process-exporter-all.service
-    state: restarted
diff --git a/ansible/roles/process-exporter-all/tasks/main.yml b/ansible/roles/process-exporter-all/tasks/main.yml
index 3e054db13..b61717a99 100755
--- a/ansible/roles/process-exporter-all/tasks/main.yml
+++ b/ansible/roles/process-exporter-all/tasks/main.yml
@@ -15,7 +15,7 @@
 
 - name: create prometheus directory
   file:
-    path: "{{ process_exporter_prometheus_common_root_dir }}"
+    path: "{{ process_exporter_prometheus_common_dist_dir }}"
     state: directory
     owner: "{{ process_exporter_prometheus_common_user }}"
     group: "{{ process_exporter_prometheus_common_group }}"
@@ -27,9 +27,6 @@
     dest: "{{ process_exporter_prometheus_common_dist_dir }}"
     creates: "{{ process_exporter_prometheus_common_dist_dir }}/{{ process_exporter_prometheus_release_name }}/process_exporter"
     remote_src: yes
-  register: process_exporter_prometheus_updated
-  notify:
-    - restart process exporter all
 
 - name: copy the custom configuration file
   copy:
@@ -43,7 +40,6 @@
     recurse: yes
     owner: "{{ process_exporter_prometheus_common_user }}"
     group: "{{ process_exporter_prometheus_common_group }}"
-  when: process_exporter_prometheus_updated | changed
 
 - name: create symlink to the current release
   file:
@@ -58,8 +54,13 @@
     owner: root
     group: root
     mode: 0644
-  notify:
-    - enable process exporter all service
-    - restart process exporter all
 
-- meta: flush_handlers
+- name: enable process exporter all service
+  systemd:
+    enabled: yes
+    name: process-exporter-all.service
+
+- name: restart process exporter all
+  systemd:
+    name: process-exporter-all.service
+    state: restarted
diff --git a/ansible/roles/process-exporter-prometheus/templates/process_exporter_prometheus_stack.yml b/ansible/roles/process-exporter-prometheus/templates/process_exporter_prometheus_stack.yml
index d18258a51..ff7542bf3 100644
--- a/ansible/roles/process-exporter-prometheus/templates/process_exporter_prometheus_stack.yml
+++ b/ansible/roles/process-exporter-prometheus/templates/process_exporter_prometheus_stack.yml
@@ -9,7 +9,7 @@ services:
             - application_default
         volumes:
             - "{{ process_exporter_prometheus_mount_point }}:/prometheus"
-        command: "--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus --web.console.libraries=/etc/prometheus/console_libraries  --storage.tsdb.retention.time={{prometheus_storage_retention_time}} --web.console.templates=/etc/prometheus/consoles --web.route-prefix={{process_exporter_prometheus_route_prefix}} --web.external-url={{process_exporter_prometheus_web_external_url}} --web.enable-admin-api --storage.tsdb.wal-compression"
+        command: "--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus --web.console.libraries=/etc/prometheus/console_libraries  --storage.tsdb.retention.time={{prometheus_storage_retention_time}} --web.console.templates=/etc/prometheus/consoles --web.route-prefix={{process_exporter_prometheus_route_prefix}} --web.external-url={{process_exporter_prometheus_web_external_url}} --web.enable-admin-api"
         configs:
             - source: process_exporter_prometheus.yml
               target: /etc/prometheus/prometheus.yml
diff --git a/ansible/roles/stack-monitor/templates/prometheus.yml b/ansible/roles/stack-monitor/templates/prometheus.yml
index eecdfa59c..8adcf18f5 100644
--- a/ansible/roles/stack-monitor/templates/prometheus.yml
+++ b/ansible/roles/stack-monitor/templates/prometheus.yml
@@ -37,7 +37,7 @@ scrape_configs:
       - source_labels: [name]
         regex: '^\s*$'
         action: drop
-  - job_name: 'vm-node-exporter'
+  - job_name: 'node-exporter'
     static_configs:
       - targets: ["{{ groups['node-exporter'] | difference(["localhost"]) | map('regex_replace', '^(.*)$', '\\1:9100') | list | join("\", \"") }}"]
 
-- 
GitLab