---
- name: Linux Server Inspection
hosts: all
gather_facts: yes
tasks:
- name: Check CPU usage
shell: top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1"%"}'
register: cpu_usage
changed_when: false
- name: Print CPU usage
debug:
msg: "CPU Usage: {{ cpu_usage.stdout }}"
- name: Check Memory usage
shell: free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%s%)\n", $3,$2,$3*100/$2 }'
register: memory_usage
changed_when: false
- name: Print Memory usage
debug:
msg: "{{ memory_usage.stdout }}"
- name: Check Disk usage
shell: df -h / | awk 'NR==2{printf "Disk Usage: %s\n", $5}' | sed 's/%//g'
register: disk_usage
changed_when: false
- name: Print Disk usage
debug:
msg: "Disk Usage: {{ disk_usage.stdout }}%"
- name: Check Elasticsearch status
command: systemctl is-active --quiet elasticsearch
ignore_errors: yes
register: es_status
- name: Print Elasticsearch status
debug:
msg: "Elasticsearch Status: {{ 'Running' if es_status.rc == 0 else 'Not Running' }}"
- name: Check Nginx status
command: systemctl is-active --quiet nginx
ignore_errors: yes
register: nginx_status
- name: Print Nginx status
debug:
msg: " Nginx Status: {{ 'Running' if nginx_status.rc == 0 else 'Not Running' }}"