Service Monitoring
Now: 2026-06-08 16:24:29 UTCAction trace:enabledTrace file:
/app/tmp/service_actions.logPostgreSQL
Status:connected
Config:
DB_URL / DATABASE_URLValue:
postgres://weather:***@new_weather_db/weatherConnection:
postgres://new_weather_db/weatherCheck: OK (0 ms)
METAR decoder
Status:connected
Config:
METAR_TAF_DECODE_URL / METS_DECODER_URLValue:
http://metar_taf_parser:7000Health URL:
http://metar_taf_parser:7000/healthcheckHTTP: 200 (6 ms)
OPMET parser (primary RB)
Status:connected
Config:
ASG_MET_PARSER_PRIMARY / *_URLValue:
http://opmet_parser:7000Health URL:
http://opmet_parser:7000/healthcheckHTTP: 200 (12 ms)
OPMET parser (shadow CS)
Status:connected
Config:
ASG_MET_PARSER_SHADOW / *_URLValue:
http://old_meteo_text_parser:5001Health URL:
http://old_meteo_text_parser:5001/HTTP: 200 (4 ms)
TAF decoder
Status:connected
Config:
METAR_TAF_DECODE_URL / METS_DECODER_URLValue:
http://metar_taf_parser:7000Health URL:
http://metar_taf_parser:7000/healthcheckHTTP: 200 (6 ms)
Потоки данных: что собираем и куда пишем
| Pipeline | Source | Collected data | Destination tables |
|---|---|---|---|
| NOAA METAR | NOAA metars.cache.csv.gz | METAR/SPECI: ICAO, observed_at, raw_text, weather, wind, pressure, clouds | noaa_metars noaa_cache_runs noaa_ingest_state aerodromes |
| NOAA TAF | NOAA tafs.cache.xml.gz | TAF: ICAO, issued/valid range, raw_text, decoded forecast groups | noaa_tafs noaa_cache_runs noaa_ingest_state |
| ArcGIS Tropical Cyclones | ArcGIS Active_Hurricanes_v1 FeatureServer | Observed/forecast positions, tracks, cones, warnings, wind swaths and radii polygons | active_tropical_cyclones |
| SADIS Tropical Cyclone Advisories | SADIS FTP /TROPICAL_CYCLONE_ADVISORIES | WMO/TAC tropical cyclone outlooks and advisories as raw bulletins | tropical_cyclone_raw_payloads |
| ArcGIS Recent Tropical Cyclones | ArcGIS Recent_Hurricanes_v1 FeatureServer | Observed positions, observed tracks, observed wind swaths for recent systems | recent_tropical_cyclones |
| Roshydro ingest | FTP *.b files (ROSHYDRO_FTP_*) | METAR/TAF/OPMET batches + parser outputs + file processing stats | roshydro_metars roshydro_tafs roshydro_opmet_processed_files aerodromes opmetdata sigmet_geo airmet_geo gamet_geo |
| Roshydro OPMET parity (code present, runtime switch pending) | Same FTP *.b, ETX/=//END PART splitting | AIRMET/SIGMET/GAMET normalized records, parse/build errors, geo projections | opmetdata opmeterror sigmet_geo airmet_geo gamet_geo |
| Volcanic Ash Advisory | SADIS FTP + configured VAAC web sources | VAA raw text, VAAC, volcano, issue/valid times, ash cloud altitude, movement and geometry | volcanic_ash_sources volcanic_ash_advisories volcanic_ash_clouds volcanic_ash_graphics |
Active Tropical Cyclones
| Exists | yes |
|---|---|
| Rows | 111 |
| Distinct storms | 5 |
| Latest fetch | 2026-06-08 16:14:08 UTC |
| Ago | 10m21s |
Sources
| Source service | Rows | Storms | Latest fetch | Ago |
|---|---|---|---|---|
ARCGIS_ACTIVE_HURRICANES_V1 | 110 | 4 | 2026-06-08 16:14:08 UTC | 10m21s |
JTWC_SIGNIFICANT_TROPICAL_WEATHER_ADVISORY | 1 | 1 | 2026-05-26 03:03:29 UTC | 13d13h21m |
Source layers
| Source service | Layer id | Layer | Rows | Latest fetch | Ago |
|---|---|---|---|---|---|
ARCGIS_ACTIVE_HURRICANES_V1 | 0 | Forecast Position | 17 | 2026-06-08 16:14:08 UTC | 10m21s |
ARCGIS_ACTIVE_HURRICANES_V1 | 1 | Observed Position | 50 | 2026-06-08 16:14:08 UTC | 10m21s |
ARCGIS_ACTIVE_HURRICANES_V1 | 2 | Forecast Track | 3 | 2026-06-08 16:14:08 UTC | 10m21s |
ARCGIS_ACTIVE_HURRICANES_V1 | 3 | Observed Track | 9 | 2026-06-08 16:14:08 UTC | 10m21s |
ARCGIS_ACTIVE_HURRICANES_V1 | 4 | Forecast Error Cone and Danger Area | 3 | 2026-06-08 16:14:08 UTC | 10m21s |
ARCGIS_ACTIVE_HURRICANES_V1 | 5 | Watches and Warnings | 2 | 2026-06-08 16:14:08 UTC | 10m21s |
ARCGIS_ACTIVE_HURRICANES_V1 | 7 | Tropical Storm Force (34kts) | 10 | 2026-06-08 16:14:08 UTC | 10m21s |
ARCGIS_ACTIVE_HURRICANES_V1 | 10 | Raw 1/10th Degree Data (All) | 15 | 2026-06-08 16:14:08 UTC | 10m21s |
ARCGIS_ACTIVE_HURRICANES_V1 | 11 | Observed Wind Swath | 1 | 2026-06-08 16:14:08 UTC | 10m21s |
JTWC_SIGNIFICANT_TROPICAL_WEATHER_ADVISORY | 3001 | Tropical Disturbance Summary | 1 | 2026-05-26 03:03:29 UTC | 13d13h21m |
Recent Tropical Cyclones
| Exists | yes |
|---|---|
| Rows | 2988 |
| Distinct storms | 48 |
| Latest fetch | 2026-06-08 13:09:08 UTC |
| Ago | 3h15m20s |
Sources
| Source service | Rows | Storms | Latest fetch | Ago |
|---|---|---|---|---|
ARCGIS_RECENT_HURRICANES_V1 | 1125 | 28 | 2026-06-05 03:00:00 UTC | 3d13h24m29s |
JTWC_RECENT_TROPICAL_CYCLONES_BDECK_UNOFFICIAL_MIRROR | 655 | 38 | 2026-06-08 13:09:08 UTC | 3h15m20s |
NOAA_IBTRACS_RECENT_CSV | 1208 | 31 | 2026-06-08 01:07:50 UTC | 15h16m38s |
Source layers
| Source service | Layer id | Layer | Rows | Latest fetch | Ago |
|---|---|---|---|---|---|
ARCGIS_RECENT_HURRICANES_V1 | 0 | Observed Position | 941 | 2026-06-05 03:00:00 UTC | 3d13h24m29s |
ARCGIS_RECENT_HURRICANES_V1 | 1 | Observed Track | 184 | 2026-06-05 03:00:00 UTC | 3d13h24m29s |
JTWC_RECENT_TROPICAL_CYCLONES_BDECK_UNOFFICIAL_MIRROR | 2100 | Observed Position | 609 | 2026-06-08 13:09:08 UTC | 3h15m20s |
JTWC_RECENT_TROPICAL_CYCLONES_BDECK_UNOFFICIAL_MIRROR | 2101 | Observed Track | 46 | 2026-06-08 01:12:48 UTC | 15h11m40s |
NOAA_IBTRACS_RECENT_CSV | 2000 | Observed Position | 1179 | 2026-06-08 01:07:50 UTC | 15h16m38s |
NOAA_IBTRACS_RECENT_CSV | 2001 | Observed Track | 29 | 2026-05-27 06:51:40 UTC | 12d9h32m48s |
Tropical Cyclone Raw Payloads
| Exists | yes |
|---|---|
| Rows | 8042 |
| Latest fetch | 2026-06-08 16:17:56 UTC |
| Ago | 6m32s |
Sources
| Source service | Rows | Latest fetch | Ago |
|---|---|---|---|
JTWC_SIGNIFICANT_TROPICAL_WEATHER_ADVISORY | 2 | 2026-05-26 03:03:29 UTC | 13d13h21m |
NOAA_NHC_GIS_RSS | 7977 | 2026-06-08 16:17:56 UTC | 6m32s |
SADIS_TROPICAL_CYCLONE_ADVISORIES | 63 | 2026-06-08 16:10:23 UTC | 14m6s |
Products:
nhc_gis_rss=7977,significant_tropical_weather_advisory=2,tropical_cyclone_advisory=63Statuses:no_active_cyclones=7571,raw=471Recent payloads
| Source | Product | Status | Basin | Storm | Issued | Fetched | Ago |
|---|---|---|---|---|---|---|---|
NOAA_NHC_GIS_RSS | central_pacific | no_active_cyclones | central_pacific | — | — | 2026-06-08 16:17:56 UTC | 6m32s |
NOAA_NHC_GIS_RSS | east_pacific | raw | east_pacific | — | — | 2026-06-08 16:17:56 UTC | 6m32s |
NOAA_NHC_GIS_RSS | atlantic | no_active_cyclones | atlantic | — | — | 2026-06-08 16:17:56 UTC | 6m32s |
SADIS_TROPICAL_CYCLONE_ADVISORIES | FKPZ22_KNHC_081455 | raw | — | — | — | 2026-06-08 16:10:23 UTC | 14m6s |
SADIS_TROPICAL_CYCLONE_ADVISORIES | FKPZ23_KNHC_081456 | raw | — | — | — | 2026-06-08 16:10:23 UTC | 14m6s |
SADIS_TROPICAL_CYCLONE_ADVISORIES | FKPZ22_KNHC_080854 | raw | — | — | — | 2026-06-08 16:10:23 UTC | 14m6s |
SADIS_TROPICAL_CYCLONE_ADVISORIES | FKPZ21_KNHC_080233 | raw | — | — | — | 2026-06-08 16:10:23 UTC | 14m6s |
SADIS_TROPICAL_CYCLONE_ADVISORIES | FKPZ22_KNHC_080234 | raw | — | — | — | 2026-06-08 16:10:23 UTC | 14m6s |
SADIS_TROPICAL_CYCLONE_ADVISORIES | FKPZ22_KNHC_072040 | raw | — | — | — | 2026-06-08 16:10:23 UTC | 14m6s |
SADIS_TROPICAL_CYCLONE_ADVISORIES | FKPZ21_KNHC_072034 | raw | — | — | — | 2026-06-08 16:10:23 UTC | 14m6s |
SADIS_TROPICAL_CYCLONE_ADVISORIES | FKPZ22_KNHC_071456 | raw | — | — | — | 2026-06-08 16:10:23 UTC | 14m6s |
SADIS_TROPICAL_CYCLONE_ADVISORIES | FKPZ21_KNHC_071445 | raw | — | — | — | 2026-06-08 16:10:23 UTC | 14m6s |
Volcanic Ash Advisory
Pipeline:enabledLast run: 2026-06-08 16:24:13 UTCRun status: okAgo: 16sFreshness: warn 120 min / critical 360 min
Sources: 6Advisories: 2202Clouds: 2822Graphics: 158 (
georeferenced=73,no_geometry=11,parsed=74)State: fresh=3 warning=2 critical=1 missing=0| Source | VAAC | Status | Latest issue | Ago | Latest advisory | 24h | 48h | Total | Last error |
|---|---|---|---|---|---|---|---|---|---|
| DARWIN_BOM_AGGREGATE | DARWIN | critical | — | — | — / — | 21 adv / 76 clouds | 43 adv / 157 clouds | 255 adv / 909 clouds | 2026-06-08T16:16:38Z - Rufus::Scheduler::TimeoutError |
| MONTREAL_ECCC | MONTREAL | fresh | — | — | — / — | 0 adv / 0 clouds | 0 adv / 0 clouds | 1228 adv / 0 clouds | — |
| SADIS_FTP | MULTI | fresh | 2026-06-08 15:00:00 UTC | 1h24m29s | SHEVELUCH / 2026/190 | 39 adv / 133 clouds | 77 adv / 257 clouds | 497 adv / 1388 clouds | — |
| TOKYO_JMA | TOKYO | fresh | 2026-06-08 15:00:00 UTC | 1h24m29s | SHEVELUCH / 2026/190 | 8 adv / 35 clouds | 23 adv / 79 clouds | 125 adv / 214 clouds | — |
| TOULOUSE_METEO_FR | TOULOUSE | warning | 2026-06-08 14:00:00 UTC | 2h24m29s | PITON DE LA FOURNAISE / 2026/1 | 1 adv / 0 clouds | 1 adv / 0 clouds | 11 adv / 29 clouds | — |
| WASHINGTON_OSPO | WASHINGTON | warning | 2026-06-08 13:32:00 UTC | 2h52m29s | FUEGO / 2026/666 | 4 adv / 13 clouds | 8 adv / 29 clouds | 86 adv / 282 clouds | — |
Таблицы и последние изменения данных
| Table | Exists | Rows | Latest | Ago | Error |
|---|---|---|---|---|---|
aerodromes | yes | 5649 | 2026-06-05 23:23:51 UTC | 2d17h37s | — |
noaa_metars | yes | 193586 | 2026-06-08 16:20:00 UTC | 4m29s | — |
noaa_tafs | yes | 29495 | 2026-06-08 16:21:00 UTC | 3m29s | — |
roshydro_metars | yes | 107082 | 2026-06-08 16:20:00 UTC | 4m29s | — |
roshydro_tafs | yes | 28054 | 2026-06-08 17:00:00 UTC | now | — |
active_tropical_cyclones | yes | 111 | 2026-06-08 16:14:08 UTC | 10m21s | — |
recent_tropical_cyclones | yes | 2988 | 2026-06-08 13:09:08 UTC | 3h15m20s | — |
tropical_cyclone_raw_payloads | yes | 8042 | 2026-06-08 16:17:56 UTC | 6m32s | — |
roshydro_opmet_processed_files | yes | 345194 | 2026-06-08 16:24:26 UTC | 3s | — |
noaa_cache_runs | yes | 129915 | 2026-06-08 16:24:25 UTC | 3s | — |
noaa_ingest_state | yes | 2 | — | — | — |
opmetdata | yes | 28736 | 2026-06-08 16:24:26 UTC | 3s | — |
opmeterror | yes | 0 | — | — | — |
sigmet_geo | yes | 14833 | 2026-06-08 16:24:26 UTC | 3s | — |
airmet_geo | yes | 3144 | 2026-06-08 16:10:20 UTC | 14m9s | — |
gamet_geo | yes | 10759 | 2026-06-08 16:15:28 UTC | 9m | — |
volcanic_ash_sources | yes | 6 | 2026-06-08 16:24:08 UTC | 20s | — |
volcanic_ash_advisories | yes | 2202 | 2026-06-08 15:00:00 UTC | 1h24m29s | — |
volcanic_ash_clouds | yes | 2822 | 2026-06-09 08:20:00 UTC | now | — |
volcanic_ash_graphics | yes | 158 | 2026-06-08 13:32:00 UTC | 2h52m29s | — |
Runtime env snapshot
| Variable | Value |
|---|---|
RECENT_TROPICAL_CYCLONES_SOURCE | ALL |
ACTIVE_TROPICAL_CYCLONES_SOURCE | ALL |
TROPICAL_CYCLONES_JOB_INTERVAL_MIN | 15 |
RECENT_TROPICAL_CYCLONES_JOB_INTERVAL_MIN | 15 |
RECENT_TROPICAL_CYCLONES_LOOKBACK_DAYS | 130 |
ROSHYDRO_JOB_INTERVAL_MIN | — |
NOAA_METAR_JOB_INTERVAL_MIN | — |
NOAA_TAF_JOB_INTERVAL_MIN | — |
NOAA_METAR_CACHE_URL | — |
NOAA_TAF_CACHE_URL | — |
ARCGIS_TROPICAL_CYCLONES_URL | https://services9.arcgis.com/RHVPKKiFTONKtxq3/ArcGIS/rest/services/Active_Hurricanes_v1/FeatureServer |
ARCGIS_RECENT_TROPICAL_CYCLONES_URL | https://services9.arcgis.com/RHVPKKiFTONKtxq3/ArcGIS/rest/services/Recent_Hurricanes_v1/FeatureServer |
NOAA_IBTRACS_RECENT_CSV_URL | https://www.ncei.noaa.gov/data/international-best-track-archive-for-climate-stewardship-ibtracs/v04r01/access/csv/ibtracs.last3years.list.v04r01.csv |
JTWC_TROPICAL_CYCLONES_PRODUCTS_BASE_URL | https://www.metoc.navy.mil/jtwc/products/ |
JTWC_RECENT_TROPICAL_CYCLONES_BDECK_UNOFFICIAL_MIRROR_BASE_URL | https://hurricanes.ral.ucar.edu/repository/data/bdecks_open/ |
SADIS_FTP_TC_ADVISORIES_DIR | /TROPICAL_CYCLONE_ADVISORIES |
SADIS_TROPICAL_CYCLONES_FETCH_LIMIT | 50 |
VOLCANIC_ASH_PIPELINE_ENABLED | true |
VOLCANIC_ASH_SOURCES | SADIS,WASHINGTON,TOKYO,MONTREAL,TOULOUSE,DARWIN_AGGREGATE |
VOLCANIC_ASH_FETCH_LIMIT | 50 |
VOLCANIC_ASH_JOB_INTERVAL_MIN | 15 |
VOLCANIC_ASH_FRESHNESS_WARN_MIN | 120 |
VOLCANIC_ASH_FRESHNESS_CRITICAL_MIN | 360 |
SADIS_FTP_HOST | sadisftp.metoffice.gov.uk |
SADIS_FTP_VA_ADVISORIES_DIR | /VOLCANIC_ASH_ADVISORY_STATEMENTS |
ROSHYDRO_FTP_HOST | 193.7.166.1 |
ROSHYDRO_FTP_REMOTE_GLOB | — |
OPMET_COMPARE_ENABLED | false |
OPMET_COMPARE_OUTPUT_DIR | compare_opmet |
OPMET_COMPARE_LIMIT | — |
OPMET_ERROR_RETENTION_HOURS | — |
OPMET_ERROR_CLEANUP_INTERVAL_MIN | — |
METS_DECODER_URL | http://metar_taf_parser:7000 |
ASG_MET_PARSER | — |
ASG_MET_PARSER_MODE | — |
ASG_MET_PARSER_PRIMARY | RB |
ASG_MET_PARSER_SHADOW | CS |
ASG_MET_PARSER_CS_URL | http://old_meteo_text_parser:5001 |
ASG_MET_PARSER_RB_URL | http://opmet_parser:7000 |
ACTION_TRACE_ENABLED | true |
OPMET errors
Top error types:
| created_at | opmet_type | error_type | message | opmetdata_id | original_file |
|---|
Temporary action trace (TEST)
Это временный функционал для тестирования. После завершения тестов удалить:src/app/services/support/action_recorder.rb, маршрут/monitor/actions и вызовыActionRecorder.record(...)
[
{
"at": "2026-06-08T16:24:29Z",
"source": "api.monitor",
"status": "info",
"action": "monitor_requested",
"details": null
},
{
"at": "2026-06-08T16:24:26Z",
"source": "orchestrator.roshydro",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"files_count": 1
}
},
{
"at": "2026-06-08T16:24:26Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090923.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:24:25Z",
"source": "orchestrator.noaa.taf",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"messages_count": 164,
"skipped": 3003
}
},
{
"at": "2026-06-08T16:24:25Z",
"source": "orchestrator.noaa.metar",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"messages_count": 231,
"skipped": 4974
}
},
{
"at": "2026-06-08T16:24:23Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090923.b"
}
},
{
"at": "2026-06-08T16:24:23Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "files_detected",
"details": {
"count": 1
}
},
{
"at": "2026-06-08T16:24:13Z",
"source": "orchestrator.volcanic_ash.advisories",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"sources": {
"toulouse_meteo_fr": {
"fetched": 1,
"saved": 1,
"errors": []
}
},
"fetched": 1,
"saved": 1,
"errors": []
}
},
{
"at": "2026-06-08T16:24:08Z",
"source": "orchestrator.volcanic_ash.advisories",
"status": "info",
"action": "ingest_cycle_started",
"details": {
"source_names": [
"TOULOUSE"
]
}
},
{
"at": "2026-06-08T16:23:08Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "dependencies_ok",
"details": {
"opmet_primary_mode": "RB",
"opmet_primary_url": "http://opmet_parser:7000",
"opmet_shadow_mode": "CS",
"opmet_shadow_url": "http://old_meteo_text_parser:5001"
}
},
{
"at": "2026-06-08T16:23:08Z",
"source": "orchestrator.noaa.taf",
"status": "info",
"action": "ingest_cycle_started",
"details": null
},
{
"at": "2026-06-08T16:23:08Z",
"source": "orchestrator.noaa.metar",
"status": "info",
"action": "ingest_cycle_started",
"details": null
},
{
"at": "2026-06-08T16:23:08Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "ingest_cycle_started",
"details": null
},
{
"at": "2026-06-08T16:22:21Z",
"source": "orchestrator.roshydro",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"files_count": 10
}
},
{
"at": "2026-06-08T16:22:21Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090922.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:22:20Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090922.b"
}
},
{
"at": "2026-06-08T16:22:20Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090921.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:22:20Z",
"source": "metar_ingest",
"status": "skipped",
"action": "skip_future_metar",
"details": {
"reason": "future_observed_at",
"source": "roshydro",
"station": "OMSJ",
"observed_at": "2026-06-08T16:30:00Z",
"now_utc": "2026-06-08T16:22:20Z"
}
},
{
"at": "2026-06-08T16:22:20Z",
"source": "metar_ingest",
"status": "skipped",
"action": "skip_future_metar",
"details": {
"reason": "future_observed_at",
"source": "roshydro",
"station": "KTFP",
"observed_at": "2026-06-08T16:55:00Z",
"now_utc": "2026-06-08T16:22:20Z"
}
},
{
"at": "2026-06-08T16:22:20Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090921.b"
}
},
{
"at": "2026-06-08T16:22:20Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090920.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:22:20Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090920.b"
}
},
{
"at": "2026-06-08T16:22:20Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090919.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:22:18Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090919.b"
}
},
{
"at": "2026-06-08T16:22:18Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090918.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:22:18Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090918.b"
}
},
{
"at": "2026-06-08T16:22:18Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090917.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:22:18Z",
"source": "metar_ingest",
"status": "skipped",
"action": "skip_future_metar",
"details": {
"reason": "future_observed_at",
"source": "roshydro",
"station": "BKPR",
"observed_at": "2026-06-08T16:30:00Z",
"now_utc": "2026-06-08T16:22:18Z"
}
},
{
"at": "2026-06-08T16:22:18Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090917.b"
}
},
{
"at": "2026-06-08T16:22:18Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090916.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:22:18Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090916.b"
}
},
{
"at": "2026-06-08T16:22:18Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090915.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:22:18Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090915.b"
}
},
{
"at": "2026-06-08T16:22:18Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090914.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:22:17Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090914.b"
}
},
{
"at": "2026-06-08T16:22:17Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090913.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:22:17Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090913.b"
}
},
{
"at": "2026-06-08T16:22:17Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "files_detected",
"details": {
"count": 10
}
},
{
"at": "2026-06-08T16:22:08Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "dependencies_ok",
"details": {
"opmet_primary_mode": "RB",
"opmet_primary_url": "http://opmet_parser:7000",
"opmet_shadow_mode": "CS",
"opmet_shadow_url": "http://old_meteo_text_parser:5001"
}
},
{
"at": "2026-06-08T16:22:08Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "ingest_cycle_started",
"details": null
},
{
"at": "2026-06-08T16:21:42Z",
"source": "orchestrator.volcanic_ash.advisories",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"sources": {
"montreal_eccc": {
"fetched": 4,
"saved": 4,
"errors": []
}
},
"fetched": 4,
"saved": 4,
"errors": []
}
},
{
"at": "2026-06-08T16:21:40Z",
"source": "orchestrator.jtwc.tropical_cyclones",
"status": "partial",
"action": "ingest_cycle_finished",
"details": {
"advisories_count": 0,
"records_count": 0,
"saved_count": 0,
"fetch_errors": [
{
"error_class": "Timeout::Error",
"error_message": "execution expired",
"product": "abpwweb.txt"
},
{
"error_class": "SocketError",
"error_message": "DNS resolution is temporarily unavailable for www.metoc.navy.mil",
"product": "abioweb.txt"
}
]
}
},
{
"at": "2026-06-08T16:21:38Z",
"source": "orchestrator.volcanic_ash.advisories",
"status": "info",
"action": "ingest_cycle_started",
"details": {
"source_names": [
"MONTREAL"
]
}
},
{
"at": "2026-06-08T16:21:38Z",
"source": "orchestrator.jtwc.tropical_cyclones",
"status": "info",
"action": "ingest_cycle_started",
"details": null
},
{
"at": "2026-06-08T16:21:25Z",
"source": "orchestrator.noaa.metar",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"messages_count": 268,
"skipped": 4942
}
},
{
"at": "2026-06-08T16:21:23Z",
"source": "orchestrator.roshydro",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"files_count": 1
}
},
{
"at": "2026-06-08T16:21:23Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090912.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:21:23Z",
"source": "orchestrator.noaa.taf",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"messages_count": 53,
"skipped": 3018
}
},
{
"at": "2026-06-08T16:21:10Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090912.b"
}
},
{
"at": "2026-06-08T16:21:10Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "files_detected",
"details": {
"count": 1
}
},
{
"at": "2026-06-08T16:21:08Z",
"source": "orchestrator.noaa.metar",
"status": "info",
"action": "ingest_cycle_started",
"details": null
},
{
"at": "2026-06-08T16:20:08Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "dependencies_ok",
"details": {
"opmet_primary_mode": "RB",
"opmet_primary_url": "http://opmet_parser:7000",
"opmet_shadow_mode": "CS",
"opmet_shadow_url": "http://old_meteo_text_parser:5001"
}
},
{
"at": "2026-06-08T16:20:08Z",
"source": "orchestrator.noaa.taf",
"status": "info",
"action": "ingest_cycle_started",
"details": null
},
{
"at": "2026-06-08T16:20:08Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "ingest_cycle_started",
"details": null
},
{
"at": "2026-06-08T16:19:50Z",
"source": "orchestrator.volcanic_ash.advisories",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"sources": {
"tokyo_jma": {
"fetched": 50,
"saved": 50,
"errors": []
}
},
"fetched": 50,
"saved": 50,
"errors": []
}
},
{
"at": "2026-06-08T16:19:22Z",
"source": "orchestrator.noaa.metar",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"messages_count": 361,
"skipped": 4841
}
},
{
"at": "2026-06-08T16:19:21Z",
"source": "orchestrator.roshydro",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"files_count": 2
}
},
{
"at": "2026-06-08T16:19:21Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090911.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:19:19Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090911.b"
}
},
{
"at": "2026-06-08T16:19:19Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090910.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:19:19Z",
"source": "metar_ingest",
"status": "skipped",
"action": "skip_future_metar",
"details": {
"reason": "future_observed_at",
"source": "roshydro",
"station": "OPKC",
"observed_at": "2026-06-08T16:30:00Z",
"now_utc": "2026-06-08T16:19:19Z"
}
},
{
"at": "2026-06-08T16:19:16Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090910.b"
}
},
{
"at": "2026-06-08T16:19:16Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "files_detected",
"details": {
"count": 2
}
},
{
"at": "2026-06-08T16:19:08Z",
"source": "orchestrator.volcanic_ash.advisories",
"status": "info",
"action": "ingest_cycle_started",
"details": {
"source_names": [
"TOKYO"
]
}
},
{
"at": "2026-06-08T16:19:08Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "dependencies_ok",
"details": {
"opmet_primary_mode": "RB",
"opmet_primary_url": "http://opmet_parser:7000",
"opmet_shadow_mode": "CS",
"opmet_shadow_url": "http://old_meteo_text_parser:5001"
}
},
{
"at": "2026-06-08T16:19:08Z",
"source": "orchestrator.noaa.metar",
"status": "info",
"action": "ingest_cycle_started",
"details": null
},
{
"at": "2026-06-08T16:19:08Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "ingest_cycle_started",
"details": null
},
{
"at": "2026-06-08T16:18:35Z",
"source": "orchestrator.volcanic_ash.advisories",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"sources": {
"washington_ospo": {
"fetched": 50,
"saved": 50,
"errors": []
}
},
"fetched": 50,
"saved": 50,
"errors": []
}
},
{
"at": "2026-06-08T16:18:24Z",
"source": "orchestrator.noaa.metar",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"messages_count": 117,
"skipped": 5102
}
},
{
"at": "2026-06-08T16:18:24Z",
"source": "orchestrator.noaa.taf",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"messages_count": 17,
"skipped": 3027
}
},
{
"at": "2026-06-08T16:18:05Z",
"source": "orchestrator.noaa.tropical_cyclones",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"products_count": 16,
"downloaded_count": 0,
"parsed_xml_count": 0,
"records_count": 0,
"saved_count": 0,
"raw_payloads_saved": 3,
"skipped_count": 16,
"by_basin": {
"east_pacific": 16
},
"by_format": {
"unknown": 2,
"shp": 6,
"kmz": 8
}
}
},
{
"at": "2026-06-08T16:18:01Z",
"source": "orchestrator.roshydro",
"status": "ok",
"action": "ingest_cycle_finished",
"details": {
"files_count": 1
}
},
{
"at": "2026-06-08T16:18:00Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "opmet_shadow_processed",
"details": {
"filename": "UUUJ03090909.b",
"opmet_primary_mode": "RB",
"opmet_shadow_mode": "CS"
}
},
{
"at": "2026-06-08T16:17:53Z",
"source": "orchestrator.noaa.tropical_cyclones",
"status": "info",
"action": "ingest_cycle_started",
"details": null
},
{
"at": "2026-06-08T16:17:20Z",
"source": "metar_ingest",
"status": "skipped",
"action": "skip_future_metar",
"details": {
"reason": "future_observed_at",
"source": "roshydro",
"station": "LATI",
"observed_at": "2026-06-08T16:20:00Z",
"now_utc": "2026-06-08T16:17:20Z"
}
},
{
"at": "2026-06-08T16:17:20Z",
"source": "metar_ingest",
"status": "skipped",
"action": "skip_future_metar",
"details": {
"reason": "future_observed_at",
"source": "roshydro",
"station": "ESNX",
"observed_at": "2026-06-08T16:20:00Z",
"now_utc": "2026-06-08T16:17:20Z"
}
},
{
"at": "2026-06-08T16:17:20Z",
"source": "metar_ingest",
"status": "skipped",
"action": "skip_future_metar",
"details": {
"reason": "future_observed_at",
"source": "roshydro",
"station": "LWOH",
"observed_at": "2026-06-08T16:20:00Z",
"now_utc": "2026-06-08T16:17:20Z"
}
},
{
"at": "2026-06-08T16:17:17Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "processing_file",
"details": {
"filename": "UUUJ03090909.b"
}
},
{
"at": "2026-06-08T16:17:17Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "files_detected",
"details": {
"count": 1
}
},
{
"at": "2026-06-08T16:17:08Z",
"source": "orchestrator.roshydro",
"status": "info",
"action": "dependencies_ok",
"details": {
"opmet_primary_mode": "RB",
"opmet_primary_url": "http://opmet_parser:7000",
"opmet_shadow_mode": "CS",
"opmet_shadow_url": "http://old_meteo_text_parser:5001"
}
}
]