Update 6 files

- /group_vars/all.yml
- /roles/loki/templates/docker-compose.yml.j2
- /roles/loki/templates/promtail-config.yml.j2
- /roles/loki/tasks/main.yml
- /roles/grafana/templates/docker-compose.yml.j2
- /roles/grafana/templates/loki-datasource.yml.j2
This commit is contained in:
Administrator 2025-11-21 11:08:24 +00:00
parent 537015263f
commit 1413bb7683
6 changed files with 36 additions and 53 deletions

View File

@ -42,9 +42,11 @@ monitoring_groups:
monitoring_ports: monitoring_ports:
node_exporter: 9100 node_exporter: 9100
cadvisor: 8080 cadvisor: 8080
proxmox_exporter: 9223 proxmox_exporter: 9221
vmagent: 8429 vmagent: 8429
victoriametrics: 8428 victoriametrics: 8428
loki: 3100
promtail: 9080
proxmox_node: "Olimp" proxmox_node: "Olimp"
admin_user: root admin_user: root
@ -257,8 +259,12 @@ grafana_root_url: https://mon.zailon.ru
# ------------ Loki------------ # ------------ Loki------------
loki_base_dir: "/mnt/loki" loki_base_dir: "/mnt/loki"
loki_config_dir: "{{ loki_base_dir }}/config" loki_config_dir: "{{ loki_base_dir }}/config"
loki_data_dir: "{{ loki_base_dir }}/data" loki_data_dir: "{{ loki_base_dir }}/data"0
promtail_config_dir: "{{ loki_base_dir }}/promtail" loki_server_host: "{{ server_ips.manage }}"
loki_port: 3100 loki_server_port: "{{ monitoring_ports.loki }}" # 3100
loki_version: "2.9.2" loki_version: "2.9.2"
loki_retention_days: 30 loki_retention_days: 30
# ------------ Promtail ------------
promtail_config_dir: "/etc/promtail"
promtail_data_dir: "/var/lib/promtail"

View File

@ -10,7 +10,7 @@ services:
volumes: volumes:
- {{ grafana_vm_data_dir }}:/storage - {{ grafana_vm_data_dir }}:/storage
ports: ports:
- "{{ victoriametrics_port | default(8428) }}:8428" - "{{ monitoring_ports.victoriametrics }}:8428"
networks: networks:
- monitoring - monitoring
@ -27,7 +27,7 @@ services:
- {{ grafana_vmagent_config }}:/config/vmagent.yaml:ro - {{ grafana_vmagent_config }}:/config/vmagent.yaml:ro
- {{ grafana_vmagent_tmp_dir }}:/tmpData - {{ grafana_vmagent_tmp_dir }}:/tmpData
ports: ports:
- "8429:8429" # Для мониторинга самого vmagent - "{{ monitoring_ports.vmagent }}:8429"
depends_on: depends_on:
- victoriametrics - victoriametrics
networks: networks:

View File

@ -4,7 +4,7 @@ datasources:
- name: Loki - name: Loki
type: loki type: loki
access: proxy access: proxy
url: http://localhost:45135 url: http://loki:3100
isDefault: false isDefault: false
version: 1 version: 1
editable: true editable: true

View File

@ -97,16 +97,6 @@
delay: 10 delay: 10
become: no become: no
- name: Verify Loki is responding
uri:
url: "http://{{ ansible_default_ipv4.address }}:{{ loki_port }}/ready"
status_code: 200
timeout: 15
register: loki_ready_check
become: no
retries: 3
delay: 10
- name: Show Loki status - name: Show Loki status
debug: debug:
msg: "Loki is running and responding on port {{ loki_port }}" msg: "Loki is running and responding on port {{ loki_port }}"

View File

@ -5,7 +5,7 @@ services:
restart: unless-stopped restart: unless-stopped
user: "10001:10001" user: "10001:10001"
ports: ports:
- "{{ loki_port }}:3100" - "{{ monitoring_ports.loki }}:3100"
command: -config.file=/etc/loki/loki-config.yml command: -config.file=/etc/loki/loki-config.yml
volumes: volumes:
- "{{ loki_data_dir }}:/loki" - "{{ loki_data_dir }}:/loki"
@ -22,7 +22,7 @@ services:
image: grafana/promtail:{{ loki_version }} image: grafana/promtail:{{ loki_version }}
container_name: promtail container_name: promtail
restart: unless-stopped restart: unless-stopped
user: "0" # root для доступа к системным логам user: "0"
command: -config.file=/etc/promtail/promtail-config.yml command: -config.file=/etc/promtail/promtail-config.yml
volumes: volumes:
- "{{ promtail_config_dir }}:/etc/promtail" - "{{ promtail_config_dir }}:/etc/promtail"

View File

@ -1,12 +1,12 @@
server: server:
http_listen_port: 9080 http_listen_port: {{ monitoring_ports.promtail }}
grpc_listen_port: 0 grpc_listen_port: 0
positions: positions:
filename: /tmp/positions.yaml filename: {{ promtail_data_dir }}/positions.yaml
clients: clients:
- url: http://loki:3100/loki/api/v1/push - url: http://{{ loki_server_host }}:{{ loki_server_port }}/loki/api/v1/push
scrape_configs: scrape_configs:
- job_name: system - job_name: system
@ -18,23 +18,14 @@ scrape_configs:
host: "{{ inventory_hostname }}" host: "{{ inventory_hostname }}"
__path__: /var/log/*log __path__: /var/log/*log
- job_name: containers - job_name: auth
static_configs: static_configs:
- targets: - targets:
- localhost - localhost
labels: labels:
job: container-logs job: auth
host: "{{ inventory_hostname }}" host: "{{ inventory_hostname }}"
__path__: /var/lib/docker/containers/*/*log __path__: /var/log/auth.log
- job_name: docker-daemon
static_configs:
- targets:
- localhost
labels:
job: docker-daemon
host: "{{ inventory_hostname }}"
__path__: /var/log/docker.log
- job_name: syslog - job_name: syslog
static_configs: static_configs:
@ -45,24 +36,6 @@ scrape_configs:
host: "{{ inventory_hostname }}" host: "{{ inventory_hostname }}"
__path__: /var/log/syslog __path__: /var/log/syslog
- job_name: auth
static_configs:
- targets:
- localhost
labels:
job: auth
host: "{{ inventory_hostname }}"
__path__: /var/log/auth.log
- job_name: ansible
static_configs:
- targets:
- localhost
labels:
job: ansible
host: "{{ inventory_hostname }}"
__path__: /var/log/ansible/*log
- job_name: kernel - job_name: kernel
static_configs: static_configs:
- targets: - targets:
@ -70,4 +43,18 @@ scrape_configs:
labels: labels:
job: kernel job: kernel
host: "{{ inventory_hostname }}" host: "{{ inventory_hostname }}"
__path__: /var/log/kern.log __path__: /var/log/kern.log
- job_name: docker
static_configs:
- targets:
- localhost
labels:
job: container-logs
host: "{{ inventory_hostname }}"
__path__: /var/lib/docker/containers/*/*log
relabel_configs:
- source_labels: ['__path__']
target_label: container_name
regex: '/var/lib/docker/containers/([^/]*)/.*log'
replacement: '$1'