新增部署Prometheus监控工具脚本;更新README.md文件
This commit is contained in:
2
prometheus/roles/blackbox_exporter/defaults/main.yml
Normal file
2
prometheus/roles/blackbox_exporter/defaults/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
flag: ~/.flag/{{ role_name }}
|
||||
63
prometheus/roles/blackbox_exporter/tasks/main.yml
Normal file
63
prometheus/roles/blackbox_exporter/tasks/main.yml
Normal file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
# 校验 Blackbox Exporter 是否安装
|
||||
- name: '<{{ cmd | upper }}> | 校验 Blackbox Exporter 是否安装'
|
||||
stat:
|
||||
path: '{{ flag }}'
|
||||
register: ret
|
||||
|
||||
# 安装 Blackbox Exporter
|
||||
- block:
|
||||
- name: '<{{ cmd | upper }}> | 创建 Blackbox Exporter 相关目录'
|
||||
file:
|
||||
path: '{{ item.value }}'
|
||||
state: directory
|
||||
loop: '{{ blackbox_exporter.dir | dict2items }}'
|
||||
|
||||
- name: '<{{ cmd | upper }}> | 安装 Blackbox Exporter'
|
||||
template:
|
||||
src: '{{ item.src }}'
|
||||
dest: '{{ item.dest }}'
|
||||
loop:
|
||||
- src: docker-compose.yml.j2
|
||||
dest: '{{ blackbox_exporter.dir.main }}/docker-compose.yml'
|
||||
- src: conf/blackbox.yml.j2
|
||||
dest: '{{ blackbox_exporter.dir.conf }}/blackbox.yml'
|
||||
|
||||
- name: '<{{ cmd | upper }}> | 启动 Blackbox Exporter 容器'
|
||||
shell: |
|
||||
. /etc/profile
|
||||
chown -R 65534.65534 {{ blackbox_exporter.dir.conf }}
|
||||
cd {{ blackbox_exporter.dir.main }}
|
||||
docker-compose down
|
||||
docker-compose up -d
|
||||
|
||||
- name: '<{{ cmd | upper }}> | 等待 Blackbox Exporter 服务启动'
|
||||
wait_for:
|
||||
port: '{{ blackbox_exporter.port }}'
|
||||
|
||||
- name: '<{{ cmd | upper }}> | 创建 Blackbox Exporter 安装标记'
|
||||
shell: |
|
||||
set -ex
|
||||
mkdir -p ~/.flag
|
||||
touch {{ flag }}
|
||||
|
||||
when:
|
||||
- cmd == "install"
|
||||
- not ret.stat.exists
|
||||
|
||||
# 卸载 Blackbox Exporter
|
||||
- block:
|
||||
- name: '<{{ cmd | upper }}> | 卸载 Blackbox Exporter'
|
||||
shell: |
|
||||
. /etc/profile
|
||||
cd {{ blackbox_exporter.dir.main }}
|
||||
docker-compose down
|
||||
|
||||
- name: '<{{ cmd | upper }}> | 清除 Blackbox Exporter 相关文件'
|
||||
shell: |
|
||||
rm -rf {{ blackbox_exporter.dir.main }}
|
||||
rm -rf {{ flag }}
|
||||
|
||||
when:
|
||||
- cmd == "remove"
|
||||
- ret.stat.exists
|
||||
@@ -0,0 +1,50 @@
|
||||
modules:
|
||||
http_2xx:
|
||||
prober: http
|
||||
timeout: 10s
|
||||
http_post_2xx:
|
||||
prober: http
|
||||
http:
|
||||
method: POST
|
||||
tcp_connect:
|
||||
prober: tcp
|
||||
pop3s_banner:
|
||||
prober: tcp
|
||||
tcp:
|
||||
query_response:
|
||||
- expect: "^+OK"
|
||||
tls: true
|
||||
tls_config:
|
||||
insecure_skip_verify: false
|
||||
grpc:
|
||||
prober: grpc
|
||||
grpc:
|
||||
tls: true
|
||||
preferred_ip_protocol: "ip4"
|
||||
grpc_plain:
|
||||
prober: grpc
|
||||
grpc:
|
||||
tls: false
|
||||
service: "service1"
|
||||
ssh_banner:
|
||||
prober: tcp
|
||||
tcp:
|
||||
query_response:
|
||||
- expect: "^SSH-2.0-"
|
||||
- send: "SSH-2.0-blackbox-ssh-check"
|
||||
irc_banner:
|
||||
prober: tcp
|
||||
tcp:
|
||||
query_response:
|
||||
- send: "NICK prober"
|
||||
- send: "USER prober prober prober :prober"
|
||||
- expect: "PING :([^ ]+)"
|
||||
send: "PONG ${1}"
|
||||
- expect: "^:[^ ]+ 001"
|
||||
icmp:
|
||||
prober: icmp
|
||||
icmp_ttl5:
|
||||
prober: icmp
|
||||
timeout: 5s
|
||||
icmp:
|
||||
ttl: 5
|
||||
@@ -0,0 +1,22 @@
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
blackbox-exporter:
|
||||
image: {{ blackbox_exporter.image }}
|
||||
container_name: {{ docker.network.name }}-blackbox-exporter
|
||||
hostname: blackbox-exporter
|
||||
restart: always
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- {{ blackbox_exporter.dir.conf }}/blackbox.yml:/etc/blackbox_exporter/config/blackbox.yml:ro
|
||||
networks:
|
||||
- {{ docker.network.name }}
|
||||
ports:
|
||||
- {{ blackbox_exporter.port }}:9115
|
||||
environment:
|
||||
- config.file=/etc/blackbox_exporter/config/blackbox.yml
|
||||
|
||||
networks:
|
||||
{{ docker.network.name }}:
|
||||
external: true
|
||||
name: {{ docker.network.name }}
|
||||
Reference in New Issue
Block a user