@cryptotaxi247 / netdata-1 / commits / d759ebbb7

Add a machine distinct id to analytics (#15485)

* add a system distinct id to analytics

Emmanuel Vasilakis committed Jul 24, 2023 at 21:00 UTC d759ebbb7f65b84eb9874e86985bffac349e7f4b
2 files changed +28 -7
daemon/anonymous-statistics.sh.in
+18
@@ -71,6 +71,23 @@ NETDATA_PREBUILT_DISTRO="${42}"
71
72 [ -z "$NETDATA_REGISTRY_UNIQUE_ID" ] && NETDATA_REGISTRY_UNIQUE_ID="00000000-0000-0000-0000-000000000000"
73
74 +KERNEL_NAME="$(uname -s)"
75 +MD5_PATH="$(exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum)"
76 +
77 +if [ "${KERNEL_NAME}" = Darwin ] && command -v ioreg >/dev/null 2>&1; then
78 + SYSTEM_DISTINCT_ID="macos-$(ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformUUID/ { split($0, line, "\""); printf("%s\n", line[4]); }')"
79 +elif [ -f /etc/machine-id ] && [ -n "$MD5_PATH" ]; then
80 + SYSTEM_DISTINCT_ID="machine-$($MD5_PATH < /etc/machine-id | cut -f1 -d" ")"
81 +elif [ -f /var/db/dbus/machine-id ] && [ -n "$MD5_PATH" ]; then
82 + SYSTEM_DISTINCT_ID="dbus-$($MD5_PATH < /var/db/dbus/machine-id | cut -f1 -d" ")"
83 +elif [ -f /var/lib/dbus/machine-id ] && [ -n "$MD5_PATH" ]; then
84 + SYSTEM_DISTINCT_ID="dbus-$($MD5_PATH < /var/lib/dbus/machine-id | cut -f1 -d" ")"
85 +elif command -v uuidgen > /dev/null 2>&1; then
86 + SYSTEM_DISTINCT_ID="uuid-$(uuidgen | tr '[:upper:]' '[:lower:]')"
87 +else
88 + SYSTEM_DISTINCT_ID="null"
89 +fi
90 +
91 # define body of request to be sent
92 REQ_BODY="$(cat << EOF
93 {
@@ -105,6 +122,7 @@ REQ_BODY="$(cat << EOF
122 "system_virt_detection": "${NETDATA_SYSTEM_VIRT_DETECTION}",
123 "system_container": "${NETDATA_SYSTEM_CONTAINER}",
124 "system_container_detection": "${NETDATA_SYSTEM_CONTAINER_DETECTION}",
125 + "system_distinct_id": "${SYSTEM_DISTINCT_ID}",
126 "container_os_name": "${NETDATA_CONTAINER_OS_NAME}",
127 "container_os_id": "${NETDATA_CONTAINER_OS_ID}",
128 "container_os_id_like": "${NETDATA_CONTAINER_OS_ID_LIKE}",
packaging/installer/kickstart.sh
+10 -7
@@ -257,14 +257,16 @@ telemetry_event() {
257 TOTAL_RAM="$((TOTAL_RAM * 1024))"
258 fi
259
260 + MD5_PATH="$(exec <&- 2>&-; which md5sum || command -v md5sum || type md5sum)"
261 +
262 if [ "${KERNEL_NAME}" = Darwin ] && command -v ioreg >/dev/null 2>&1; then
263 DISTINCT_ID="macos-$(ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformUUID/ { split($0, line, "\""); printf("%s\n", line[4]); }')"
262 - elif [ -f /etc/machine-id ]; then
263 - DISTINCT_ID="machine-$(cat /etc/machine-id)"
264 - elif [ -f /var/db/dbus/machine-id ]; then
265 - DISTINCT_ID="dbus-$(cat /var/db/dbus/machine-id)"
266 - elif [ -f /var/lib/dbus/machine-id ]; then
267 - DISTINCT_ID="dbus-$(cat /var/lib/dbus/machine-id)"
264 + elif [ -f /etc/machine-id ] && [ -n "$MD5_PATH" ]; then
265 + DISTINCT_ID="machine-$($MD5_PATH < /etc/machine-id | cut -f1 -d" ")"
266 + elif [ -f /var/db/dbus/machine-id ] && [ -n "$MD5_PATH" ]; then
267 + DISTINCT_ID="dbus-$($MD5_PATH < /var/db/dbus/machine-id | cut -f1 -d" ")"
268 + elif [ -f /var/lib/dbus/machine-id ] && [ -n "$MD5_PATH" ]; then
269 + DISTINCT_ID="dbus-$($MD5_PATH < /var/lib/dbus/machine-id | cut -f1 -d" ")"
270 elif command -v uuidgen > /dev/null 2>&1; then
271 DISTINCT_ID="uuid-$(uuidgen | tr '[:upper:]' '[:lower:]')"
272 else
@@ -300,7 +302,8 @@ telemetry_event() {
302 "system_kernel_name": "${KERNEL_NAME}",
303 "system_kernel_version": "$(uname -r)",
304 "system_architecture": "$(uname -m)",
303 - "system_total_ram": "${TOTAL_RAM:-unknown}"
305 + "system_total_ram": "${TOTAL_RAM:-unknown}",
306 + "system_distinct_id": "${DISTINCT_ID}"
307 }
308 }
309 EOF