Added metric collection to server
This commit is contained in:
parent
d7c3b9cdaa
commit
a7bbea491c
4 changed files with 1746 additions and 0 deletions
1649
files/collectd/collectd.conf
Normal file
1649
files/collectd/collectd.conf
Normal file
File diff suppressed because it is too large
Load diff
25
files/prometheus/compose.yml
Normal file
25
files/prometheus/compose.yml
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
|
||||||
|
services:
|
||||||
|
prometheus:
|
||||||
|
image: prom/prometheus
|
||||||
|
container_name: infra-prometheus
|
||||||
|
restart: unless-stopped
|
||||||
|
logging:
|
||||||
|
driver: local
|
||||||
|
networks:
|
||||||
|
infra-network:
|
||||||
|
ipv4_address: 172.28.0.5
|
||||||
|
aliases:
|
||||||
|
- prom.mforcen.dev
|
||||||
|
volumes:
|
||||||
|
- type: bind
|
||||||
|
source: /opt/infra/prometheus/prometheus.yml
|
||||||
|
target: /etc/prometheus/prometheus.yml
|
||||||
|
- type: volume
|
||||||
|
source: prom-data
|
||||||
|
target: /prometheus
|
||||||
|
volumes:
|
||||||
|
prom-data:
|
||||||
|
networks:
|
||||||
|
infra-network:
|
||||||
|
external: true
|
||||||
32
files/prometheus/prometheus.yml
Normal file
32
files/prometheus/prometheus.yml
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
# my global config
|
||||||
|
global:
|
||||||
|
scrape_interval: 60s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
|
||||||
|
evaluation_interval: 60s # Evaluate rules every 15 seconds. The default is every 1 minute.
|
||||||
|
# scrape_timeout is set to the global default (10s).
|
||||||
|
|
||||||
|
# Alertmanager configuration
|
||||||
|
#alerting:
|
||||||
|
# alertmanagers:
|
||||||
|
# - static_configs:
|
||||||
|
# - targets:
|
||||||
|
# - alertmanager:9093
|
||||||
|
|
||||||
|
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
|
||||||
|
#rule_files:
|
||||||
|
# - "first_rules.yml"
|
||||||
|
# - "second_rules.yml"
|
||||||
|
|
||||||
|
# A scrape configuration containing exactly one endpoint to scrape:
|
||||||
|
# Here it's Prometheus itself.
|
||||||
|
scrape_configs:
|
||||||
|
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
|
||||||
|
- job_name: "prometheus"
|
||||||
|
|
||||||
|
# metrics_path defaults to '/metrics'
|
||||||
|
# scheme defaults to 'http'.
|
||||||
|
|
||||||
|
static_configs:
|
||||||
|
- targets: ["localhost:9090"]
|
||||||
|
- job_name: "host"
|
||||||
|
static_configs:
|
||||||
|
- targets: ["172.28.0.1:9103"]
|
||||||
40
install-metrics.yml
Normal file
40
install-metrics.yml
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
|
||||||
|
---
|
||||||
|
- name: installing metrics storage
|
||||||
|
hosts: server
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Create prometheus directory if it does not exist
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /opt/infra/prometheus
|
||||||
|
state: directory
|
||||||
|
mode: '0755'
|
||||||
|
- name: Create prometheus config file
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: prometheus/prometheus.yml
|
||||||
|
dest: /opt/infra/prometheus/prometheus.yml
|
||||||
|
- name: Install collectd
|
||||||
|
ansible.builtin.apt:
|
||||||
|
name: collectd
|
||||||
|
state: present
|
||||||
|
update_cache: yes
|
||||||
|
become: true
|
||||||
|
- name: Install collectd config file
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: collectd/collectd.conf
|
||||||
|
dest: /etc/collectd/collectd.conf
|
||||||
|
become: true
|
||||||
|
- name: Restart collectd service
|
||||||
|
ansible.builtin.systemd_service:
|
||||||
|
name: collectd.service
|
||||||
|
state: restarted
|
||||||
|
become: true
|
||||||
|
- name: Create prometheus compose file
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: prometheus/compose.yml
|
||||||
|
dest: /opt/infra/prometheus/compose.yml
|
||||||
|
- name: Deploy prometheus compose file
|
||||||
|
community.docker.docker_compose_v2:
|
||||||
|
project_src: /opt/infra/prometheus
|
||||||
|
files:
|
||||||
|
- compose.yml
|
||||||
Loading…
Add table
Add a link
Reference in a new issue