slogan3

Ontwikkel een Ansible Playbook voor Geautomatiseerde Prestatieoptimalisatie en Resourcebeheer

description

Met deze prompt kun je een Ansible playbook ontwikkelen dat automatisch de prestaties van je infrastructuur bewaakt en resources efficiënt beheert. Dit helpt bij het voorkomen van overbelasting, optimaliseert systeemreacties en vermindert handmatige interventies. Het bespaart tijd en verhoogt de betrouwbaarheid van je DevOps-processen.

prompt

Help me een Ansible playbook te ontwerpen dat automatisch prestatiegegevens verzamelt en resources beheert om optimale werking van mijn infrastructuur te waarborgen. Mijn specifieke prestatieparameters: <voer de te monitoren prestatieparameters in> Resource limieten: ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Hier is een voorbeeld van een Ansible playbook dat automatische prestatiegegevens verzamelt, resource-limieten controleert en acties onderneemt (zoals het herstarten van een service) wanneer limieten worden overschreden. Dit playbook maakt gebruik van de Ansible modules en commando's om CPU- en geheugengebruik te monitoren, en voert acties uit indien nodig. ```yaml --- - name: Prestatiegegevens verzamelen en resourcebeheer hosts: alle become: yes vars: cpu_limit: 75 mem_limit: 80 service_name: jouw_service # vervang door de naam van de service die je wilt beheren tasks: - name: Verzamelen CPU- en geheugengebruik shell: | # CPU gebruik in procenten mpstat 1 1 | awk '/Average/ {print 100 - $12}' # Geheugengebruik in procenten free | grep Mem | awk '{print ($3 / $2) * 100}' register: resource_usage changed_when: false - name: Parse CPU-gebruik set_fact: cpu_usage: "{{ resource_usage.stdout_lines[0] | float }}" - name: Parse geheugengebruik set_fact: mem_usage: "{{ resource_usage.stdout_lines[1] | float }}" - name: Controleer CPU en geheugengebruik debug: msg: "CPU: {{ cpu_usage }}%, Geheugen: {{ mem_usage }}%" - name: Herstart service bij overschrijding CPU-limiet service: name: "{{ service_name }}" state: restarted when: cpu_usage > cpu_limit tags: prestatiebeheer - name: Herstart service bij overschrijding geheugengebiedlimiet service: name: "{{ service_name }}" state: restarted when: mem_usage > mem_limit tags: prestatiebeheer - name: Rapportage - Service herstart bij overschrijding limiet debug: msg: "Service '{{ service_name }}' is herstart vanwege overschrijding limiet." when: cpu_usage > cpu_limit or mem_usage > mem_limit tags: rapportage, automatisering ``` **Toelichting:** - Het playbook verzamelt CPU- en geheugengebruik met behulp van shell-commando's (`mpstat` en `free`). - Het parseert de output en zet deze om naar float-variabelen. - Als CPU- of geheugengebruik de ingestelde limieten overschrijdt, wordt de service herstart. - Rapportage wordt gedaan via de `debug` module, die aangeeft dat de service is herstart vanwege overschrijding. **Aanpassingen:** - Vervang `jouw_service` door de naam van de service die je wilt beheren. - Mogelijk moet je `mpstat` en `free` installeren op je systemen. - Voor productiegebruik kun je de rapportage uitbreiden naar logs of externe monitoringtools. **Tags:** Gebruik de tags `prestatiebeheer`, `resourcebeheer`, `automatisering`, `monitoring`, en `Ansible` om het playbook te categoriseren en gericht uit te voeren. --- Heeft u verdere wensen of aanpassingen?
provider: deepseek
model: deepseek-chat
Hier is een Ansible playbook dat voldoet aan uw vereisten voor prestatiemonitoring en resourcebeheer: ```yaml --- - name: Prestatiebewaking en Resourcebeheer hosts: all become: yes vars: cpu_limiet: 75 geheugen_limiet: 80 te_monitoren_service: "uw-service-naam" # Vervang met uw service naam tasks: - name: Verzamel prestatiegegevens setup: gather_subset: - hardware tags: prestatiebeheer - name: Toon huidige CPU-belasting debug: msg: "Huidige CPU-belasting: {{ ansible_processor_vcpus }} cores, gebruik: {{ ansible_processor_cores }}%" when: ansible_processor_vcpus is defined tags: prestatiebeheer - name: Controleer geheugengebruik shell: | free | grep Mem | awk '{print $3/$2 * 100.0}' register: geheugen_gebruik changed_when: false tags: prestatiebeheer - name: Toon geheugengebruik debug: msg: "Huidig geheugengebruik: {{ geheugen_gebruik.stdout | float | round(2) }}%" tags: prestatiebeheer - name: Controleer CPU-belasting shell: | grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage}' register: cpu_gebruik changed_when: false tags: prestatiebeheer - name: Toon CPU-belasting debug: msg: "Huidige CPU-belasting: {{ cpu_gebruik.stdout | float | round(2) }}%" tags: prestatiebeheer - name: Herstart service bij overschrijding CPU-limiet service: name: "{{ te_monitoren_service }}" state: restarted when: - cpu_gebruik.stdout | float > cpu_limiet - te_monitoren_service != "uw-service-naam" notify: service_herstart_log tags: [automatisering, resourcebeheer] - name: Herstart service bij overschrijding geheugenlimiet service: name: "{{ te_monitoren_service }}" state: restarted when: - geheugen_gebruik.stdout | float > geheugen_limiet - te_monitoren_service != "uw-service-naam" notify: service_herstart_log tags: [automatisering, resourcebeheer] handlers: - name: service_herstart_log debug: msg: "Service {{ te_monitoren_service }} herstart wegens overschrijding resource limiet" tags: monitoring ``` **Aanvullende bestanden voor uitgebreide rapportage:** `prestatie_vars.yml` (variabelenbestand): ```yaml --- monitoring_interval: 300 # seconden rapportage_email: "uw-email@domein.nl" cpu_waarschuwingsdrempel: 70 geheugen_waarschuwingsdrempel: 75 ``` `prestatie_rapportage.yml` (rapportage playbook): ```yaml --- - name: Genereer prestatie rapportage hosts: localhost vars_files: - prestatie_vars.yml tasks: - name: Maak rapportage bestand template: src: rapportage.j2 dest: "/var/log/ansible/prestatie_rapport_{{ ansible_date_time.epoch }}.log" tags: rapportage ``` **Gebruiksaanwijzing:** 1. **Vervang de service naam**: Wijzig `"uw-service-naam"` in de werkelijke service naam 2. **Pas limieten aan**: Wijzig `cpu_limiet` en `geheugen_limiet` indien nodig 3. **Voer playbook uit**: ```bash ansible-playbook -i inventory.yml prestatie_beheer.yml ``` **Belangrijke kenmerken:** - Automatische herstart bij overschrijding limieten - Real-time monitoring van CPU en geheugen - Gedetailleerde logging van alle acties - Flexibele configuratie via variabelen - Uitbreidbaar voor aanvullende metriek **Tags voor gericht gebruik:** ```bash ansible-playbook -i inventory.yml prestatie_beheer.yml --tags "prestatiebeheer" ansible-playbook -i inventory.yml prestatie_beheer.yml --tags "automatisering" ansible-playbook -i inventory.yml prestatie_beheer.yml --tags "monitoring" ```