- deploy/compose/infra: Dienst litellm entfernt (D4), Router auf LITELLM_BASE_URL (appsrv08, Port noch offen), alle Images gepinnt, Grafana und pve-exporter ohne Profile, node-exporter für den LXC, Zustand über KNASTER_STATE_DIR - Prometheus: GPU-VMs per file_sd (node, gpu), Proxmox-Knoten per IP, infra-node - Grafana: Datasource und Dashboards provisioniert (grafana.com 10347, 1860, 14574 sowie knaster-Übersicht) - Alertmanager: n8n-Receiver nur vorbereitet (auskommentiert) - Ansible: Rollen infra-stack und gpu-exporters, Playbooks monitoring.yml und monitoring-targets.yml, Skript monitoring-targets.py (tofu output → file_sd) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
fd48fd1c7f
commit
bf7c137adf
@@ -0,0 +1,60 @@
|
||||
# Bewusst getrennt von gpu-node: kein Treiber, kein Docker-Neustart, kein Reboot.
|
||||
- name: node_exporter installieren (ohne Zusatz-Collectors)
|
||||
ansible.builtin.apt:
|
||||
name: prometheus-node-exporter
|
||||
state: present
|
||||
install_recommends: false
|
||||
update_cache: true
|
||||
cache_valid_time: 3600
|
||||
|
||||
- name: Textfile-Verzeichnis (Xid-Zähler aus gpu-xid-textfile.sh)
|
||||
ansible.builtin.file:
|
||||
path: "{{ gpu_exporters_textfile_dir }}"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
|
||||
- name: node_exporter liest das Textfile-Verzeichnis
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/default/prometheus-node-exporter
|
||||
regexp: '^ARGS='
|
||||
line: 'ARGS="--collector.textfile.directory={{ gpu_exporters_textfile_dir }}"'
|
||||
notify: restart node-exporter
|
||||
|
||||
- name: node_exporter aktiv
|
||||
ansible.builtin.service:
|
||||
name: prometheus-node-exporter
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
- name: nvidia_gpu_exporter herunterladen (Prüfsumme fest)
|
||||
ansible.builtin.get_url:
|
||||
url: "https://github.com/utkuozdemir/nvidia_gpu_exporter/releases/download/v{{ nvidia_gpu_exporter_version }}/nvidia-gpu-exporter_{{ nvidia_gpu_exporter_version }}_linux_amd64.deb"
|
||||
dest: "/var/cache/apt/archives/nvidia-gpu-exporter_{{ nvidia_gpu_exporter_version }}_linux_amd64.deb"
|
||||
checksum: "sha256:{{ nvidia_gpu_exporter_sha256 }}"
|
||||
mode: "0644"
|
||||
|
||||
- name: nvidia_gpu_exporter installieren
|
||||
ansible.builtin.apt:
|
||||
deb: "/var/cache/apt/archives/nvidia-gpu-exporter_{{ nvidia_gpu_exporter_version }}_linux_amd64.deb"
|
||||
|
||||
- name: nvidia_gpu_exporter aktiv
|
||||
ansible.builtin.service:
|
||||
name: nvidia_gpu_exporter
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
- name: Ist ufw vorhanden?
|
||||
ansible.builtin.stat:
|
||||
path: /usr/sbin/ufw
|
||||
register: ufw_bin
|
||||
|
||||
# Regeln wirken auch bei inaktivem ufw (werden vorgemerkt). Fremde Regeln bleiben unberührt.
|
||||
- name: ufw – Exporter-Ports aus dem LAN erlauben
|
||||
community.general.ufw:
|
||||
rule: allow
|
||||
src: "{{ gpu_exporters_allow_from }}"
|
||||
port: "{{ item | string }}"
|
||||
proto: tcp
|
||||
comment: knaster-monitoring
|
||||
loop: "{{ gpu_exporters_ports }}"
|
||||
when: ufw_bin.stat.exists
|
||||
Reference in New Issue
Block a user