Add comprehensive SSH terminal drawer feature with embedded and popout modes, integrate playbook lint results API with local cache fallback, and enhance host management UI with terminal access buttons
Tests / Backend Tests (Python) (3.10) (push) Has been cancelled
Tests / Backend Tests (Python) (3.11) (push) Has been cancelled
Tests / Backend Tests (Python) (3.12) (push) Has been cancelled
Tests / Frontend Tests (JS) (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / All Tests Passed (push) Has been cancelled
Tests / Backend Tests (Python) (3.10) (push) Has been cancelled
Tests / Backend Tests (Python) (3.11) (push) Has been cancelled
Tests / Backend Tests (Python) (3.12) (push) Has been cancelled
Tests / Frontend Tests (JS) (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / All Tests Passed (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
---
|
||||
# Builtin Playbook: Collecte des informations CPU
|
||||
- name: Collect CPU Information
|
||||
hosts: all
|
||||
become: false
|
||||
gather_facts: true
|
||||
vars:
|
||||
_builtin_playbook: true
|
||||
_builtin_id: collect_cpu_info
|
||||
_collect_metrics: true
|
||||
tasks:
|
||||
- name: Get CPU load averages
|
||||
ansible.builtin.shell: cat /proc/loadavg | awk '{print $1, $2, $3}'
|
||||
register: cpu_load
|
||||
changed_when: false
|
||||
|
||||
- name: Get CPU temperature
|
||||
ansible.builtin.shell: |
|
||||
if [ -f /sys/class/thermal/thermal_zone0/temp ]; then
|
||||
cat /sys/class/thermal/thermal_zone0/temp | awk '{printf "%.1f", $1/1000}'
|
||||
else
|
||||
echo "null"
|
||||
fi
|
||||
register: cpu_temp
|
||||
changed_when: false
|
||||
ignore_errors: true
|
||||
|
||||
- name: Get CPU usage percentage
|
||||
ansible.builtin.shell: |
|
||||
top -bn1 | grep "Cpu(s)" | awk '{print 100 - $8}' 2>/dev/null || echo "0"
|
||||
register: cpu_usage
|
||||
changed_when: false
|
||||
ignore_errors: true
|
||||
|
||||
- name: Build metrics output
|
||||
ansible.builtin.set_fact:
|
||||
metrics_output:
|
||||
host: "{{ inventory_hostname }}"
|
||||
data:
|
||||
cpu_count: "{{ ansible_processor_vcpus | default(ansible_processor_count, true) | default(1) }}"
|
||||
cpu_model: "{{ ansible_processor[2] | default('Unknown', true) if (ansible_processor is defined and ansible_processor | length > 2) else 'Unknown' }}"
|
||||
cpu_load_1m: "{{ cpu_load.stdout.split()[0] | default('0', true) | float }}"
|
||||
cpu_load_5m: "{{ cpu_load.stdout.split()[1] | default('0', true) | float }}"
|
||||
cpu_load_15m: "{{ cpu_load.stdout.split()[2] | default('0', true) | float }}"
|
||||
cpu_usage_percent: "{{ cpu_usage.stdout | default('0', true) | float }}"
|
||||
cpu_temperature: "{{ cpu_temp.stdout if (cpu_temp.stdout is defined and cpu_temp.stdout != 'null') else '' }}"
|
||||
|
||||
- name: Output metrics
|
||||
ansible.builtin.debug:
|
||||
msg: "METRICS_JSON_START:{{ metrics_output | to_json }}:METRICS_JSON_END"
|
||||
Reference in New Issue
Block a user