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.AsnManager;
|
||||||
import org.whispersystems.textsecuregcm.util.Constants;
|
import org.whispersystems.textsecuregcm.util.Constants;
|
||||||
import org.whispersystems.textsecuregcm.util.DynamoDbFromConfig;
|
import org.whispersystems.textsecuregcm.util.DynamoDbFromConfig;
|
||||||
|
import org.whispersystems.textsecuregcm.util.HostnameUtil;
|
||||||
import org.whispersystems.textsecuregcm.util.TorExitNodeManager;
|
import org.whispersystems.textsecuregcm.util.TorExitNodeManager;
|
||||||
import org.whispersystems.textsecuregcm.websocket.AuthenticatedConnectListener;
|
import org.whispersystems.textsecuregcm.websocket.AuthenticatedConnectListener;
|
||||||
import org.whispersystems.textsecuregcm.websocket.DeadLetterHandler;
|
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() {
|
final DatadogMeterRegistry datadogMeterRegistry = new DatadogMeterRegistry(new DatadogConfig() {
|
||||||
@Override
|
@Override
|
||||||
public String get(final String key) {
|
public String get(final String key) {
|
||||||
|
@ -320,7 +306,7 @@ public class WhisperServerService extends Application<WhisperServerConfiguration
|
||||||
datadogMeterRegistry.config().commonTags(
|
datadogMeterRegistry.config().commonTags(
|
||||||
Tags.of(
|
Tags.of(
|
||||||
"service", "chat",
|
"service", "chat",
|
||||||
"host", hostname,
|
"host", HostnameUtil.getLocalHostname(),
|
||||||
"version", WhisperServerVersion.getServerVersion(),
|
"version", WhisperServerVersion.getServerVersion(),
|
||||||
"env", config.getDatadogConfiguration().getEnvironment()))
|
"env", config.getDatadogConfiguration().getEnvironment()))
|
||||||
.meterFilter(MeterFilter.denyNameStartsWith(MetricsRequestEventListener.REQUEST_COUNTER_NAME))
|
.meterFilter(MeterFilter.denyNameStartsWith(MetricsRequestEventListener.REQUEST_COUNTER_NAME))
|
||||||
|
|
|
@ -21,6 +21,7 @@ import com.fasterxml.jackson.core.JsonFactory;
|
||||||
import com.fasterxml.jackson.core.JsonGenerator;
|
import com.fasterxml.jackson.core.JsonGenerator;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.whispersystems.textsecuregcm.util.HostnameUtil;
|
||||||
|
|
||||||
import javax.ws.rs.core.UriBuilder;
|
import javax.ws.rs.core.UriBuilder;
|
||||||
import java.io.ByteArrayOutputStream;
|
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);
|
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.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
|
@Override
|
||||||
|
|
|
@ -27,6 +27,7 @@ import javax.validation.constraints.NotEmpty;
|
||||||
import net.logstash.logback.appender.LogstashTcpSocketAppender;
|
import net.logstash.logback.appender.LogstashTcpSocketAppender;
|
||||||
import net.logstash.logback.encoder.LogstashEncoder;
|
import net.logstash.logback.encoder.LogstashEncoder;
|
||||||
import org.whispersystems.textsecuregcm.WhisperServerVersion;
|
import org.whispersystems.textsecuregcm.WhisperServerVersion;
|
||||||
|
import org.whispersystems.textsecuregcm.util.HostnameUtil;
|
||||||
|
|
||||||
@JsonTypeName("logstashtcpsocket")
|
@JsonTypeName("logstashtcpsocket")
|
||||||
public class LogstashTcpSocketAppenderFactory extends AbstractAppenderFactory<ILoggingEvent> {
|
public class LogstashTcpSocketAppenderFactory extends AbstractAppenderFactory<ILoggingEvent> {
|
||||||
|
@ -77,11 +78,7 @@ public class LogstashTcpSocketAppenderFactory extends AbstractAppenderFactory<IL
|
||||||
|
|
||||||
final LogstashEncoder encoder = new LogstashEncoder();
|
final LogstashEncoder encoder = new LogstashEncoder();
|
||||||
final ObjectNode customFieldsNode = new ObjectNode(JsonNodeFactory.instance);
|
final ObjectNode customFieldsNode = new ObjectNode(JsonNodeFactory.instance);
|
||||||
try {
|
customFieldsNode.set("host", TextNode.valueOf(HostnameUtil.getLocalHostname()));
|
||||||
customFieldsNode.set("host", TextNode.valueOf(InetAddress.getLocalHost().getHostName()));
|
|
||||||
} catch (UnknownHostException e) {
|
|
||||||
customFieldsNode.set("host", TextNode.valueOf("unknown"));
|
|
||||||
}
|
|
||||||
customFieldsNode.set("service", TextNode.valueOf("chat"));
|
customFieldsNode.set("service", TextNode.valueOf("chat"));
|
||||||
customFieldsNode.set("ddsource", TextNode.valueOf("logstash"));
|
customFieldsNode.set("ddsource", TextNode.valueOf("logstash"));
|
||||||
customFieldsNode.set("ddtags", TextNode.valueOf("env:" + environment + ",version:" + WhisperServerVersion.getServerVersion()));
|
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