3.2 KiB
3.2 KiB
Consignes de production et de consultation des logs
Centralisation des logs
- Dossier central:
/home/debian/4NK_env/projects/lecoffre/lecoffre_node/logs/ - Sous-dossiers standardisés par service:
nginx/,lecoffre-front/,ihm_client/,sdk_relay/,sdk_storage/,bitcoin/,blindbit/,miner/,tor/
- Docker Compose monte chaque service avec un volume:
/home/debian/4NK_env/projects/lecoffre/lecoffre_node/logs/<service>:/var/log/<service>
Instrumentation et propagation
- Nginx JSON logging via
projects/lecoffre/lecoffre_node/conf/nginx/logging.confaveclog_format lecoffre_jsonincluant:time,request_id,remote_addr,host,method,uri,args,status,bytes,referer,user_agent,request_time,upstream_*,x_forwarded_for. - Propagation
X-Request-ID: map$http_x_request_id→$x_request_idetproxy_set_header X-Request-ID $x_request_iddansdev4.4nkweb.com-https.conf. - Corrections Nginx:
listen 443 ssl;+http2 on;,listen 80 default_server; server_name _;, Grafana sur127.0.0.1:80. - Front: en-têtes
Accept: application/jsonetX-Request-IDajoutés aux appels IdNot/state/auth.
Production des logs (applications)
- Les applications doivent écrire leurs fichiers dans
/var/log/<service>/dans le conteneur. - Formats recommandés:
*.logen texte (rotation gérée par infra si nécessaire). - Ajouter un identifiant de corrélation
X-Request-IDcôté front et proxy pour faciliter l’analyse.
Nginx
- Fichiers:
/home/debian/4NK_env/projects/lecoffre/lecoffre_node/logs/nginx/lecoffre_front_access.log(JSON) etlecoffre_front_error.log(texte). - Requête type (analyse IdNot):
grep '"/api/v1/idnot/' /home/debian/4NK_env/projects/lecoffre/lecoffre_node/logs/nginx/lecoffre_front_access.log | jq . | tail -n 50
Promtail → Loki → Grafana
- Promtail scrute:
/home/debian/4NK_env/projects/lecoffre/lecoffre_node/logs/**(jobs par service). - Loki reçoit sur
http://loki:3100. - Grafana (local):
https://dev4.4nkweb.com/grafana/→ Explore → Datasource Loki.- Requêtes utiles:
{job="lecoffre-front"},{job="nginx"},{job="sdk_relay"}.
- Requêtes utiles:
À surveiller (IdNot et perf)
- Corrélation par
X-Request-IDentre Nginx et apps. - Erreurs
IDNOT_SERVICE_ERROR, réponses non-JSON en amont, timeouts. - Métriques Nginx:
status,request_time,upstream_*pour latences et erreurs.
Backups des logs et métadonnées
- Backups centralisés:
/home/debian/4NK_env/backups/<timestamp>/ports_open.txt,nginx_conf/,nginx_http_flows.txt
- Script:
/home/debian/4NK_env/projects/lecoffre/lecoffre_node/scripts/backup_all.sh
Vérifications rapides
- Front public:
curl -siS 'https://dev4.4nkweb.com/lecoffre/?nocache='$(date +%s) | sed -n '1,20p'
- État IdNot (state):
curl -siS -X POST 'https://dev3.4nkweb.com/api/v1/idnot/state' -H 'Origin: https://dev4.4nkweb.com' -H 'Content-Type: application/json' --data '{"next_url":"https://dev4.4nkweb.com/lecoffre/authorized-client"}' | sed -n '1,40p'
Bonnes pratiques
- Ne jamais committer de secrets dans les logs.
- Utiliser des niveaux de log adaptés (INFO/WARN/ERROR) et messages concis.
- Masquer les en-têtes sensibles à l’affichage (Authorization).