diff --git a/roles/lmn_misc/defaults/main.yml b/roles/lmn_misc/defaults/main.yml
index 35fb229..67eb203 100644
--- a/roles/lmn_misc/defaults/main.yml
+++ b/roles/lmn_misc/defaults/main.yml
@@ -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"
diff --git a/roles/lmn_misc/tasks/main.yml b/roles/lmn_misc/tasks/main.yml
index 05ad1fd..0fb9c7c 100644
--- a/roles/lmn_misc/tasks/main.yml
+++ b/roles/lmn_misc/tasks/main.yml
@@ -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
 
diff --git a/roles/lmn_misc/templates/reporter.j2 b/roles/lmn_misc/templates/reporter.j2
new file mode 100755
index 0000000..6a19bec
--- /dev/null
+++ b/roles/lmn_misc/templates/reporter.j2
@@ -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