anonymous-statistics.sh.in 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #!/usr/bin/env sh
  2. # Valid actions:
  3. # - FATAL - netdata exited due to a fatal condition
  4. # ACTION_RESULT -- program name and thread tag
  5. # ACTION_DATA -- fmt, args passed to fatal
  6. # - START - netdata started
  7. # ACTION_DATA -- nan
  8. # - EXIT - installation action
  9. # ACTION_DATA -- ret value of
  10. ACTION="${1}"
  11. ACTION_RESULT="${2}"
  12. ACTION_DATA="${3}"
  13. ACTION_DATA=$(echo "${ACTION_DATA}" | tr '"' "'")
  14. # -------------------------------------------------------------------------------------------------
  15. # check opt-out
  16. if [ -f "@configdir_POST@/.opt-out-from-anonymous-statistics" ] || [ ! "${DO_NOT_TRACK:-0}" -eq 0 ] || [ -n "$DO_NOT_TRACK" ]; then
  17. exit 0
  18. fi
  19. # Shorten version for easier reporting
  20. NETDATA_VERSION=$(echo "${NETDATA_VERSION}" | sed 's/-.*//g' | tr -d 'v')
  21. # -------------------------------------------------------------------------------------------------
  22. # define body of request to be sent
  23. REQ_BODY="$(cat << EOF
  24. {
  25. "api_key": "mqkwGT0JNFqO-zX2t0mW6Tec9yooaVu7xCBlXtHnt5Y",
  26. "event": "${ACTION} ${ACTION_RESULT}",
  27. "properties": {
  28. "distinct_id": "${NETDATA_REGISTRY_UNIQUE_ID}",
  29. "\$current_url": "agent backend",
  30. "\$pathname": "netdata-backend",
  31. "\$host": "backend.netdata.io",
  32. "\$ip": "127.0.0.1",
  33. "event_source": "agent backend",
  34. "action": "${ACTION}",
  35. "action_result": "${ACTION_RESULT}",
  36. "action_data": "${ACTION_DATA}",
  37. "netdata_machine_guid": "${NETDATA_REGISTRY_UNIQUE_ID}",
  38. "netdata_version": "${NETDATA_VERSION}",
  39. "host_os_name": "${NETDATA_HOST_OS_NAME}",
  40. "host_os_id": "${NETDATA_HOST_OS_ID}",
  41. "host_os_id_like": "${NETDATA_HOST_OS_ID_LIKE}",
  42. "host_os_version": "${NETDATA_HOST_OS_VERSION}",
  43. "host_os_version_id": "${NETDATA_HOST_OS_VERSION_ID}",
  44. "host_os_detection": "${NETDATA_HOST_OS_DETECTION}",
  45. "host_is_k8s_node": "${NETDATA_HOST_IS_K8S_NODE}",
  46. "system_kernel_name": "${NETDATA_SYSTEM_KERNEL_NAME}",
  47. "system_kernel_version": "${NETDATA_SYSTEM_KERNEL_VERSION}",
  48. "system_architecture": "${NETDATA_SYSTEM_ARCHITECTURE}",
  49. "system_virtualization": "${NETDATA_SYSTEM_VIRTUALIZATION}",
  50. "system_virt_detection": "${NETDATA_SYSTEM_VIRT_DETECTION}",
  51. "system_container": "${NETDATA_SYSTEM_CONTAINER}",
  52. "system_container_detection": "${NETDATA_SYSTEM_CONTAINER_DETECTION}",
  53. "container_os_name": "${NETDATA_CONTAINER_OS_NAME}",
  54. "container_os_id": "${NETDATA_CONTAINER_OS_ID}",
  55. "container_os_id_like": "${NETDATA_CONTAINER_OS_ID_LIKE}",
  56. "container_os_version": "${NETDATA_CONTAINER_OS_VERSION}",
  57. "container_os_version_id": "${NETDATA_CONTAINER_OS_VERSION_ID}",
  58. "container_os_detection": "${NETDATA_CONTAINER_OS_DETECTION}",
  59. "system_cpu_detection": "${NETDATA_SYSTEM_CPU_DETECTION}",
  60. "system_cpu_freq": "${NETDATA_SYSTEM_CPU_FREQ}",
  61. "system_cpu_logical_cpu_count": "${NETDATA_SYSTEM_CPU_LOGICAL_CPU_COUNT}",
  62. "system_cpu_model": "${NETDATA_SYSTEM_CPU_MODEL}",
  63. "system_cpu_vendor": "${NETDATA_SYSTEM_CPU_VENDOR}",
  64. "system_disk_detection": "${NETDATA_SYSTEM_DISK_DETECTION}",
  65. "system_ram_detection": "${NETDATA_SYSTEM_RAM_DETECTION}",
  66. "system_total_disk_size": "${NETDATA_SYSTEM_TOTAL_DISK_SIZE}",
  67. "system_total_ram": "${NETDATA_SYSTEM_TOTAL_RAM}"
  68. }
  69. }
  70. EOF
  71. )"
  72. # send the anonymous statistics to the Netdata PostHog
  73. if [ -n "$(command -v curl 2> /dev/null)" ]; then
  74. curl -X POST --header "Content-Type: application/json" -d "${REQ_BODY}" https://posthog.netdata.cloud/capture/ > /dev/null 2>&1
  75. else
  76. wget -q -O - --no-check-certificate \
  77. --method POST \
  78. --timeout=1 \
  79. --header 'Content-Type: application/json' \
  80. --body-data "${REQ_BODY}" \
  81. 'https://posthog.netdata.cloud/capture/' > /dev/null 2>&1
  82. fi