116 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
| ---
 | |
| - name: PVE Cluster Diagnosis
 | |
|   hosts: pve_cluster
 | |
|   gather_facts: yes
 | |
|   tasks:
 | |
|     - name: Check PVE service status
 | |
|       systemd:
 | |
|         name: pve-cluster
 | |
|         state: started
 | |
|       register: pve_cluster_status
 | |
| 
 | |
|     - name: Check PVE proxy service status
 | |
|       systemd:
 | |
|         name: pveproxy
 | |
|         state: started
 | |
|       register: pve_proxy_status
 | |
| 
 | |
|     - name: Check PVE firewall service status
 | |
|       systemd:
 | |
|         name: pve-firewall
 | |
|         state: started
 | |
|       register: pve_firewall_status
 | |
| 
 | |
|     - name: Check PVE daemon service status
 | |
|       systemd:
 | |
|         name: pvedaemon
 | |
|         state: started
 | |
|       register: pve_daemon_status
 | |
| 
 | |
|     - name: Display PVE service status
 | |
|       debug:
 | |
|         msg: |
 | |
|           PVE Cluster: {{ pve_cluster_status.status.ActiveState }}
 | |
|           PVE Proxy: {{ pve_proxy_status.status.ActiveState }}
 | |
|           PVE Firewall: {{ pve_firewall_status.status.ActiveState }}
 | |
|           PVE Daemon: {{ pve_daemon_status.status.ActiveState }}          
 | |
| 
 | |
|     - name: Check PVE cluster configuration
 | |
|       command: pvecm status
 | |
|       register: pve_cluster_config
 | |
|       ignore_errors: yes
 | |
| 
 | |
|     - name: Display PVE cluster configuration
 | |
|       debug:
 | |
|         msg: "{{ pve_cluster_config.stdout_lines }}"
 | |
|       when: pve_cluster_config.rc == 0
 | |
| 
 | |
|     - name: Check PVE cluster nodes
 | |
|       command: pvecm nodes
 | |
|       register: pve_nodes
 | |
|       ignore_errors: yes
 | |
| 
 | |
|     - name: Display PVE cluster nodes
 | |
|       debug:
 | |
|         msg: "{{ pve_nodes.stdout_lines }}"
 | |
|       when: pve_nodes.rc == 0
 | |
| 
 | |
|     - name: Check network connectivity to other nodes
 | |
|       command: ping -c 3 {{ item }}
 | |
|       loop: "{{ groups['pve_cluster'] }}"
 | |
|       when: item != inventory_hostname
 | |
|       register: ping_results
 | |
|       ignore_errors: yes
 | |
| 
 | |
|     - name: Display ping results
 | |
|       debug:
 | |
|         msg: "{{ inventory_hostname }} -> {{ item.item }}: {{ 'SUCCESS' if item.rc == 0 else 'FAILED' }}"
 | |
|       loop: "{{ ping_results.results }}"
 | |
|       when: ping_results is defined
 | |
| 
 | |
|     - name: Check SSH service status
 | |
|       systemd:
 | |
|         name: ssh
 | |
|         state: started
 | |
|       register: ssh_status
 | |
| 
 | |
|     - name: Display SSH service status
 | |
|       debug:
 | |
|         msg: "SSH Service: {{ ssh_status.status.ActiveState }}"
 | |
| 
 | |
|     - name: Check SSH configuration
 | |
|       command: sshd -T
 | |
|       register: sshd_config
 | |
|       ignore_errors: yes
 | |
| 
 | |
|     - name: Display SSH configuration (key settings)
 | |
|       debug:
 | |
|         msg: |
 | |
|           PasswordAuthentication: {{ sshd_config.stdout | regex_search('passwordauthentication (yes|no)') }}
 | |
|           PubkeyAuthentication: {{ sshd_config.stdout | regex_search('pubkeyauthentication (yes|no)') }}
 | |
|           PermitRootLogin: {{ sshd_config.stdout | regex_search('permitrootlogin (yes|no|prohibit-password)') }}          
 | |
| 
 | |
|     - name: Check disk space
 | |
|       command: df -h
 | |
|       register: disk_usage
 | |
| 
 | |
|     - name: Display disk usage
 | |
|       debug:
 | |
|         msg: "{{ disk_usage.stdout_lines }}"
 | |
| 
 | |
|     - name: Check memory usage
 | |
|       command: free -h
 | |
|       register: memory_usage
 | |
| 
 | |
|     - name: Display memory usage
 | |
|       debug:
 | |
|         msg: "{{ memory_usage.stdout_lines }}"
 | |
| 
 | |
|     - name: Check system load
 | |
|       command: uptime
 | |
|       register: system_load
 | |
| 
 | |
|     - name: Display system load
 | |
|       debug:
 | |
|         msg: "{{ system_load.stdout }}"
 |