Browse Source

add redis insight into the mix

Chris Mague 4 years ago
parent
commit
d314350cc0
4 changed files with 85 additions and 0 deletions
  1. 17 0
      ansible/templates/nginx_insights.j2
  2. 21 0
      ansible/templates/systemd_redis_insights.j2
  3. 42 0
      ansible/tester.yml
  4. 5 0
      main.tf

+ 17 - 0
ansible/templates/nginx_insights.j2

@@ -0,0 +1,17 @@
+######################################################################
+#		{{ ansible_managed }}
+######################################################################
+
+upstream insights {
+  server 127.0.0.1:8001;
+}
+
+server {
+  listen          {{ ansible_default_ipv4.address }}:8001;
+  server_name     _;
+  location / {
+    proxy_pass      http://insights;
+    proxy_set_header Host            $host;
+    proxy_set_header X-Forwarded-For $remote_addr;
+  }
+}

+ 21 - 0
ansible/templates/systemd_redis_insights.j2

@@ -0,0 +1,21 @@
+#####################################################################
+# {{ ansible_managed }}
+
+#####################################################################
+[Unit]
+Description=Redis Insights
+After=network.target
+
+[Service]
+WorkingDirectory=/home/redis
+Type=simple
+LimitNOFILE=65535
+User=redis
+ExecStart=/usr/local/bin/redisinsight
+StandardOutput=file:/var/log/redis-insight.log
+StandardError=file:/var/log/redis-insight-error.log
+
+
+[Install]
+WantedBy=multi-user.target
+Alias=redis-insights.service

+ 42 - 0
ansible/tester.yml

@@ -21,6 +21,14 @@
       - pkg-config
       - zlib1g-dev
       - libssl-dev
+      - nginx
+
+  handlers:
+    - name: restart_nginx
+      service:
+        name: nginx
+        state: restarted
+
 
   pre_tasks:
     - name: Update Apt Cache
@@ -91,6 +99,40 @@
         target: install
       become: yes
 
+    - name: Install Redis Insights
+      get_url:
+        url: https://downloads.redisinsight.redislabs.com/latest/redisinsight-linux64
+        dest: /usr/local/bin/redisinsight
+        mode: '0755'
+    - name: Redis Insights Systemd
+      template:
+        src: systemd_redis_insights.j2
+        dest: /lib/systemd/system/redis-insights.service
+        owner: root
+        group: root
+        mode: 0644
+    - name: Enable Redis Insights Services
+      systemd:
+        name: redis-insights
+        enabled: yes
+        state: started
+    - name: Enable Redis Insights Services in Nginx
+      template:
+        src: nginx_insights.j2
+        dest: /etc/nginx/sites-enabled/insights
+        owner: root
+        group: root
+        mode: 0644
+      notify:
+        - restart_nginx
+    - name: Enable Redis Insights Services
+      file:
+        path: /etc/nginx/sites-enabled/default
+        state: absent
+      notify:
+        - restart_nginx
+
+
   roles:
     - ntp
 

+ 5 - 0
main.tf

@@ -143,6 +143,11 @@ output "cluster-setup" {
   value = "To set up the cluster run /usr/local/bin/setup-raft-cluster from any one of the nodes"
 }
 
+output "insight" {
+  value = "http://${aws_eip.re-eip.public_ip}:8001"
+}
+
 output "cpredisnodes" {
   value = module.nodes.node-internal-ips
 }
+