feat(geoportal): N8N webhook on sync completion + tile cache monitoring
- weekend-deep-sync.ts: fire webhook to N8N_WEBHOOK_URL after each sync cycle (N8N triggers tippecanoe PMTiles rebuild via SSH on host) - nginx tile-cache: add stub_status at /status, custom log format with cache status - Add tile-cache-stats.sh: shows HIT/MISS ratio, cache size, slow tiles - docker-compose: add N8N_WEBHOOK_URL env var Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -8,7 +8,13 @@ proxy_cache_path /var/cache/nginx/tiles
|
||||
inactive=7d
|
||||
use_temp_path=off;
|
||||
|
||||
# Log format with cache status for monitoring (docker logs tile-cache | grep HIT/MISS)
|
||||
log_format tiles '$remote_addr [$time_local] "$request" $status '
|
||||
'cache=$upstream_cache_status size=$body_bytes_sent '
|
||||
'time=$request_time';
|
||||
|
||||
server {
|
||||
access_log /var/log/nginx/access.log tiles;
|
||||
listen 80;
|
||||
server_name _;
|
||||
|
||||
@@ -19,6 +25,12 @@ server {
|
||||
add_header Content-Type text/plain;
|
||||
}
|
||||
|
||||
# nginx status (active connections, request counts) — for monitoring
|
||||
location = /status {
|
||||
access_log off;
|
||||
stub_status on;
|
||||
}
|
||||
|
||||
# Martin catalog endpoint (no cache)
|
||||
location = /catalog {
|
||||
proxy_pass http://martin:3000/catalog;
|
||||
|
||||
Reference in New Issue
Block a user