anonymous-statistics.sh.in 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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. # send the anonymous statistics to GA
  23. # https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters
  24. # The maximum index for a cd parameter is 20 so we have effectively run out.
  25. if [ -n "$(command -v curl 2> /dev/null)" ]; then
  26. curl -X POST -Ss --max-time 2 \
  27. --data "v=1" \
  28. --data "tid=UA-64295674-3" \
  29. --data "aip=1" \
  30. --data "ds=shell" \
  31. --data-urlencode "cid=${NETDATA_REGISTRY_UNIQUE_ID}" \
  32. --data-urlencode "cs=${NETDATA_REGISTRY_UNIQUE_ID}" \
  33. --data "t=event" \
  34. --data "ni=1" \
  35. --data "an=anonymous-statistics" \
  36. --data-urlencode "av=${NETDATA_VERSION}" \
  37. --data-urlencode "ec=${ACTION}" \
  38. --data-urlencode "ea=${ACTION_RESULT}" \
  39. --data-urlencode "el=${ACTION_DATA}" \
  40. --data-urlencode "cd1=${NETDATA_HOST_OS_NAME}" \
  41. --data-urlencode "cd2=${NETDATA_HOST_OS_ID}" \
  42. --data-urlencode "cd3=${NETDATA_HOST_OS_ID_LIKE}" \
  43. --data-urlencode "cd4=${NETDATA_HOST_OS_VERSION}" \
  44. --data-urlencode "cd5=${NETDATA_HOST_OS_VERSION_ID}" \
  45. --data-urlencode "cd6=${NETDATA_HOST_OS_DETECTION}" \
  46. --data-urlencode "cd7=${NETDATA_SYSTEM_KERNEL_NAME}" \
  47. --data-urlencode "cd8=${NETDATA_SYSTEM_KERNEL_VERSION}" \
  48. --data-urlencode "cd9=${NETDATA_SYSTEM_ARCHITECTURE}" \
  49. --data-urlencode "cd10=${NETDATA_SYSTEM_VIRTUALIZATION}" \
  50. --data-urlencode "cd11=${NETDATA_SYSTEM_VIRT_DETECTION}" \
  51. --data-urlencode "cd12=${NETDATA_SYSTEM_CONTAINER}" \
  52. --data-urlencode "cd13=${NETDATA_SYSTEM_CONTAINER_DETECTION}" \
  53. --data-urlencode "cd14=${NETDATA_CONTAINER_OS_NAME}" \
  54. --data-urlencode "cd15=${NETDATA_CONTAINER_OS_ID}" \
  55. --data-urlencode "cd16=${NETDATA_CONTAINER_OS_ID_LIKE}" \
  56. --data-urlencode "cd17=${NETDATA_CONTAINER_OS_VERSION}" \
  57. --data-urlencode "cd18=${NETDATA_CONTAINER_OS_VERSION_ID}" \
  58. --data-urlencode "cd19=${NETDATA_CONTAINER_OS_DETECTION}" \
  59. "https://www.google-analytics.com/collect" > /dev/null 2>&1
  60. else
  61. wget -q -O - --timeout=1 "https://www.google-analytics.com/collect?\
  62. &v=1\
  63. &tid=UA-64295674-3\
  64. &aip=1\
  65. &ds=shell\
  66. &cid=${NETDATA_REGISTRY_UNIQUE_ID}\
  67. &cs=${NETDATA_REGISTRY_UNIQUE_ID}\
  68. &t=event\
  69. &ni=1\
  70. &an=anonymous-statistics\
  71. &av=${NETDATA_VERSION}\
  72. &ec=${ACTION}\
  73. &ea=${ACTION_RESULT}\
  74. &el=${ACTION_DATA}\
  75. &cd1=${NETDATA_HOST_OS_NAME}\
  76. &cd2=${NETDATA_HOST_OS_ID}\
  77. &cd3=${NETDATA_HOST_OS_ID_LIKE}\
  78. &cd4=${NETDATA_HOST_OS_VERSION}\
  79. &cd5=${NETDATA_HOST_OS_VERSION_ID}\
  80. &cd6=${NETDATA_HOST_OS_DETECTION}\
  81. &cd7=${NETDATA_SYSTEM_KERNEL_NAME}\
  82. &cd8=${NETDATA_SYSTEM_KERNEL_VERSION}\
  83. &cd9=${NETDATA_SYSTEM_ARCHITECTURE}\
  84. &cd10=${NETDATA_SYSTEM_VIRTUALIZATION}\
  85. &cd11=${NETDATA_SYSTEM_VIRT_DETECTION}\
  86. &cd12=${NETDATA_SYSTEM_CONTAINER}\
  87. &cd13=${NETDATA_SYSTEM_CONTAINER_DETECTION}\
  88. &cd14=${NETDATA_CONTAINER_OS_NAME} \
  89. &cd15=${NETDATA_CONTAINER_OS_ID} \
  90. &cd16=${NETDATA_CONTAINER_OS_ID_LIKE} \
  91. &cd17=${NETDATA_CONTAINER_OS_VERSION} \
  92. &cd18=${NETDATA_CONTAINER_OS_VERSION_ID} \
  93. &cd19=${NETDATA_CONTAINER_OS_DETECTION} \
  94. " > /dev/null 2>&1
  95. fi