3.1 KiB
3.1 KiB
Consignes de production et de consultation des logs
Centralisation des logs
- Dossier central:
/home/debian/4NK_env/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/lecoffre_node/logs/<service>:/var/log/<service>
Instrumentation et propagation
- Nginx JSON logging via
lecoffre_node/conf/nginx/logging.conf
aveclog_format lecoffre_json
incluant: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_id
etproxy_set_header X-Request-ID $x_request_id
dansdev4.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/json
etX-Request-ID
ajouté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:
*.log
en texte (rotation gérée par infra si nécessaire). - Ajouter un identifiant de corrélation
X-Request-ID
côté front et proxy pour faciliter l’analyse.
Nginx
- Fichiers:
/home/debian/4NK_env/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/logs/nginx/lecoffre_front_access.log | jq . | tail -n 50
Promtail → Loki → Grafana
- Promtail scrute:
/home/debian/4NK_env/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-ID
entre 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/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).