新增部署Prometheus监控工具脚本;更新README.md文件
This commit is contained in:
2
prometheus/roles/redis_exporter/defaults/main.yml
Normal file
2
prometheus/roles/redis_exporter/defaults/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
flag: ~/.flag/{{ role_name }}
|
||||
59
prometheus/roles/redis_exporter/tasks/main.yml
Normal file
59
prometheus/roles/redis_exporter/tasks/main.yml
Normal file
@@ -0,0 +1,59 @@
|
||||
---
|
||||
# 校验 Redis Exporter 是否安装
|
||||
- name: '<{{ cmd | upper }}> | 校验 Redis Exporter 是否安装'
|
||||
stat:
|
||||
path: '{{ flag }}'
|
||||
register: ret
|
||||
|
||||
# 安装 Redis Exporter
|
||||
- block:
|
||||
- name: '<{{ cmd | upper }}> | 创建 Redis Exporter 相关目录'
|
||||
file:
|
||||
path: '{{ redis_exporter.dir }}'
|
||||
state: directory
|
||||
|
||||
- name: '<{{ cmd | upper }}> | 安装 Redis Exporter'
|
||||
template:
|
||||
src: '{{ item.src }}'
|
||||
dest: '{{ item.dest }}'
|
||||
loop:
|
||||
- src: docker-compose.yml.j2
|
||||
dest: '{{ redis_exporter.dir }}/docker-compose.yml'
|
||||
|
||||
- name: '<{{ cmd | upper }}> | 启动 Redis Exporter 容器'
|
||||
shell: |
|
||||
. /etc/profile
|
||||
cd {{ redis_exporter.dir }}
|
||||
docker-compose down
|
||||
docker-compose up -d
|
||||
|
||||
# - name: '<{{ cmd | upper }}> | 等待 Redis Exporter 服务启动'
|
||||
# wait_for:
|
||||
# port: '{{ redis_exporter.port }}'
|
||||
|
||||
- name: '<{{ cmd | upper }}> | 创建 Redis Exporter 安装标记'
|
||||
shell: |
|
||||
set -ex
|
||||
mkdir -p ~/.flag
|
||||
touch {{ flag }}
|
||||
|
||||
when:
|
||||
- cmd == "install"
|
||||
- not ret.stat.exists
|
||||
|
||||
# 卸载 Redis Exporter
|
||||
- block:
|
||||
- name: '<{{ cmd | upper }}> | 卸载 Redis Exporter'
|
||||
shell: |
|
||||
. /etc/profile
|
||||
cd {{ redis_exporter.dir }}
|
||||
docker-compose down
|
||||
|
||||
- name: '<{{ cmd | upper }}> | 清除 Redis Exporter 相关文件'
|
||||
shell: |
|
||||
rm -rf {{ redis_exporter.dir }}
|
||||
rm -rf {{ flag }}
|
||||
|
||||
when:
|
||||
- cmd == "remove"
|
||||
- ret.stat.exists
|
||||
@@ -0,0 +1,24 @@
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
redis-exporter:
|
||||
image: {{ redis_exporter.image }}
|
||||
container_name: {{ docker.network.name }}-redis-exporter
|
||||
hostname: redis-exporter
|
||||
restart: always
|
||||
networks:
|
||||
- {{ docker.network.name }}
|
||||
{% for node in redis_exporter.nodes -%}
|
||||
{% if node.host == inventory_hostname -%}
|
||||
ports:
|
||||
- {{ node.port }}:9121
|
||||
command:
|
||||
- '-redis.addr={{ node.url }}'
|
||||
- '-redis.password={{ node.password }}'
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
networks:
|
||||
{{ docker.network.name }}:
|
||||
external: true
|
||||
name: {{ docker.network.name }}
|
||||
Reference in New Issue
Block a user