aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorMorten Tokle <mortent@yahooinc.com>2023-10-20 09:49:01 +0200
committerMorten Tokle <mortent@yahooinc.com>2023-10-20 09:49:01 +0200
commite57d47797e6bcb79d5b0ac627aeb6df13d5f008f (patch)
treedfbe9859abfdc919347092eb5e72511775a9b677 /node-admin
parent66ecedcf0f0a8b6652aa49ce902411555e339da8 (diff)
Write proxy error logs to archive
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfo.java3
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfoTest.java14
2 files changed, 17 insertions, 0 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfo.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfo.java
index c722779c3c6..6066c0b41ac 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfo.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfo.java
@@ -84,6 +84,9 @@ public class SyncFileInfo {
} else if (filename.startsWith("start-services.out-")) {
compression = Compression.ZSTD;
dir = "logs/start-services/";
+ } else if (filename.startsWith("nginx-error")) {
+ compression = Compression.ZSTD;
+ dir = "logs/nginx/";
} else {
compression = filename.endsWith(".zst") ? Compression.NONE : Compression.ZSTD;
if (rotatedOnly && compression != Compression.NONE)
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfoTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfoTest.java
index f3a25778459..c8e71446cc9 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfoTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/maintenance/sync/SyncFileInfoTest.java
@@ -40,6 +40,8 @@ public class SyncFileInfoTest {
private static final Path zkLogPath1 = fileSystem.getPath("/opt/vespa/logs/zookeeper.configserver.1.log");
private static final Path startServicesPath1 = fileSystem.getPath("/opt/vespa/logs/start-services.out");
private static final Path startServicesPath2 = fileSystem.getPath("/opt/vespa/logs/start-services.out-20230808100143");
+ private static final Path nginxErrorLog = fileSystem.getPath("/opt/vespa/logs/nginx/nginx-error.log.20231019");
+ private static final Path nginxAccessLog = fileSystem.getPath("/opt/vespa/logs/nginx/nginx-access.log.20231019");
@Test
void access_logs() {
@@ -96,6 +98,18 @@ public class SyncFileInfoTest {
}
@Test
+ void nginx_error_logs() {
+ new UnixPath(nginxErrorLog).createParents().createNewFile().setLastModifiedTime(Instant.parse("2022-05-09T14:22:11Z"));
+ assertForLogFile(nginxErrorLog, "s3://vespa-data-bucket/vespa/music/main/h432a/logs/nginx/nginx-error.log.20231019.zst", ZSTD, true);
+ assertForLogFile(nginxErrorLog, "s3://vespa-data-bucket/vespa/music/main/h432a/logs/nginx/nginx-error.log.20231019.zst", ZSTD, false);
+
+ // Does not sync access logs
+ new UnixPath(nginxAccessLog).createParents().createNewFile().setLastModifiedTime(Instant.parse("2022-05-09T14:22:11Z"));
+ Optional<SyncFileInfo> sfi = SyncFileInfo.forLogFile(nodeArchiveUri, nginxAccessLog, false, ApplicationId.defaultId());
+ assertEquals(Optional.empty(), sfi);
+ }
+
+ @Test
void start_services() {
assertForLogFile(startServicesPath1, null, null, true);
assertForLogFile(startServicesPath2, "s3://vespa-data-bucket/vespa/music/main/h432a/logs/start-services/start-services.out-20230808100143.zst", ZSTD, true);