Activate reporter by setting misc_reporter_serv to server name
				
					
				
			This commit is contained in:
		
							parent
							
								
									7a0174838f
								
							
						
					
					
						commit
						e02a1ef28d
					
				
					 3 changed files with 39 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -3,6 +3,6 @@ misc_avoid_suspend: true
 | 
			
		|||
misc_pwroff: true
 | 
			
		||||
misc_pwroff_idle: true
 | 
			
		||||
misc_pxe_first: false
 | 
			
		||||
misc_reporter: false
 | 
			
		||||
misc_reporter_serv: ""
 | 
			
		||||
misc_clonescreen: false
 | 
			
		||||
misc_clonescreen_mode: "1920x1080@60"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -162,10 +162,11 @@
 | 
			
		|||
# Install reporter
 | 
			
		||||
 | 
			
		||||
- name: Copy reporter
 | 
			
		||||
  ansible.builtin.copy:
 | 
			
		||||
    src: reporter
 | 
			
		||||
  ansible.builtin.template:
 | 
			
		||||
    src: reporter.j2
 | 
			
		||||
    dest: /usr/local/sbin/
 | 
			
		||||
    mode: '0755'
 | 
			
		||||
  when: misc_reporter_serv | length > 0
 | 
			
		||||
 | 
			
		||||
- name: Provide services and timers for reporter
 | 
			
		||||
  ansible.builtin.copy:
 | 
			
		||||
| 
						 | 
				
			
			@ -175,13 +176,13 @@
 | 
			
		|||
  loop:
 | 
			
		||||
    - reporter.service
 | 
			
		||||
    - reporter.timer
 | 
			
		||||
  when: misc_reporter
 | 
			
		||||
  when: misc_reporter_serv | length > 0
 | 
			
		||||
 | 
			
		||||
- name: Enable reporter.timer
 | 
			
		||||
  ansible.builtin.systemd:
 | 
			
		||||
    name: reporter.timer
 | 
			
		||||
    enabled: true
 | 
			
		||||
  when: misc_reporter
 | 
			
		||||
  when: misc_reporter_serv | length > 0
 | 
			
		||||
 | 
			
		||||
# Prepare CloneScreen on Presenter PCs
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										33
									
								
								roles/lmn_misc/templates/reporter.j2
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								roles/lmn_misc/templates/reporter.j2
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
#!/usr/bin/bash
 | 
			
		||||
#
 | 
			
		||||
# Send stdout of some commands to monitoring server.
 | 
			
		||||
# Collect the reports with 'nc -u -k -l 1234' on 'sendto'.
 | 
			
		||||
# Use /bin/nc.openbsd, /bin/nc.traditional seems not to work.
 | 
			
		||||
#
 | 
			
		||||
set -eu
 | 
			
		||||
 | 
			
		||||
sendto="{{ misc_reporter_serv }} 1234"
 | 
			
		||||
n=0
 | 
			
		||||
 | 
			
		||||
cmds=(
 | 
			
		||||
    'uname -a'
 | 
			
		||||
    'tail -1 /var/local/ansible-stamps'
 | 
			
		||||
    'ip route list default'
 | 
			
		||||
    'ip link show | \
 | 
			
		||||
       sed -nE -e "s/^[2-9]: (\S+): .+/\1/p" -e "s/.+ether ([0-9a-f:]+) .+/\1/p" | \
 | 
			
		||||
       paste - -'
 | 
			
		||||
)
 | 
			
		||||
#    'w'
 | 
			
		||||
#    'uptime'
 | 
			
		||||
#    'ls -d --full-time /home/ansible/.ansible/tmp/'
 | 
			
		||||
#    'ip addr show'
 | 
			
		||||
#    'apt list --upgradeable -o Apt::Cmd::Disable-Script-Warning=true'
 | 
			
		||||
 | 
			
		||||
r="$HOSTNAME ------- $(date --rfc-3339=seconds) -------
 | 
			
		||||
$(for c in "${cmds[@]}" ; do
 | 
			
		||||
      n=$(( n + 1 ))
 | 
			
		||||
      echo -n "$n"
 | 
			
		||||
      eval "$c" | sed 's/^/\t/'
 | 
			
		||||
done | sed "s/^/$HOSTNAME /")
 | 
			
		||||
## -------------------------------------------------"
 | 
			
		||||
echo "$r" | nc -w 1 -u $sendto
 | 
			
		||||
		Loading…
	
	Add table
		
		Reference in a new issue