def instance_hostname(self): # TODO 获取数据库实例的hostname if self.host in system_info.LOCALHOST_EQUIVALENTS: hostname = system_info.gethostname() else: hostname = self.host return hostname
def instance_hostname(self): if self.host in constants.LOCALHOST_EQUIVALENTS: hostname = system_info.gethostname() else: hostname = self.host return hostname
def instance_hostname(self): if self.host in system_info.LOCALHOST_EQUIVALENTS: hostname = system_info.gethostname() else: hostname = self.host return hostname
def _connect_payload(app_name, linked_applications, environment, settings): settings = global_settings_dump(settings) app_names = [app_name] + linked_applications hostname = system_info.gethostname( settings["heroku.use_dyno_names"], settings["heroku.dyno_name_prefixes_to_shorten"], ) ip_address = system_info.getips() connect_settings = {} connect_settings["browser_monitoring.loader"] = settings[ "browser_monitoring.loader" ] connect_settings["browser_monitoring.debug"] = settings[ "browser_monitoring.debug" ] security_settings = {} security_settings["capture_params"] = settings["capture_params"] security_settings["transaction_tracer"] = {} security_settings["transaction_tracer"]["record_sql"] = settings[ "transaction_tracer.record_sql" ] utilization_settings = {} # metadata_version corresponds to the utilization spec being used. utilization_settings["metadata_version"] = 5 utilization_settings[ "logical_processors" ] = system_info.logical_processor_count() utilization_settings["total_ram_mib"] = system_info.total_physical_memory() utilization_settings["hostname"] = hostname if ip_address: utilization_settings["ip_address"] = ip_address boot_id = system_info.BootIdUtilization.detect() if boot_id: utilization_settings["boot_id"] = boot_id utilization_conf = {} logical_processor_conf = settings["utilization.logical_processors"] total_ram_conf = settings["utilization.total_ram_mib"] hostname_conf = settings["utilization.billing_hostname"] if logical_processor_conf: utilization_conf["logical_processors"] = logical_processor_conf if total_ram_conf: utilization_conf["total_ram_mib"] = total_ram_conf if hostname_conf: utilization_conf["hostname"] = hostname_conf if utilization_conf: utilization_settings["config"] = utilization_conf vendors = [] if settings["utilization.detect_aws"]: vendors.append(AWSUtilization) if settings["utilization.detect_pcf"]: vendors.append(PCFUtilization) if settings["utilization.detect_gcp"]: vendors.append(GCPUtilization) if settings["utilization.detect_azure"]: vendors.append(AzureUtilization) utilization_vendor_settings = {} for vendor in vendors: metadata = vendor.detect() if metadata: utilization_vendor_settings[vendor.VENDOR_NAME] = metadata break if settings["utilization.detect_docker"]: docker = DockerUtilization.detect() if docker: utilization_vendor_settings["docker"] = docker if settings["utilization.detect_kubernetes"]: kubernetes = KubernetesUtilization.detect() if kubernetes: utilization_vendor_settings["kubernetes"] = kubernetes if utilization_vendor_settings: utilization_settings["vendors"] = utilization_vendor_settings display_host = settings["process_host.display_name"] if display_host is None: display_host = hostname metadata = {} for env_var in os.environ: if env_var.startswith("NEW_RELIC_METADATA_"): metadata[env_var] = os.environ[env_var] return ( { "host": hostname, "pid": os.getpid(), "language": "python", "app_name": app_names, "identifier": ",".join(app_names), "agent_version": version, "environment": environment, "metadata": metadata, "settings": connect_settings, "security_settings": security_settings, "utilization": utilization_settings, "high_security": settings["high_security"], "event_harvest_config": settings["event_harvest_config"], "labels": settings["labels"], "display_host": display_host, }, )
def _create_connect_payload(app_name, linked_applications, environment, settings): # Creates the payload to send on the initial connection to the # data collector. app_names = [app_name] + linked_applications hostname = system_info.gethostname() connect_settings = {} connect_settings['browser_monitoring.loader'] = ( settings['browser_monitoring.loader']) connect_settings['browser_monitoring.debug'] = ( settings['browser_monitoring.debug']) security_settings = {} security_settings['capture_params'] = settings['capture_params'] security_settings['transaction_tracer'] = {} security_settings['transaction_tracer']['record_sql'] = ( settings['transaction_tracer.record_sql']) utilization_settings = {} # metadata_version corresponds to the utilization spec being used. utilization_settings['metadata_version'] = 2 utilization_settings['logical_processors'] = logical_processor_count() utilization_settings['total_ram_mib'] = total_physical_memory() utilization_settings['hostname'] = hostname utilization_conf = {} logical_processor_conf = settings.get('utilization.logical_processors') total_ram_conf = settings.get('utilization.total_ram_mib') hostname_conf = settings.get('utilization.billing_hostname') if logical_processor_conf: utilization_conf['logical_processors'] = logical_processor_conf if total_ram_conf: utilization_conf['total_ram_mib'] = total_ram_conf if hostname_conf: utilization_conf['hostname'] = hostname_conf if utilization_conf: utilization_settings['config'] = utilization_conf utilization_vendor_settings = {} if settings['utilization.detect_aws']: aws = aws_data() if aws: utilization_vendor_settings['aws'] = aws if settings['utilization.detect_docker']: docker_id = docker_container_id() if docker_id: utilization_vendor_settings['docker'] = {'id': docker_id} if utilization_vendor_settings: utilization_settings['vendors'] = utilization_vendor_settings display_host = settings['process_host.display_name'] if display_host is None: display_host = hostname local_config = { 'host': hostname, 'pid': os.getpid(), 'language': 'python', 'app_name': app_names, 'identifier': ','.join(app_names), 'agent_version': version, 'environment': environment, 'settings': connect_settings, 'security_settings': security_settings, 'utilization': utilization_settings, 'high_security': settings['high_security'], 'labels': settings['labels'], 'display_host': display_host, } return (local_config,)