mirror of
https://github.com/netdata/netdata.git
synced 2025-04-17 11:12:42 +00:00
Send the cloud protocol used to posthog (#11842)
* send analytics for cloud protocol used * add aclk-available-protocol to api/v1/info * fix build with --disable-cloud * remove aclk_legacy and aclk_ng define checks
This commit is contained in:
parent
4f309da9d5
commit
d229783de4
4 changed files with 51 additions and 31 deletions
|
@ -6,7 +6,7 @@ struct analytics_data analytics_data;
|
|||
extern void analytics_exporting_connectors (BUFFER *b);
|
||||
extern void analytics_exporting_connectors_ssl (BUFFER *b);
|
||||
extern void analytics_build_info (BUFFER *b);
|
||||
extern int aclk_connected;
|
||||
extern int aclk_connected, aclk_use_new_cloud_arch;
|
||||
|
||||
struct collector {
|
||||
char *plugin;
|
||||
|
@ -52,6 +52,7 @@ void analytics_log_data(void)
|
|||
debug(D_ANALYTICS, "NETDATA_CONFIG_HOSTS_AVAILABLE : [%s]", analytics_data.netdata_config_hosts_available);
|
||||
debug(D_ANALYTICS, "NETDATA_HOST_CLOUD_AVAILABLE : [%s]", analytics_data.netdata_host_cloud_available);
|
||||
debug(D_ANALYTICS, "NETDATA_HOST_ACLK_AVAILABLE : [%s]", analytics_data.netdata_host_aclk_available);
|
||||
debug(D_ANALYTICS, "NETDATA_HOST_ACLK_PROTOCOL : [%s]", analytics_data.netdata_host_aclk_protocol);
|
||||
debug(D_ANALYTICS, "NETDATA_HOST_ACLK_IMPLEMENTATION : [%s]", analytics_data.netdata_host_aclk_implementation);
|
||||
debug(D_ANALYTICS, "NETDATA_HOST_AGENT_CLAIMED : [%s]", analytics_data.netdata_host_agent_claimed);
|
||||
debug(D_ANALYTICS, "NETDATA_HOST_CLOUD_ENABLED : [%s]", analytics_data.netdata_host_cloud_enabled);
|
||||
|
@ -97,6 +98,7 @@ void analytics_free_data(void)
|
|||
freez(analytics_data.netdata_config_hosts_available);
|
||||
freez(analytics_data.netdata_host_cloud_available);
|
||||
freez(analytics_data.netdata_host_aclk_available);
|
||||
freez(analytics_data.netdata_host_aclk_protocol);
|
||||
freez(analytics_data.netdata_host_aclk_implementation);
|
||||
freez(analytics_data.netdata_host_agent_claimed);
|
||||
freez(analytics_data.netdata_host_cloud_enabled);
|
||||
|
@ -488,7 +490,7 @@ void analytics_alarms(void)
|
|||
}
|
||||
|
||||
/*
|
||||
* Misc attributes to get (run from meta)
|
||||
* Misc attributes to get (run from start)
|
||||
*/
|
||||
void analytics_misc(void)
|
||||
{
|
||||
|
@ -500,13 +502,6 @@ void analytics_misc(void)
|
|||
analytics_set_data_str(&analytics_data.netdata_host_aclk_implementation, "");
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_ACLK
|
||||
if (aclk_connected)
|
||||
analytics_set_data(&analytics_data.netdata_host_aclk_available, "true");
|
||||
else
|
||||
#endif
|
||||
analytics_set_data(&analytics_data.netdata_host_aclk_available, "false");
|
||||
|
||||
analytics_set_data(&analytics_data.netdata_config_exporting_enabled, appconfig_get_boolean(&exporting_config, CONFIG_SECTION_EXPORTING, "enabled", CONFIG_BOOLEAN_NO) ? "true" : "false");
|
||||
|
||||
analytics_set_data(&analytics_data.netdata_config_is_private_registry, "false");
|
||||
|
@ -523,6 +518,23 @@ void analytics_misc(void)
|
|||
analytics_set_data(&analytics_data.netdata_config_is_private_registry, "true");
|
||||
}
|
||||
|
||||
void analytics_aclk(void)
|
||||
{
|
||||
#ifdef ENABLE_ACLK
|
||||
if (aclk_connected) {
|
||||
analytics_set_data(&analytics_data.netdata_host_aclk_available, "true");
|
||||
#ifdef ENABLE_NEW_CLOUD_PROTOCOL
|
||||
if (aclk_use_new_cloud_arch)
|
||||
analytics_set_data_str(&analytics_data.netdata_host_aclk_protocol, "New");
|
||||
else
|
||||
#endif
|
||||
analytics_set_data_str(&analytics_data.netdata_host_aclk_protocol, "Legacy");
|
||||
}
|
||||
else
|
||||
#endif
|
||||
analytics_set_data(&analytics_data.netdata_host_aclk_available, "false");
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the meta data, called from the thread once after the original delay
|
||||
* These are values that won't change during agent runtime, and therefore
|
||||
|
@ -548,6 +560,7 @@ void analytics_gather_mutable_meta_data(void)
|
|||
analytics_alarms();
|
||||
analytics_charts();
|
||||
analytics_metrics();
|
||||
analytics_aclk();
|
||||
|
||||
rrdhost_unlock(localhost);
|
||||
|
||||
|
@ -889,6 +902,7 @@ void set_global_environment()
|
|||
analytics_set_data(&analytics_data.netdata_host_cloud_available, "null");
|
||||
analytics_set_data(&analytics_data.netdata_host_aclk_implementation, "null");
|
||||
analytics_set_data(&analytics_data.netdata_host_aclk_available, "null");
|
||||
analytics_set_data(&analytics_data.netdata_host_aclk_protocol, "null");
|
||||
analytics_set_data(&analytics_data.netdata_host_agent_claimed, "null");
|
||||
analytics_set_data(&analytics_data.netdata_host_cloud_enabled, "null");
|
||||
analytics_set_data(&analytics_data.netdata_config_https_available, "null");
|
||||
|
@ -976,7 +990,7 @@ void send_statistics(const char *action, const char *action_result, const char *
|
|||
|
||||
sprintf(
|
||||
command_to_run,
|
||||
"%s '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' ",
|
||||
"%s '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' '%s' ",
|
||||
as_script,
|
||||
action,
|
||||
action_result,
|
||||
|
@ -1010,6 +1024,7 @@ void send_statistics(const char *action, const char *action_result, const char *
|
|||
analytics_data.netdata_config_hosts_available,
|
||||
analytics_data.netdata_host_cloud_available,
|
||||
analytics_data.netdata_host_aclk_available,
|
||||
analytics_data.netdata_host_aclk_protocol,
|
||||
analytics_data.netdata_host_aclk_implementation,
|
||||
analytics_data.netdata_host_agent_claimed,
|
||||
analytics_data.netdata_host_cloud_enabled,
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
},
|
||||
|
||||
/* Needed to calculate the space needed for parameters */
|
||||
#define ANALYTICS_NO_OF_ITEMS 38
|
||||
#define ANALYTICS_NO_OF_ITEMS 39
|
||||
|
||||
struct analytics_data {
|
||||
char *netdata_config_stream_enabled;
|
||||
|
@ -61,6 +61,7 @@ struct analytics_data {
|
|||
char *netdata_config_hosts_available;
|
||||
char *netdata_host_cloud_available;
|
||||
char *netdata_host_aclk_available;
|
||||
char *netdata_host_aclk_protocol;
|
||||
char *netdata_host_aclk_implementation;
|
||||
char *netdata_host_agent_claimed;
|
||||
char *netdata_host_cloud_enabled;
|
||||
|
|
|
@ -54,15 +54,16 @@ NETDATA_CONFIG_IS_PARENT="${29}"
|
|||
NETDATA_CONFIG_HOSTS_AVAILABLE="${30}"
|
||||
NETDATA_HOST_CLOUD_AVAILABLE="${31}"
|
||||
NETDATA_HOST_ACLK_AVAILABLE="${32}"
|
||||
NETDATA_HOST_ACLK_IMPLEMENTATION="${33}"
|
||||
NETDATA_HOST_AGENT_CLAIMED="${34}"
|
||||
NETDATA_HOST_CLOUD_ENABLED="${35}"
|
||||
NETDATA_CONFIG_HTTPS_AVAILABLE="${36}"
|
||||
NETDATA_INSTALL_TYPE="${37}"
|
||||
NETDATA_IS_PRIVATE_REGISTRY="${38}"
|
||||
NETDATA_USE_PRIVATE_REGISTRY="${39}"
|
||||
NETDATA_CONFIG_OOM_SCORE="${40}"
|
||||
NETDATA_PREBUILT_DISTRO="${41}"
|
||||
NETDATA_HOST_ACLK_PROTOCOL="${33}"
|
||||
NETDATA_HOST_ACLK_IMPLEMENTATION="${34}"
|
||||
NETDATA_HOST_AGENT_CLAIMED="${35}"
|
||||
NETDATA_HOST_CLOUD_ENABLED="${36}"
|
||||
NETDATA_CONFIG_HTTPS_AVAILABLE="${37}"
|
||||
NETDATA_INSTALL_TYPE="${38}"
|
||||
NETDATA_IS_PRIVATE_REGISTRY="${39}"
|
||||
NETDATA_USE_PRIVATE_REGISTRY="${40}"
|
||||
NETDATA_CONFIG_OOM_SCORE="${41}"
|
||||
NETDATA_PREBUILT_DISTRO="${42}"
|
||||
|
||||
|
||||
# define body of request to be sent
|
||||
|
@ -147,6 +148,7 @@ REQ_BODY="$(cat << EOF
|
|||
"host_cloud_enabled": ${NETDATA_HOST_CLOUD_ENABLED},
|
||||
"host_agent_claimed": ${NETDATA_HOST_AGENT_CLAIMED},
|
||||
"host_aclk_available": ${NETDATA_HOST_ACLK_AVAILABLE},
|
||||
"host_aclk_protocol": ${NETDATA_HOST_ACLK_PROTOCOL},
|
||||
"host_aclk_implementation": ${NETDATA_HOST_ACLK_IMPLEMENTATION},
|
||||
"mirrored_host_count": ${NETDATA_MIRRORED_HOST_COUNT},
|
||||
"mirrored_hosts_reachable": ${NETDATA_MIRRORED_HOSTS_REACHABLE},
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "web_api_v1.h"
|
||||
|
||||
char *api_secret;
|
||||
extern int aclk_use_new_cloud_arch;
|
||||
|
||||
static struct {
|
||||
const char *name;
|
||||
|
@ -984,24 +985,18 @@ inline int web_client_api_request_v1_info_fill_buffer(RRDHOST *host, BUFFER *wb)
|
|||
|
||||
#ifdef ENABLE_ACLK
|
||||
buffer_strcat(wb, "\t\"cloud-available\": true,\n");
|
||||
#ifdef ACLK_NG
|
||||
buffer_strcat(wb, "\t\"aclk-ng-available\": true,\n");
|
||||
#else
|
||||
buffer_strcat(wb, "\t\"aclk-ng-available\": false,\n");
|
||||
#endif
|
||||
#if defined(ACLK_NG) && defined(ENABLE_NEW_CLOUD_PROTOCOL)
|
||||
#ifdef ENABLE_NEW_CLOUD_PROTOCOL
|
||||
buffer_strcat(wb, "\t\"aclk-ng-new-cloud-protocol\": true,\n");
|
||||
#else
|
||||
buffer_strcat(wb, "\t\"aclk-ng-new-cloud-protocol\": false,\n");
|
||||
#endif
|
||||
#ifdef ACLK_LEGACY
|
||||
buffer_strcat(wb, "\t\"aclk-legacy-available\": true,\n");
|
||||
#else
|
||||
buffer_strcat(wb, "\t\"aclk-legacy-available\": false,\n");
|
||||
#endif
|
||||
buffer_strcat(wb, "\t\"aclk-implementation\": \"Next Generation\",\n");
|
||||
#else
|
||||
buffer_strcat(wb, "\t\"cloud-available\": false,\n");
|
||||
buffer_strcat(wb, "\t\"aclk-ng-available\": false,\n");
|
||||
buffer_strcat(wb, "\t\"aclk-legacy-available\": false,\n");
|
||||
#endif
|
||||
char *agent_id = is_agent_claimed();
|
||||
if (agent_id == NULL)
|
||||
|
@ -1011,11 +1006,18 @@ inline int web_client_api_request_v1_info_fill_buffer(RRDHOST *host, BUFFER *wb)
|
|||
freez(agent_id);
|
||||
}
|
||||
#ifdef ENABLE_ACLK
|
||||
if (aclk_connected)
|
||||
if (aclk_connected) {
|
||||
buffer_strcat(wb, "\t\"aclk-available\": true,\n");
|
||||
#ifdef ENABLE_NEW_CLOUD_PROTOCOL
|
||||
if (aclk_use_new_cloud_arch)
|
||||
buffer_strcat(wb, "\t\"aclk-available-protocol\": \"New\",\n");
|
||||
else
|
||||
#endif
|
||||
buffer_strcat(wb, "\t\"aclk-available-protocol\": \"Legacy\",\n");
|
||||
}
|
||||
else
|
||||
#endif
|
||||
buffer_strcat(wb, "\t\"aclk-available\": false,\n"); // Intentionally valid with/without #ifdef above
|
||||
buffer_strcat(wb, "\t\"aclk-available\": false,\n\t\"aclk-available-protocol\": null,\n"); // Intentionally valid with/without #ifdef above
|
||||
|
||||
buffer_strcat(wb, "\t\"memory-mode\": ");
|
||||
analytics_get_data(analytics_data.netdata_config_memory_mode, wb);
|
||||
|
|
Loading…
Add table
Reference in a new issue