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 }}"
 |