Standardize a utility method for getting local host names.
This commit is contained in:
		
							parent
							
								
									827a3af419
								
							
						
					
					
						commit
						c634185b6f
					
				| 
						 | 
				
			
			@ -193,6 +193,7 @@ import org.whispersystems.textsecuregcm.storage.UsernamesManager;
 | 
			
		|||
import org.whispersystems.textsecuregcm.util.AsnManager;
 | 
			
		||||
import org.whispersystems.textsecuregcm.util.Constants;
 | 
			
		||||
import org.whispersystems.textsecuregcm.util.DynamoDbFromConfig;
 | 
			
		||||
import org.whispersystems.textsecuregcm.util.HostnameUtil;
 | 
			
		||||
import org.whispersystems.textsecuregcm.util.TorExitNodeManager;
 | 
			
		||||
import org.whispersystems.textsecuregcm.websocket.AuthenticatedConnectListener;
 | 
			
		||||
import org.whispersystems.textsecuregcm.websocket.DeadLetterHandler;
 | 
			
		||||
| 
						 | 
				
			
			@ -280,21 +281,6 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
 | 
			
		|||
    });
 | 
			
		||||
 | 
			
		||||
    {
 | 
			
		||||
      final String hostname;
 | 
			
		||||
 | 
			
		||||
      {
 | 
			
		||||
        String localHostName = "unknown";
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
          localHostName = InetAddress.getLocalHost().getHostName().toLowerCase(Locale.US);
 | 
			
		||||
          log.info("Setting host tag to {}", localHostName);
 | 
			
		||||
        } catch (final UnknownHostException e) {
 | 
			
		||||
          log.warn("Failed to get hostname", e);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        hostname = localHostName;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      final DatadogMeterRegistry datadogMeterRegistry = new DatadogMeterRegistry(new DatadogConfig() {
 | 
			
		||||
        @Override
 | 
			
		||||
        public String get(final String key) {
 | 
			
		||||
| 
						 | 
				
			
			@ -320,7 +306,7 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
 | 
			
		|||
      datadogMeterRegistry.config().commonTags(
 | 
			
		||||
          Tags.of(
 | 
			
		||||
              "service", "chat",
 | 
			
		||||
              "host", hostname,
 | 
			
		||||
              "host", HostnameUtil.getLocalHostname(),
 | 
			
		||||
              "version", WhisperServerVersion.getServerVersion(),
 | 
			
		||||
              "env", config.getDatadogConfiguration().getEnvironment()))
 | 
			
		||||
          .meterFilter(MeterFilter.denyNameStartsWith(MetricsRequestEventListener.REQUEST_COUNTER_NAME))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,6 +21,7 @@ import com.fasterxml.jackson.core.JsonFactory;
 | 
			
		|||
import com.fasterxml.jackson.core.JsonGenerator;
 | 
			
		||||
import org.slf4j.Logger;
 | 
			
		||||
import org.slf4j.LoggerFactory;
 | 
			
		||||
import org.whispersystems.textsecuregcm.util.HostnameUtil;
 | 
			
		||||
 | 
			
		||||
import javax.ws.rs.core.UriBuilder;
 | 
			
		||||
import java.io.ByteArrayOutputStream;
 | 
			
		||||
| 
						 | 
				
			
			@ -83,7 +84,7 @@ public class JsonMetricsReporter extends ScheduledReporter {
 | 
			
		|||
  {
 | 
			
		||||
    super(registry, "json-reporter", filter, rateUnit, durationUnit, Executors.newSingleThreadScheduledExecutor(new NamedThreadFactory("json-reporter")), true, disabledMetricAttributes);
 | 
			
		||||
    this.httpClient = HttpClient.newBuilder().version(HttpClient.Version.HTTP_2).build();
 | 
			
		||||
    this.uri        = UriBuilder.fromUri(uri).queryParam("h", InetAddress.getLocalHost().getHostName()).build();
 | 
			
		||||
    this.uri        = UriBuilder.fromUri(uri).queryParam("h", HostnameUtil.getLocalHostname()).build();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Override
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,6 +27,7 @@ import javax.validation.constraints.NotEmpty;
 | 
			
		|||
import net.logstash.logback.appender.LogstashTcpSocketAppender;
 | 
			
		||||
import net.logstash.logback.encoder.LogstashEncoder;
 | 
			
		||||
import org.whispersystems.textsecuregcm.WhisperServerVersion;
 | 
			
		||||
import org.whispersystems.textsecuregcm.util.HostnameUtil;
 | 
			
		||||
 | 
			
		||||
@JsonTypeName("logstashtcpsocket")
 | 
			
		||||
public class LogstashTcpSocketAppenderFactory extends AbstractAppenderFactory<ILoggingEvent> {
 | 
			
		||||
| 
						 | 
				
			
			@ -77,11 +78,7 @@ public class LogstashTcpSocketAppenderFactory extends AbstractAppenderFactory<IL
 | 
			
		|||
 | 
			
		||||
    final LogstashEncoder encoder = new LogstashEncoder();
 | 
			
		||||
    final ObjectNode customFieldsNode = new ObjectNode(JsonNodeFactory.instance);
 | 
			
		||||
    try {
 | 
			
		||||
      customFieldsNode.set("host", TextNode.valueOf(InetAddress.getLocalHost().getHostName()));
 | 
			
		||||
    } catch (UnknownHostException e) {
 | 
			
		||||
      customFieldsNode.set("host", TextNode.valueOf("unknown"));
 | 
			
		||||
    }
 | 
			
		||||
    customFieldsNode.set("host", TextNode.valueOf(HostnameUtil.getLocalHostname()));
 | 
			
		||||
    customFieldsNode.set("service", TextNode.valueOf("chat"));
 | 
			
		||||
    customFieldsNode.set("ddsource", TextNode.valueOf("logstash"));
 | 
			
		||||
    customFieldsNode.set("ddtags", TextNode.valueOf("env:" + environment + ",version:" + WhisperServerVersion.getServerVersion()));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,26 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright 2013-2021 Signal Messenger, LLC
 | 
			
		||||
 * SPDX-License-Identifier: AGPL-3.0-only
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
package org.whispersystems.textsecuregcm.util;
 | 
			
		||||
 | 
			
		||||
import org.slf4j.Logger;
 | 
			
		||||
import org.slf4j.LoggerFactory;
 | 
			
		||||
import java.net.InetAddress;
 | 
			
		||||
import java.net.UnknownHostException;
 | 
			
		||||
import java.util.Locale;
 | 
			
		||||
 | 
			
		||||
public class HostnameUtil {
 | 
			
		||||
 | 
			
		||||
  private static final Logger log = LoggerFactory.getLogger(HostnameUtil.class);
 | 
			
		||||
 | 
			
		||||
  public static String getLocalHostname() {
 | 
			
		||||
    try {
 | 
			
		||||
      return InetAddress.getLocalHost().getHostName().toLowerCase(Locale.US);
 | 
			
		||||
    } catch (final UnknownHostException e) {
 | 
			
		||||
      log.warn("Failed to get hostname", e);
 | 
			
		||||
      return "unknown";
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue