Losing recent data when restarting Prometheus service

Please help me determine the cause of data loss when restarting the service.

OS Ubuntu 24.04.4 LTS, Prometheus 3.10.0. Data collection is carried out locally (from the OS and Home Assistant), without using external sources.

The last data is lost within --storage.tsdb.min-block-duration=30m ± several minutes.

Before and after $ sudo systemctl restart prometheus:

The service restarted at 18:18:02 local time.
$ sudo journalctl --since "2026-03-01 18:00:00" -u prometheus :

мар 01 18:15:05 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:15:05.167+03:00 level=INFO source=compact.go:590 msg="write block started" component=tsdb mint=1772375400146 maxt=1772377200000 ulid=01KJMZF9AF1N3DCZ833WMM0YGZ мар 01 18:15:05 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:15:05.290+03:00 level=INFO source=compact.go:627 msg="write block completed" component=tsdb mint=1772375400146 maxt=1772377200000 ulid=01KJMZF9AF1N3DCZ833WMM0YGZ duration=123.523933ms ooo=false мар 01 18:15:05 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:15:05.305+03:00 level=INFO source=head.go:1453 msg="Head GC started" component=tsdb caller=truncateMemory мар 01 18:15:05 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:15:05.309+03:00 level=INFO source=head.go:1457 msg="Head GC completed" component=tsdb caller=truncateMemory duration=3.372787ms мар 01 18:18:02 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:18:02.717+03:00 level=WARN source=main.go:1137 msg="Received an OS signal, exiting gracefully..." signal=terminated мар 01 18:18:02 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:18:02.717+03:00 level=INFO source=main.go:1162 msg="Stopping scrape discovery manager..." мар 01 18:18:02 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:18:02.717+03:00 level=INFO source=main.go:1176 msg="Stopping notify discovery manager..." мар 01 18:18:02 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:18:02.717+03:00 level=INFO source=manager.go:216 msg="Stopping rule manager..." component="rule manager" мар 01 18:18:02 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:18:02.717+03:00 level=INFO source=manager.go:232 msg="Rule manager stopped" component="rule manager" мар 01 18:18:02 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:18:02.717+03:00 level=INFO source=main.go:1213 msg="Stopping scrape manager..." мар 01 18:18:02 MyHomeAssistant systemd[1]: Stopping prometheus.service - Monitoring system and time series database... мар 01 18:18:02 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:18:02.718+03:00 level=INFO source=main.go:1172 msg="Notify discovery manager stopped" мар 01 18:18:02 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:18:02.718+03:00 level=INFO source=main.go:1158 msg="Scrape discovery manager stopped" мар 01 18:18:02 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:18:02.719+03:00 level=INFO source=main.go:1205 msg="Scrape manager stopped" мар 01 18:18:02 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:18:02.742+03:00 level=INFO source=manager.go:321 msg="Stopping notification manager..." component=notifier мар 01 18:18:02 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:18:02.742+03:00 level=INFO source=main.go:1488 msg="Notifier manager stopped" мар 01 18:18:02 MyHomeAssistant prometheus[3963645]: time=2026-03-01T18:18:02.742+03:00 level=INFO source=main.go:1502 msg="See you next time!" мар 01 18:18:02 MyHomeAssistant systemd[1]: prometheus.service: Deactivated successfully. мар 01 18:18:02 MyHomeAssistant systemd[1]: Stopped prometheus.service - Monitoring system and time series database. мар 01 18:18:02 MyHomeAssistant systemd[1]: prometheus.service: Consumed 2min 36.061s CPU time, 37.3M memory peak, 0B memory swap peak. мар 01 18:18:02 MyHomeAssistant systemd[1]: Started prometheus.service - Monitoring system and time series database. мар 01 18:18:02 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:02.844+03:00 level=INFO source=main.go:1611 msg="updated GOGC" old=100 new=75 мар 01 18:18:02 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:02.845+03:00 level=INFO source=main.go:723 msg="Leaving GOMAXPROCS=4: CPU quota undefined" component=automaxprocs мар 01 18:18:02 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:02.845+03:00 level=INFO source=memlimit.go:198 msg="GOMEMLIMIT is updated" component=automemlimit package=github.com/KimMachineGun/automemlimit/memlimit GOMEMLIMIT=14882793062 previous=9223372036854775807 мар 01 18:18:02 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:02.845+03:00 level=INFO source=main.go:822 msg="Starting Prometheus Server" mode=server version="(version=3.10.0, branch=HEAD, revision=54e010926b0a270cadb22be1113ad45fe9bcb90a)" мар 01 18:18:02 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:02.845+03:00 level=INFO source=main.go:827 msg="operational information" build_context="(go=go1.26.0, platform=linux/amd64, user=root@2ee2be8e6652, date=20260225-21:12:02, tags=netgo,builtinassets)" host_details="(Linux 6.17.0-14-generic #14~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Jan 15 15:52:10 UTC 2 x86_64 MyHomeAssistant (none))" fd_limits="(soft=8192, hard=8192)" vm_limits="(soft=unlimited, hard=unlimited)" мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.011+03:00 level=INFO source=web.go:696 msg="Start listening for connections" component=web address=0.0.0.0:9090 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.011+03:00 level=INFO source=main.go:1350 msg="Starting TSDB ..." мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.012+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1705860000437 maxt=1707609600000 ulid=01HPB8JT9VCCF2ZVHWSCQDP08P мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.012+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1707609600437 maxt=1709359200000 ulid=01HQZD4GBNGDGQXGM5Q6QKZ9M9 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.012+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1709359200437 maxt=1711108800000 ulid=01HSKHP1M7MQAQT44MCPJG59DT мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.013+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1711108800436 maxt=1712858400000 ulid=01HV7P7KXEF0R2VX7FWFE83CQK мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.013+03:00 level=INFO source=tls_config.go:354 msg="Listening on" component=web address=[::]:9090 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.013+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1712858400439 maxt=1714608000000 ulid=01HWVTS4WX65YV0JRMQT87A4Y3 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.013+03:00 level=INFO source=tls_config.go:357 msg="TLS is disabled." component=web http2=false address=[::]:9090 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.013+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1714608000436 maxt=1716357600000 ulid=01HYFZAQ76PDNFPR1P31WQG39Y мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.013+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1716357600436 maxt=1718107200000 ulid=01J043W8E565BDYYZF75A5RQBH мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.013+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1718107200437 maxt=1719856800000 ulid=01J1R8DT96T4SKEK88G23HVHCM мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.014+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1719856800436 maxt=1721606400000 ulid=01J3CCZCCN4Z4J5RQKH0V91ZW9 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.014+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1721606400437 maxt=1723356000000 ulid=01J50HGYDAPKM8E320653BXQTZ мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.014+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1723356000437 maxt=1725105600000 ulid=01J6MP2FNTDPX9AJ9KPHMT1JY5 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.014+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1728410400439 maxt=1728604800000 ulid=01JAYKNQFJ2TH1QTHW1PRQBT8K мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.014+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1725105600437 maxt=1726005600000 ulid=01JB13DNF9CMANY78S41DGA8DM мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.014+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1728604800437 maxt=1730354400000 ulid=01JBH3Q5ACN71RYEDX820PRSXZ мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.014+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1730354400002 maxt=1732104000000 ulid=01JD588PJ4FT7RTT8D0K3B1EWA мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.015+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1732104000437 maxt=1733853600000 ulid=01JESCT8JHGHDEHEENQNQZP94D мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.015+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1733853600437 maxt=1735603200000 ulid=01JGDHBTKNDEDXHEEBJ1CWV783 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.015+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1735603200436 maxt=1737352800000 ulid=01JJ1NX78Q5725Q93KD2NMWME5 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.015+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1737352800032 maxt=1739102400000 ulid=01JKNTEXW5J2KGENXZ44RJSZE8 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.015+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1739102400023 maxt=1740852000000 ulid=01JN9Z0G0JJ7T0A5V6E3QAT4T5 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.015+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1740852000436 maxt=1742601600000 ulid=01JPY3HYKNW2KA5NP6ZNDPKJ2V мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.016+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1742601600440 maxt=1744351200000 ulid=01JRJ83JGBTF1JEPTTMWN6Y9EX мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.016+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1744351200436 maxt=1746100800000 ulid=01JT6CN4YDVDXG8QCR0PRYN13P мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.016+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1746100800436 maxt=1747850400000 ulid=01JVTH6Q5N7K161F1M2BHH74TG мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.016+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1747850400440 maxt=1749600000000 ulid=01JXENR8HR6Q74GY0RNXPRFZ92 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.016+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1749600000438 maxt=1751349600000 ulid=01JZ2T9TJFP81FGTSM1P262A0P мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.016+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1751349600440 maxt=1753099200000 ulid=01K0PYVCH65H13RRMEXMD5JWWJ мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.016+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1753099200846 maxt=1754848800000 ulid=01K2B3CXR0AW3GAQZ8XTDAX5BG мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.017+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1754848800436 maxt=1756598400000 ulid=01K3Z7YFM4SD5JJEN73C914F6N мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.017+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1756598400436 maxt=1758348000000 ulid=01K5KCG0VTFSGY8XVSPK6KAR10 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.017+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1758348000437 maxt=1760097600000 ulid=01K77H1M4XHXJ8MW0SP38YP83W мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.017+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1760097600857 maxt=1761847200000 ulid=01K8VNK5682V1S6AKTRAV7JQHF мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.017+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1761847200436 maxt=1763596800000 ulid=01KAFT4PY0RKDDPDPDPD3KEE46 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.018+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1763596800441 maxt=1765346400000 ulid=01KC3YP7ZSECYEJ03T4H987HAR мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.018+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1765346400437 maxt=1767096000000 ulid=01KDR37T33504MB30Q6N6JYS3E мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.018+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1767096000437 maxt=1768845600000 ulid=01KFC7SBJ8ZGHDN739FNBE0SEE мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.018+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1770012000436 maxt=1770206400000 ulid=01KGMSHKRKGA32B5C87A5MEGFY мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.018+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1768845600438 maxt=1770012000000 ulid=01KGZEC3GWGVV04BC38FD0TW02 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.018+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1770206400436 maxt=1771470000000 ulid=01KHT1QPDJ8W6F64Y4XN13VGB1 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.019+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1771470000145 maxt=1771907400000 ulid=01KJ72W1PGK10AJD2WPKWCM3QS мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.019+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1771907400147 maxt=1772344800000 ulid=01KJM40E0F7Q0YJT11Y5CQWMDZ мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.019+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1772344800145 maxt=1772361000000 ulid=01KJMKES0S4YFKM6NSB2QPH7RR мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.019+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1772361000146 maxt=1772366400000 ulid=01KJMRKJ72ZPYGH4KB931EH0DJ мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.019+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1772371800146 maxt=1772373600000 ulid=01KJMW1DPCG8J1Y2DHS0B3W4JR мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.019+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1772373600146 maxt=1772375400000 ulid=01KJMXRBGEH51621FJFZXKMY14 мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.019+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1772366400146 maxt=1772371800000 ulid=01KJMXRBP3X6SW7GB1APC32HBV мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.019+03:00 level=INFO source=repair.go:54 msg="Found healthy block" component=tsdb mint=1772375400146 maxt=1772377200000 ulid=01KJMZF9AF1N3DCZ833WMM0YGZ мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.071+03:00 level=INFO source=head.go:680 msg="Replaying on-disk memory mappable chunks if any" component=tsdb мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.072+03:00 level=INFO source=head.go:766 msg="On-disk memory mappable chunks replay completed" component=tsdb duration=981.705µs мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.072+03:00 level=INFO source=head.go:774 msg="Replaying WAL, this may take a while" component=tsdb мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.081+03:00 level=INFO source=head.go:811 msg="WAL checkpoint loaded" component=tsdb мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.081+03:00 level=INFO source=head.go:884 msg="WAL replay completed" component=tsdb checkpoint_replay_duration=8.771801ms wal_replay_duration=298ns wbl_replay_duration=179ns chunk_snapshot_load_duration=0s mmap_chunk_replay_duration=981.705µs total_replay_duration=9.79559ms мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.096+03:00 level=INFO source=main.go:1371 msg="filesystem information" fs_type=EXT4_SUPER_MAGIC мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.096+03:00 level=INFO source=main.go:1374 msg="TSDB started" мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.096+03:00 level=INFO source=main.go:1564 msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.097+03:00 level=INFO source=main.go:1604 msg="Completed loading of configuration file" db_storage=1.585µs remote_storage=1.597µs web_handler=566ns query_engine=1.269µs scrape=206.31µs scrape_sd=51.581µs notify=110.712µs notify_sd=11.94µs rules=2.175µs tracing=3.447µs filename=/etc/prometheus/prometheus.yml totalDuration=787.563µs мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.097+03:00 level=INFO source=main.go:1335 msg="Server is ready to receive web requests." мар 01 18:18:03 MyHomeAssistant prometheus[118015]: time=2026-03-01T18:18:03.097+03:00 level=INFO source=manager.go:202 msg="Starting rule manager..." component="rule manager"

I think I’ve found the cause of the problem.
The command sudo ls -lh /var/lib/prometheus/metrics2/wal/ showed two directories:
checkpoint.00001219 - current
checkpoint.00016128 - old.
After deleting checkpoint.00016128, the service restarted correctly.

WAL does not check for additional checkpoints, which prevents it from working correctly when the service is restarted.