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: true
|
||||||
misc_pwroff_idle: true
|
misc_pwroff_idle: true
|
||||||
misc_pxe_first: false
|
misc_pxe_first: false
|
||||||
misc_reporter: false
|
misc_reporter_serv: ""
|
||||||
misc_clonescreen: false
|
misc_clonescreen: false
|
||||||
misc_clonescreen_mode: "1920x1080@60"
|
misc_clonescreen_mode: "1920x1080@60"
|
||||||
|
|
|
@ -162,10 +162,11 @@
|
||||||
# Install reporter
|
# Install reporter
|
||||||
|
|
||||||
- name: Copy reporter
|
- name: Copy reporter
|
||||||
ansible.builtin.copy:
|
ansible.builtin.template:
|
||||||
src: reporter
|
src: reporter.j2
|
||||||
dest: /usr/local/sbin/
|
dest: /usr/local/sbin/
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
|
when: misc_reporter_serv | length > 0
|
||||||
|
|
||||||
- name: Provide services and timers for reporter
|
- name: Provide services and timers for reporter
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
|
@ -175,13 +176,13 @@
|
||||||
loop:
|
loop:
|
||||||
- reporter.service
|
- reporter.service
|
||||||
- reporter.timer
|
- reporter.timer
|
||||||
when: misc_reporter
|
when: misc_reporter_serv | length > 0
|
||||||
|
|
||||||
- name: Enable reporter.timer
|
- name: Enable reporter.timer
|
||||||
ansible.builtin.systemd:
|
ansible.builtin.systemd:
|
||||||
name: reporter.timer
|
name: reporter.timer
|
||||||
enabled: true
|
enabled: true
|
||||||
when: misc_reporter
|
when: misc_reporter_serv | length > 0
|
||||||
|
|
||||||
# Prepare CloneScreen on Presenter PCs
|
# 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