This commit is contained in:
4NK Dev 2025-10-02 16:38:58 +00:00
parent 19b3ec646e
commit db36d469e4
69 changed files with 6284 additions and 607 deletions

13
.gitignore vendored
View File

@ -3,7 +3,9 @@
**/dist/
**/node_modules/
**/package-lock.json*
**/yarn.lock*
**/*.lock*
**/build/
**/.build/
# Variables d'environnement (protection renforcée)
@ -20,12 +22,9 @@ storage/dev/.env.secrets
*.pyc
*.pyo
*.pyd
__pycache__/
*.so
*.egg
*.egg-info/
dist/
build/
# Fichiers de logs
*.log
@ -41,12 +40,6 @@ log/
*.swo
*~
# Fichiers d'environnement de développement
.env.local
.env.development
.env.test
.env.production
# Fichiers de système
.DS_Store
Thumbs.db

View File

@ -11,9 +11,9 @@ NODE_ENV=production
ROOT_DIR=/home/debian/4NK_env
DOCKER_GLOBAL_NAME=projects/lecoffre/$DOCKER_GLOBAL_NAME
DOCKER_GLOBAL=$ROOT_DIR/DOCKER_GLOBAL_NAME
NGINX_LOGS_DIR=$ROOT_DIR_LOGS/nginx
SUPERVISOR_LOGS_DIR=$ROOT_DIR_LOGS/supervisor
LOGROTATE_CONF_DIR=$ROOT_DIR_CONFS/logrotate
NGINX_LOGS_DIR=$DOCKER_GLOBAL/logs/nginx
SUPERVISOR_LOGS_DIR=$DOCKER_GLOBAL/logs/supervisor
LOGROTATE_CONF_DIR=$DOCKER_GLOBAL/confs/logrotate
CERT_PATH=/etc/letsencrypt/live/$HOST
## Internes
@ -52,6 +52,7 @@ GRAFANA_PORT=3001:3001
LOKI=loki
LOKI_IMAGE=grafana/loki:latest
LOKI_PORT=3100:3100
LOKI_PORT2=9096
PROMTAIL=promtail
PROMTAIL_IMAGE=grafana/promtail:latest

View File

@ -3,9 +3,82 @@
SDK_RELAY_BOOSTRAP_URL=$BOOSTRAP_URL_WS_EXTERNAL
RELAY_URLS=$SDK_RELAY_URL,$SDK_RELAY_BOOSTRAP_URL
BITCOIN_RPC_URL=http://$BITCOIN_DOCKER_NAME:$BITCOIN_SIGNET_RPC_PORT
BITCOIN_COOKIE_DIR=
ZMQ_URL=tcp://$BITCOIN_DOCKER_NAME:$BITCOIN_ZMQPBUBHASHBLOCK_PORT
# DB
CERTIFICATOR_POSTGRESQL_CONNECT=$POSTGRESQL_USER:$POSTGRESQL_PASSWORD//certificator:@certificator_db/certificator_db
CERTIFICATOR_REDIS_CONNECT=redis://certificator_redis:$REDIS_PORT
# URLs pour les modules
SIGNER_URL=$ROOT_URL_INTERNAL$SDK_SIGNER_DOCKER_NAME:$SDK_SIGNER_DOCKER_PORT
LECOFFRE_BACK_URL=$ROOT_URL_INTERNAL$LECOFFRE_BACK_DOCKER_NAME:$LECOFFRE_BACK_DOCKER_PORT
RELAY_BOOTSTRAP_URL=$SDK_RELAY_URL
# Variables nginx manquantes
NGINX_CONF_DIR=$DOCKER_GLOBAL/confs/nginx
# Variables manquantes pour le monitoring et les services
STATUS_API_PORT=8083:8083
STATUS_API_EXTERNAL_PORT=8083
# Variables manquantes pour les routes nginx
URL_ROUTE_BLINDBIT=$BLINDBIT_ORACLE_URL_ROUTE
URL_ROUTE_GRAFAN=$GRAFANA_URL_ROUTE
URL_ROUTE_IHM_CLIENT=$IHM_CLIENT_URL_ROUTE
URL_ROUTE_LECOFFRE_FRONT=$LECOFFRE_FRONT_URL_ROUTE
URL_ROUTE_LECOFFRE_FRONT_HMR=/hmr
URL_ROUTE_LECOFFRE_BACK=$LECOFFRE_BACK_URL_ROUTE
URL_ROUTE_NEXT=/next
URL_ROUTE_STATUS_API=/status-api
URL_ROUTE_STATUS=$STATUS_API_URL_ROUTE
BLINDBIT_PORT=8000
SIGNER_PORT=9090
# Variables manquantes pour les projets lecoffre
LECOFFRE_BACK_HOST=$HOST
LECOFFRE_BACK_URL=$ROOT_URL_INTERNAL$LECOFFRE_BACK_DOCKER_NAME:$LECOFFRE_BACK_DOCKER_PORT
LECOFFRE_BACK_URL_ROUTE=/$LECOFFRE_BACK
BLINDBIT_DOCKER_NAME=$BLINDBIT_ORACLE_DOCKER_NAME
BLINDBIT_EXTERNAL_PORT=$BLINDBIT_ORACLE_EXTERNAL_PORT
BLINDBIT_LOGS_DIR=$BLINDBIT_ORACLE_LOGS_DIR
LECOFFRE_BACK_DOCKER_NAME=$LECOFFRE_BACK
LECOFFRE_BACK_DOCKER_PORT=$LECOFFRE_BACK_PORT
LECOFFRE_BACK_EXTERNAL_PORT=$LECOFFRE_BACK_EXTERNAL_PORT
LECOFFRE_BACK_LOGS_DIR=$DOCKER_GLOBAL/logs/$LECOFFRE_BACK
LECOFFRE_BACK_DATA_DIR=$DOCKER_GLOBAL/datas/$LECOFFRE_BACK
LECOFFRE_BACK_CONFS_DIR=$DOCKER_GLOBAL/confs/$LECOFFRE_BACK
LECOFFRE_BACK_BACKUPS_DIR=$DOCKER_GLOBAL/backups/$LECOFFRE_BACK
LECOFFRE_BACK_RUNS_DIR=$DOCKER_GLOBAL/runs/$LECOFFRE_BACK
LECOFFRE_BACK_CERTS_DIR=$DOCKER_GLOBAL/certs/$LECOFFRE_BACK
LECOFFRE_BACK_TEMP_DIR=$DOCKER_GLOBAL/temp/$LECOFFRE_BACK
LECOFFRE_BACK_CACHE_DIR=$DOCKER_GLOBAL/cache/$LECOFFRE_BACK
LECOFFRE_BACK_UPLOADS_DIR=$DOCKER_GLOBAL/uploads/$LECOFFRE_BACK
LECOFFRE_BACK_DOWNLOADS_DIR=$DOCKER_GLOBAL/downloads/$LECOFFRE_BACK
# Variables manquantes pour lecoffre_node
URL_ROUTE_SIGNER=/$SDK_SIGNER
RELAY_BOOSTRAP_URL=$SDK_RELAY_URL
RELAY_URL=$SDK_RELAY_URL
LECOFFRE_NODE_SCRIPTS_DIR=$DOCKER_GLOBAL/scripts/$LECOFFRE_NODE
BLINDBIT_DATA_DIR=$BLINDBIT_ORACLE_DATAS_DIR
LECOFFRE_NODE_CONFS_DIR=$DOCKER_GLOBAL/confs/$LECOFFRE_NODE
LECOFFRE_NODE_LOGS_DIR=$DOCKER_GLOBAL/logs/$LECOFFRE_NODE
LECOFFRE_NODE_DATA_DIR=$DOCKER_GLOBAL/datas/$LECOFFRE_NODE
LECOFFRE_NODE_BACKUPS_DIR=$DOCKER_GLOBAL/backups/$LECOFFRE_NODE
LECOFFRE_NODE_RUNS_DIR=$DOCKER_GLOBAL/runs/$LECOFFRE_NODE
LECOFFRE_NODE_CERTS_DIR=$DOCKER_GLOBAL/certs/$LECOFFRE_NODE
LECOFFRE_NODE_TEMP_DIR=$DOCKER_GLOBAL/temp/$LECOFFRE_NODE
LECOFFRE_NODE_CACHE_DIR=$DOCKER_GLOBAL/cache/$LECOFFRE_NODE
LECOFFRE_NODE_UPLOADS_DIR=$DOCKER_GLOBAL/uploads/$LECOFFRE_NODE
LECOFFRE_NODE_DOWNLOADS_DIR=$DOCKER_GLOBAL/downloads/$LECOFFRE_NODE
LECOFFRE_NODE=$LECOFFRE_NODE
# Variable ZMQ manquante
BITCOIN_ZMQPBUBHASHBLOCK_PORT=28332

View File

@ -14,7 +14,7 @@ DATABASE_URL=$CERTIFICATOR_POSTGRESQL_CONNECT
REDIS_URL=$CERTIFICATOR_REDIS_CONNECT
# Relay
RELAY_WEBSOCKET_URL=$RELAY_WEBSOCKET_URL
RELAY_WEBSOCKET_URL=$SDK_RELAY_URL_WS
# Certificator DB password for docker-compose
CERTIFICATOR_DB_PASSWORD=$BDD_PASSWORD

View File

@ -1,18 +1,18 @@
[server]
host = "0.0.0.0"
port = $CERTIFICATOR_PORT
port = "$4NK_CERTIFICATOR_PORT"
log_level = "info"
[bitcoin]
network = "mainnet"
rpc_url = "$BITCOIN_RPC_URL"
rpc_user = ""
rpc_password = ""
rpc_user = "$BITCOIN_RPC_USER"
rpc_password = "$BITCOIN_RPC_PASSWORD"
wallet_name = "$BITCOIN_CERTIFICATOR_NAME"
min_confirmations = 6
[relay]
websocket_url = "$RELAY_WEBSOCKET_URL"
websocket_url = "$SDK_RELAY_URL_WS"
monitor_interval_secs = 60
[anchoring]
@ -21,11 +21,11 @@ auto_anchor = true
tx_fee_sat_per_vbyte = 10
[database]
url = "postgresql://certificator:password@localhost/certificator_db"
url = "$CERTIFICATOR_POSTGRESQL_CONNECT"
max_connections = 10
[redis]
url = "redis://localhost:6379"
url = "$CERTIFICATOR_REDIS_CONNECT"
cache_ttl_secs = 3600
[api]

View File

@ -1,7 +1,7 @@
# Configuration globale
signet=1
server=1
datadir=$BITCOIN_DATA_DIR
datadir=$BITCOIN_DATAS_DIR
[signet]
daemon=0
@ -10,7 +10,7 @@ upnp=1
#debug=1
#loglevel=debug
logthreadnames=1
onion=tor:$TOR_PORT
onion=tor:9050:9050
listenonion=1
onlynet=onion
@ -37,7 +37,7 @@ dustrelayfee=0.00000001
minrelaytxfee=0.00000001
prune=0
signetchallenge=0020341c43803863c252df326e73574a27d7e19322992061017b0dc893e2eab90821
wallet=$BITCOIN_WALLET_NAME
wallet=$BITCOIN_MINING_NAME
wallet=watchonly
maxtxfee=1
addnode=tlv2yqamflv22vfdzy2hha2nwmt6zrwrhjjzz4lx7qyq7lyc6wfhabyd.onion

View File

@ -1,8 +1,8 @@
# Configuration Blindbit Oracle
host = "0.0.0.0:$BLINDBIT_PORT"
host = "0.0.0.0:$BLINDBIT_ORACLE_PORT"
chain = "signet"
rpc_endpoint = "$BITCOIN_RPC_URL"
cookie_path = "$BITCOIN_COOKIE_PATH"
cookie_path = "$BITCOIN_DATAS_DIR/.cookie"
rpc_user = ""
rpc_pass = ""
sync_start_height = 1

View File

@ -1,6 +1,6 @@
GF_SECURITY_ADMIN_PASSWORD=Fuy8ZfxQI2xdSdoB8wsGxNjyU
GF_SECURITY_ADMIN_PASSWORD=$GRAFANA_ADMIN_PASSWORD
GF_USERS_ALLOW_SIGN_UP=false
GF_SERVER_ROOT_URL=$ROOT_URL$URL_ROUTE_GRAFAN
GF_SERVER_ROOT_URL=$ROOT_URL$GRAFANA_URL_ROUTE
GF_PLUGINS_PREINSTALL_SYNC=grafana-clock-panel,grafana-simple-json-datasource
GRAFANA_ADMIN_USER=$GRAFANA_ADMIN_USER
GRAFANA_ADMIN_PASSWORD=$GRAFANA_ADMIN_PASSWORD

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$4NK_WEB_STATUS_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - ",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$4NK_WEB_STATUS_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - ",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$4NK_WEB_STATUS_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$4NK_WEB_STATUS_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - ",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": " - Monitoring",
"uid": "",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$4NK_CERTIFICATOR_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - 4nk-certificator",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$4NK_CERTIFICATOR_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - 4nk-certificator",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$4NK_CERTIFICATOR_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$4NK_CERTIFICATOR_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - 4nk-certificator",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"4nk-certificator",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "4nk-certificator - Monitoring",
"uid": "4nk-certificator",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$4NK_MINER_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - 4nk-miner",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$4NK_MINER_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - 4nk-miner",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$4NK_MINER_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$4NK_MINER_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - 4nk-miner",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"4nk-miner",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "4nk-miner - Monitoring",
"uid": "4nk-miner",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$4NK_VAULT_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - 4nk-vault",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$4NK_VAULT_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - 4nk-vault",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$4NK_VAULT_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$4NK_VAULT_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - 4nk-vault",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"4nk-vault",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "4nk-vault - Monitoring",
"uid": "4nk-vault",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$4NK_WEB_STATUS_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - 4nk-web-status",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$4NK_WEB_STATUS_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - 4nk-web-status",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$4NK_WEB_STATUS_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$4NK_WEB_STATUS_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - 4nk-web-status",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"4nk-web-status",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "4nk-web-status - Monitoring",
"uid": "4nk-web-status",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$BITCOIN_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - bitcoin",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$BITCOIN_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - bitcoin",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$BITCOIN_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$BITCOIN_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - bitcoin",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"bitcoin",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "bitcoin - Monitoring",
"uid": "bitcoin",
"version": 1,
"weekStart": ""
}

View File

@ -1,28 +1,66 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
"list": []
},
"editable": true,
"gnetId": null,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": "Loki",
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"custom": {}
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
@ -34,25 +72,82 @@
},
"id": 1,
"options": {
"showLabels": false,
"showTime": false,
"sortOrder": "Descending",
"wrapLogMessage": false
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"expr": "{job=\"blindbit\"} |= \"Host configuration loaded\"",
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$BLINDBIT_ORACLE_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "BlindBit Oracle - Configuration Loaded",
"type": "logs"
"title": "Logs INFO - blindbit-oracle",
"type": "timeseries"
},
{
"datasource": "Loki",
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"custom": {}
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
@ -64,117 +159,138 @@
},
"id": 2,
"options": {
"showLabels": false,
"showTime": false,
"sortOrder": "Descending",
"wrapLogMessage": false
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"expr": "{job=\"blindbit\"} |= \"Sync took\"",
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$BLINDBIT_ORACLE_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "BlindBit Oracle - Synchronization",
"type": "logs"
"title": "Erreurs - blindbit-oracle",
"type": "timeseries"
},
{
"datasource": "Loki",
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"custom": {}
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 24,
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"showLabels": false,
"showTime": false,
"sortOrder": "Descending",
"wrapLogMessage": false
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"expr": "{job=\"blindbit\"} |= \"successfully processed block\"",
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$BLINDBIT_ORACLE_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "BlindBit Oracle - Block Processing",
"type": "logs"
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": "Loki",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 12,
"w": 24,
"x": 0,
"y": 16
"y": 12
},
"id": 4,
"options": {
"showLabels": false,
"showTime": false,
"sortOrder": "Descending",
"wrapLogMessage": false
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"expr": "{job=\"blindbit\"} |= \"GET\" |~ \"/tweaks/\"",
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$BLINDBIT_ORACLE_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "BlindBit Oracle - API Requests",
"type": "logs"
},
{
"datasource": "Loki",
"fieldConfig": {
"defaults": {
"custom": {}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 16
},
"id": 5,
"options": {
"showLabels": false,
"showTime": false,
"sortOrder": "Descending",
"wrapLogMessage": false
},
"targets": [
{
"expr": "{job=\"blindbit\"} |~ \"ERROR|error|Error\"",
"refId": "A"
}
],
"title": "BlindBit Oracle - Errors",
"title": "Logs d'Erreur - blindbit-oracle",
"type": "logs"
}
],
"schemaVersion": 27,
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"blindbit",
"oracle",
"blockchain"
"blindbit-oracle",
"auto-generated"
],
"templating": {
"list": []
@ -185,8 +301,8 @@
},
"timepicker": {},
"timezone": "",
"title": "BlindBit Oracle Dashboard",
"title": "blindbit-oracle - Monitoring",
"uid": "blindbit-oracle",
"version": 1
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$GRAFANA_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - grafana",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$GRAFANA_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - grafana",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$GRAFANA_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$GRAFANA_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - grafana",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"grafana",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "grafana - Monitoring",
"uid": "grafana",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$IHM_CLIENT_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - ihm-client",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$IHM_CLIENT_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - ihm-client",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$IHM_CLIENT_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$IHM_CLIENT_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - ihm-client",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"ihm-client",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "ihm-client - Monitoring",
"uid": "ihm-client",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$LECOFFRE_FRONT_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - lecoffre-front",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$LECOFFRE_FRONT_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - lecoffre-front",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$LECOFFRE_FRONT_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$LECOFFRE_FRONT_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - lecoffre-front",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"lecoffre-front",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "lecoffre-front - Monitoring",
"uid": "lecoffre-front",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$LOKI_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - loki",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$LOKI_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - loki",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$LOKI_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$LOKI_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - loki",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"loki",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "loki - Monitoring",
"uid": "loki",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$POSTGRESQL_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - postgresql",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$POSTGRESQL_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - postgresql",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$POSTGRESQL_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$POSTGRESQL_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - postgresql",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"postgresql",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "postgresql - Monitoring",
"uid": "postgresql",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$PROMTAIL_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - promtail",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$PROMTAIL_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - promtail",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$PROMTAIL_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$PROMTAIL_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - promtail",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"promtail",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "promtail - Monitoring",
"uid": "promtail",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$REDIS_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - redis",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$REDIS_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - redis",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$REDIS_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$REDIS_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - redis",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"redis",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "redis - Monitoring",
"uid": "redis",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$SDK_RELAY_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - sdk-relay",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$SDK_RELAY_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - sdk-relay",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$SDK_RELAY_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$SDK_RELAY_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - sdk-relay",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"sdk-relay",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "sdk-relay - Monitoring",
"uid": "sdk-relay",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$SDK_STORAGE_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - sdk-storage",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$SDK_STORAGE_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - sdk-storage",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$SDK_STORAGE_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$SDK_STORAGE_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - sdk-storage",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"sdk-storage",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "sdk-storage - Monitoring",
"uid": "sdk-storage",
"version": 1,
"weekStart": ""
}

View File

@ -1,25 +1,6 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
@ -86,7 +67,7 @@
},
"gridPos": {
"h": 8,
"w": 6,
"w": 24,
"x": 0,
"y": 0
},
@ -102,83 +83,6 @@
"sort": "none"
}
},
"title": "LeCoffre Backend - Volume Logs",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 6,
"x": 6,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
@ -186,222 +90,19 @@
"uid": "loki"
},
"editorMode": "code",
"expr": "sum by (service) (count_over_time({job=\"lecoffre-front\"} [5m]))",
"expr": "sum by (container) (count_over_time({container=~\"$bitcoin_DOCKER_NAME|$blindbit-oracle_DOCKER_NAME|$sdk_relay_DOCKER_NAME|$sdk_storage_DOCKER_NAME|$ihm_client_DOCKER_NAME|$lecoffre-front_DOCKER_NAME\"} |= \"ERROR\" [5m]))",
"queryType": "",
"refId": "A"
}
],
"title": "LeCoffre Frontend - Volume Logs",
"title": "Erreurs par Service (5 dernières minutes)",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 6,
"x": 12,
"y": 0
},
"id": 3,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum by (service) (count_over_time({job=\"ihm_client\"} [5m]))",
"queryType": "",
"refId": "A"
}
],
"title": "IHM Client - Volume Logs",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 6,
"x": 18,
"y": 0
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum by (service) (count_over_time({job=\"sdk_relay\"} [5m]))",
"queryType": "",
"refId": "A"
}
],
"title": "SDK Relay - Volume Logs",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 12,
"w": 24,
"x": 0,
"y": 8
},
"id": 5,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"title": "Logs d'Erreur - Services Applications",
"type": "logs"
}
],
"refresh": "30s",
"schemaVersion": 36,
"style": "dark",
"tags": ["services", "applications"],
"tags": ["overview", "auto-generated"],
"templating": {
"list": []
},
@ -411,8 +112,8 @@
},
"timepicker": {},
"timezone": "",
"title": "Services Applications - Monitoring",
"uid": "services-overview",
"title": "Services Overview - Auto Generated",
"uid": "services-overview-auto",
"version": 1,
"weekStart": ""
}

View File

@ -0,0 +1,308 @@
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$TOR_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - tor",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"$TOR_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - tor",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"$TOR_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"$TOR_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - tor",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"tor",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "tor - Monitoring",
"uid": "tor",
"version": 1,
"weekStart": ""
}

View File

@ -14,7 +14,7 @@ enforce_domain = false
# Configuration de sécurité
admin_user = $GRAFANA_ADMIN_USER
admin_password = $GRAFANA_ADMIN_PASSWORD
secret_key = lecoffre_grafana_secret_key_2025
secret_key = $GRAFANA_SECRET_KEY
# Configuration des sessions
cookie_secure = true

View File

@ -1,7 +1,7 @@
NEXT_PUBLIC_4NK_IFRAME_URL=$IHM_CLIENT_URL
VITE_JWT_SECRET_KEY=$VITE_JWT_SECRET_KEY
VITE_API_BASE_URL=$LECOFFRE_BACK_URL
VITE_WS_URL=$RELAY_URL
VITE_WS_URL=$SDK_RELAY_URL
VITE_SIGNER_URL=$SIGNER_URL
VITE_BOOTSTRAPURL=$RELAY_BOOSTRAP_URL
VITE_BOOTSTRAPURL=$RELAY_BOOTSTRAP_URL
RELAY_URLS=$RELAY_URLS

View File

@ -2,7 +2,7 @@ auth_enabled: false
server:
http_listen_port: $LOKI_PORT
grpc_listen_port: 9096
grpc_listen_port: $LOKI_PORT2
http_listen_address: 0.0.0.0
grpc_listen_address: 0.0.0.0
@ -29,7 +29,7 @@ schema_config:
period: 24h
ruler:
alertmanager_url: http://localhost:$LOKI_PORT
alertmanager_url: $LOKI_URL
# Configuration de l'ingester - SEULEMENT le paramètre crucial
ingester:

View File

@ -1 +1 @@
PROMTAIL_CONFIG_FILE=$PROMTAIL_CONF_DIR/config.yml
PROMTAIL_CONFIG_FILE=$PROMTAIL_CONFS_DIR/config.yml

View File

@ -9,85 +9,166 @@ clients:
- url: $LOKI_URL/loki/api/v1/push
scrape_configs:
# Bitcoin Signet Logs
- job_name: bitcoin
# REDIS Logs
- job_name: $REDIS_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: bitcoin
service: bitcoin-signet
job: $REDIS_DOCKER_NAME
service: $REDIS_DOCKER_NAME
__path__: $REDIS_LOGS_DIR/*.log
# POSTGRESQL Logs
- job_name: $POSTGRESQL_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: $POSTGRESQL_DOCKER_NAME
service: $POSTGRESQL_DOCKER_NAME
__path__: $POSTGRESQL_LOGS_DIR/*.log
# LOKI Logs
- job_name: $LOKI_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: $LOKI_DOCKER_NAME
service: $LOKI_DOCKER_NAME
__path__: $LOKI_LOGS_DIR/*.log
# PROMTAIL Logs
- job_name: $PROMTAIL_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: $PROMTAIL_DOCKER_NAME
service: $PROMTAIL_DOCKER_NAME
__path__: $PROMTAIL_LOGS_DIR/*.log
# GRAFANA Logs
- job_name: $GRAFANA_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: $GRAFANA_DOCKER_NAME
service: $GRAFANA_DOCKER_NAME
__path__: $GRAFANA_LOGS_DIR/*.log
# 4NK_VAULT Logs
- job_name: $4NK_VAULT_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: $4NK_VAULT_DOCKER_NAME
service: $4NK_VAULT_DOCKER_NAME
__path__: $4NK_VAULT_LOGS_DIR/*.log
# TOR Logs
- job_name: $TOR_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: $TOR_DOCKER_NAME
service: $TOR_DOCKER_NAME
__path__: $TOR_LOGS_DIR/*.log
# BITCOIN Logs
- job_name: $BITCOIN_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: $BITCOIN_DOCKER_NAME
service: $BITCOIN_DOCKER_NAME
__path__: $BITCOIN_LOGS_DIR/*.log
# Blindbit Oracle Logs
- job_name: blindbit
# BLINDBIT_ORACLE Logs
- job_name: $BLINDBIT_ORACLE_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: blindbit
service: blindbit-oracle
__path__: $BLINDBIT_LOGS_DIR/*.log
job: $BLINDBIT_ORACLE_DOCKER_NAME
service: $BLINDBIT_ORACLE_DOCKER_NAME
__path__: $BLINDBIT_ORACLE_LOGS_DIR/*.log
# SDK Relay Logs
- job_name: sdk_relay
# SDK_RELAY Logs
- job_name: $SDK_RELAY_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: sdk_relay
service: sdk_relay
job: $SDK_RELAY_DOCKER_NAME
service: $SDK_RELAY_DOCKER_NAME
__path__: $SDK_RELAY_LOGS_DIR/*.log
# SDK Storage Logs
- job_name: sdk_storage
# SDK_STORAGE Logs
- job_name: $SDK_STORAGE_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: sdk_storage
service: sdk_storage
job: $SDK_STORAGE_DOCKER_NAME
service: $SDK_STORAGE_DOCKER_NAME
__path__: $SDK_STORAGE_LOGS_DIR/*.log
# LeCoffre Frontend Logs
- job_name: lecoffre-front
# IHM_CLIENT Logs
- job_name: $IHM_CLIENT_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: lecoffre-front
service: lecoffre-front
__path__: $LECOFFRE_FRONT_LOGS_DIR/*.log
# IHM Client Logs
- job_name: ihm_client
static_configs:
- targets:
- localhost
labels:
job: ihm_client
service: ihm_client
job: $IHM_CLIENT_DOCKER_NAME
service: $IHM_CLIENT_DOCKER_NAME
__path__: $IHM_CLIENT_LOGS_DIR/*.log
# Miner Logs
- job_name: miner
# 4NK_CERTIFICATOR Logs
- job_name: $4NK_CERTIFICATOR_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: miner
service: signet_miner
__path__: $MINER_LOGS_DIR/*.log
job: $4NK_CERTIFICATOR_DOCKER_NAME
service: $4NK_CERTIFICATOR_DOCKER_NAME
__path__: $4NK_CERTIFICATOR_LOGS_DIR/*.log
# Tor Logs
- job_name: tor
# 4NK_MINER Logs
- job_name: $4NK_MINER_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: tor
service: tor-proxy
__path__: $TOR_LOGS_DIR/*.log
job: $4NK_MINER_DOCKER_NAME
service: $4NK_MINER_DOCKER_NAME
__path__: $4NK_MINER_LOGS_DIR/*.log
# LECOFFRE_FRONT Logs
- job_name: $LECOFFRE_FRONT_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: $LECOFFRE_FRONT_DOCKER_NAME
service: $LECOFFRE_FRONT_DOCKER_NAME
__path__: $LECOFFRE_FRONT_LOGS_DIR/*.log
# 4NK_WEB_STATUS Logs
- job_name: $4NK_WEB_STATUS_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: $4NK_WEB_STATUS_DOCKER_NAME
service: $4NK_WEB_STATUS_DOCKER_NAME
__path__: $4NK_WEB_STATUS_LOGS_DIR/*.log
# Docker Container Logs
- job_name: docker

View File

@ -1,13 +1,13 @@
core_url="$BITCOIN_RPC_URL"
ws_url="$RELAY_URL"
ws_url="$SDK_RELAY_URL"
wallet_name="default"
network="signet"
blindbit_url="$BLINDBIT_URL"
blindbit_url="$BLINDBIT_ORACLE_URL"
zmq_url=$ZMQ_URL
storage=$STORAGE_URL
data_dir=$SDK_RELAY_DATA_DIR
bitcoin_data_dir=$SDK_RELAY_DATA_DIR
bootstrap_url=$RELAY_BOOSTRAP_URL
storage=$SDK_STORAGE_URL
data_dir=$SDK_RELAY_DATAS_DIR
bitcoin_data_dir=$SDK_RELAY_DATAS_DIR
bootstrap_url=$RELAY_BOOTSTRAP_URL
bootstrap_faucet=true
RUST_LOG="DEBUG,reqwest=DEBUG,tokio_tungstenite=DEBUG"
NODE_OPTIONS="--max-old-space-size=2048"

View File

@ -1,14 +1,12 @@
SDK_RELAY_WS_URL=$RELAY_URL
SDK_RELAY_WS_URL=$SDK_RELAY_URL
SDK_RELAY_WALLET_NAME=$BITCOIN_WALLET_NAME
SDK_RELAY_NETWORK=signet
SDK_RELAY_BLINDBIT_URL=$BLINDBIT_URL
SDK_RELAY_STORAGE=$STORAGE_URL
SDK_RELAY_DATA_DIR=$SDK_RELAY_DATA_DIR
SDK_RELAY_BOOTSTRAP_URL=$RELAY_BOOSTRAP_URL
SDK_RELAY_BLINDBIT_ORACLE_URL=$BLINDBIT_ORACLE_URL
SDK_RELAY_STORAGE=$SDK_STORAGE_URL
SDK_RELAY_DATAS_DIR=$SDK_RELAY_DATAS_DIR
SDK_RELAY_BOOTSTRAP_URL=$RELAY_BOOTSTRAP_URL
SDK_RELAY_BOOTSTRAP_FAUCET=https://$BOOTSTRAP_HOST/api/v1/faucet
SDK_RELAY_CORE_URL=$BITCOIN_RPC_URL
SDK_RELAY_NETWORK=signet
SDK_RELAY_ZMQ_URL=tcp://$BITCOIN_DOCKER_NAME:$BITCOIN_ZMQPBUBHASHBLOCK_PORT
SDK_RELAY_BITCOIN_DATA_DIR=$BITCOIN_DATA_DIR
SDK_RELAY_BITCOIN_DATAS_DIR=$BITCOIN_DATAS_DIR
HOME=/$SDK_RELAY_DOCKER_NAME

View File

@ -3,8 +3,8 @@
# ===========================================
# Configuration SDK Storage
STORAGE_URL=$STORAGE_URL
STORAGE_PORT=$STORAGE_PORT
STORAGE_DATA_DIR=$SDK_STORAGE_DATA_DIR
VITE_STORAGE_URL=$SDK_STORAGE_DATA_DIR
SDK_STORAGE_URL=$SDK_STORAGE_URL
SDK_STORAGE_PORT=$SDK_STORAGE_PORT
STORAGE_DATA_DIR=$SDK_STORAGE_DATAS_DIR
VITE_SDK_STORAGE_URL=$SDK_STORAGE_DATAS_DIR
DOMAIN=$DOMAIN

View File

@ -0,0 +1,654 @@
#!/bin/bash
# Script pour générer automatiquement les dashboards Grafana
# basés sur les modules définis dans les variables d'environnement
# Fonction pour charger les variables d'environnement
load_env_files() {
local env_files=(".env.secrets" ".env" ".env.auto" ".env.post")
for env_file in "${env_files[@]}"; do
if [ -f "$env_file" ]; then
echo "📄 Chargement de $env_file..."
source "$env_file" 2>/dev/null || true
else
echo "⚠️ Fichier $env_file non trouvé, ignoré."
fi
done
}
# Fonction pour générer un dashboard de base pour un service
generate_service_dashboard() {
local SERVICE="$1"
local SERVICE_NAME="$2"
local DASHBOARD_TYPE="$3"
echo "🔧 Génération du dashboard pour $SERVICE ($SERVICE_NAME)"
# Créer le répertoire si nécessaire
mkdir -p "4NK_modules/grafana/dashboards"
# Générer le nom du fichier
local DASHBOARD_FILE="4NK_modules/grafana/dashboards/${SERVICE_NAME}.json"
# Générer le contenu JSON du dashboard
cat > "$DASHBOARD_FILE" << EOF
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"\$${SERVICE}_DOCKER_NAME\"} |= \"INFO\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Logs INFO - $SERVICE_NAME",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 0
},
"id": 2,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum(rate({container=\"\$${SERVICE}_DOCKER_NAME\"} |= \"ERROR\" [5m])) by (container)",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs - $SERVICE_NAME",
"type": "timeseries"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 8
},
"id": 3,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "auto"
},
"pluginVersion": "10.0.0",
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "count_over_time({container=\"\$${SERVICE}_DOCKER_NAME\"} |= \"ERROR\" [1h])",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs (1h)",
"type": "stat"
},
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 12
},
"id": 4,
"options": {
"showTime": false,
"showLabels": false,
"showCommonLabels": false,
"wrapLogMessage": false,
"prettifyLogMessage": false,
"enableLogDetails": true,
"dedupStrategy": "none",
"sortOrder": "Descending"
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "{container=\"\$${SERVICE}_DOCKER_NAME\"} |= \"ERROR\" | line_format \"{{.timestamp}} - {{.message}}\"",
"queryType": "",
"refId": "A"
}
],
"title": "Logs d'Erreur - $SERVICE_NAME",
"type": "logs"
}
],
"refresh": "5s",
"schemaVersion": 37,
"style": "dark",
"tags": [
"$SERVICE_NAME",
"auto-generated"
],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "$SERVICE_NAME - Monitoring",
"uid": "$(echo $SERVICE_NAME | tr '[:upper:]' '[:lower:]' | tr '_' '-')",
"version": 1,
"weekStart": ""
}
EOF
echo "✅ Dashboard généré: $DASHBOARD_FILE"
}
# Fonction pour générer un dashboard overview
generate_overview_dashboard() {
echo "🔧 Génération du dashboard overview"
mkdir -p "4NK_modules/grafana/dashboards"
cat > "4NK_modules/grafana/dashboards/services-overview.json" << EOF
{
"annotations": {
"list": []
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 10,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"vis": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "never",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 24,
"x": 0,
"y": 0
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "loki",
"uid": "loki"
},
"editorMode": "code",
"expr": "sum by (container) (count_over_time({container=~\"\$${BITCOIN}_DOCKER_NAME|\$${BLINDBIT_ORACLE}_DOCKER_NAME|\$${SDK_RELAY}_DOCKER_NAME|\$${SDK_STORAGE}_DOCKER_NAME|\$${IHM_CLIENT}_DOCKER_NAME|\$${LECOFFRE_FRONT}_DOCKER_NAME\"} |= \"ERROR\" [5m]))",
"queryType": "",
"refId": "A"
}
],
"title": "Erreurs par Service (5 dernières minutes)",
"type": "timeseries"
}
],
"refresh": "30s",
"schemaVersion": 36,
"style": "dark",
"tags": ["overview", "auto-generated"],
"templating": {
"list": []
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Services Overview - Auto Generated",
"uid": "services-overview-auto",
"version": 1,
"weekStart": ""
}
EOF
echo "✅ Dashboard overview généré"
}
# Fonction pour générer le fichier promtail.yml
generate_promtail_config() {
echo "🔧 Génération du fichier promtail.yml"
# Créer le répertoire si nécessaire
mkdir -p "4NK_modules/promtail"
# Générer le fichier promtail.yml
cat > "4NK_modules/promtail/promtail.yml" << 'EOF'
server:
http_listen_port: $PROMTAIL_PORT
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: $LOKI_URL/loki/api/v1/push
scrape_configs:
EOF
# Générer les configurations pour chaque service
for SERVICE_VAR in "${SERVICES[@]}"; do
# Ajouter la configuration pour ce service
cat >> "4NK_modules/promtail/promtail.yml" << EOF
# ${SERVICE_VAR} Logs
- job_name: \$${SERVICE_VAR}_DOCKER_NAME
static_configs:
- targets:
- localhost
labels:
job: \$${SERVICE_VAR}_DOCKER_NAME
service: \$${SERVICE_VAR}_DOCKER_NAME
__path__: \$${SERVICE_VAR}_LOGS_DIR/*.log
EOF
done
# Ajouter la configuration Docker
cat >> "4NK_modules/promtail/promtail.yml" << 'EOF'
# Docker Container Logs
- job_name: docker
docker_sd_configs:
- host: unix:///var/run/docker.sock
refresh_interval: 5s
filters:
- name: label
values: ["com.centurylinklabs.watchtower.enable=true"]
relabel_configs:
- source_labels: ['__meta_docker_container_name']
regex: '/?(.*)'
target_label: 'container_name'
- source_labels: ['__meta_docker_container_log_stream']
target_label: 'logstream'
- source_labels: ['__meta_docker_container_label_logging_job_name']
target_label: 'job'
EOF
echo "✅ Configuration promtail.yml générée"
}
# Fonction pour générer les fichiers de configuration logrotate
generate_logrotate_configs() {
echo "🔧 Génération des configurations logrotate"
# Créer le répertoire si nécessaire
mkdir -p "logrotade"
# Générer les configurations pour chaque service
for SERVICE_VAR in "${SERVICES[@]}"; do
local CONFIG_FILE="logrotade/${SERVICE_VAR,,}.conf"
echo "📄 Génération de $CONFIG_FILE"
cat > "$CONFIG_FILE" << EOF
\$${SERVICE_VAR}_LOGS_DIR/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart \$${SERVICE_VAR}_DOCKER_NAME 2>/dev/null || true
endscript
}
EOF
done
echo "✅ Configurations logrotate générées pour ${#SERVICES[@]} services"
}
# Fonction pour déterminer le type de service
get_service_type() {
local service="$1"
case "$service" in
"BITCOIN"|"BLINDBIT_ORACLE") echo "blockchain" ;;
"SDK_RELAY"|"SDK_STORAGE") echo "sdk" ;;
"IHM_CLIENT"|"LECOFFRE_FRONT") echo "frontend" ;;
"4NK_MINER") echo "mining" ;;
"REDIS"|"POSTGRESQL"|"LOKI"|"PROMTAIL"|"GRAFANA") echo "infrastructure" ;;
*) echo "service" ;;
esac
}
# Fonction pour déterminer le nom du dashboard
get_dashboard_name() {
local service="$1"
case "$service" in
"BITCOIN") echo "bitcoin" ;;
"BLINDBIT_ORACLE") echo "blindbit-oracle" ;;
"SDK_RELAY") echo "sdk-relay" ;;
"SDK_STORAGE") echo "sdk-storage" ;;
"IHM_CLIENT") echo "ihm-client" ;;
"LECOFFRE_FRONT") echo "lecoffre-front" ;;
"4NK_MINER") echo "4nk-miner" ;;
"4NK_CERTIFICATOR") echo "4nk-certificator" ;;
"4NK_WEB_STATUS") echo "4nk-web-status" ;;
"4NK_VAULT") echo "4nk-vault" ;;
*) echo "${service,,}" ;; # Convertir en minuscules
esac
}
# Fonction principale
main() {
echo "🚀 GÉNÉRATION AUTOMATIQUE DES DASHBOARDS GRAFANA"
echo "=================================================="
# Charger les variables d'environnement
load_env_files
# Créer le répertoire des dashboards
mkdir -p "4NK_modules/grafana/dashboards"
echo "📋 Génération des dashboards pour ${#SERVICES[@]} services..."
# Générer les dashboards en boucle depuis la variable SERVICES
for SERVICE_VAR in "${SERVICES[@]}"; do
# Déterminer le nom du dashboard et le type de service
local DASHBOARD_NAME=$(get_dashboard_name "$SERVICE_VAR")
local SERVICE_TYPE=$(get_service_type "$SERVICE_VAR")
echo "🔄 Traitement de $SERVICE_VAR -> $DASHBOARD_NAME ($SERVICE_TYPE)"
# Générer le dashboard pour ce service
generate_service_dashboard "$SERVICE_VAR" "$DASHBOARD_NAME" "$SERVICE_TYPE"
done
# Générer le dashboard overview
echo "🔄 Génération du dashboard overview..."
generate_overview_dashboard
# Générer la configuration Promtail
echo "🔄 Génération de la configuration Promtail..."
generate_promtail_config
# Générer les configurations logrotate
echo "🔄 Génération des configurations logrotate..."
generate_logrotate_configs
echo ""
echo "✅ GÉNÉRATION TERMINÉE !"
echo "📁 Dashboards générés dans: 4NK_modules/grafana/dashboards/"
echo "📁 Configuration Promtail: 4NK_modules/promtail/promtail.yml"
echo "📁 Configurations logrotate: logrotade/*.conf"
echo "🔧 Les dashboards utilisent les variables d'environnement pour les noms de containers"
echo "📊 Services traités: ${#SERVICES[@]}"
}
# Exécuter le script principal
main "$@"

View File

@ -39,30 +39,30 @@ generate_variables() {
echo ""
echo "${VARIABLE}_DOCKER_NAME=\$${VARIABLE}"
echo "${VARIABLE}_CONFS_DIR=\$DOCKER_GLOBAL/confs/\$${VARIABLE}"
echo "${VARIABLE}_LOGS_DIR=\$DOCKER_GLOBAL/logs/\$${VARIABLE}"
echo "${VARIABLE}_RUNS_DIR=\$DOCKER_GLOBAL/runs/\$${VARIABLE}"
echo "${VARIABLE}_DATAS_DIR=\$DOCKER_GLOBAL/datas/\$${VARIABLE}"
echo "${VARIABLE}_BACKUPS_DIR=\$DOCKER_GLOBAL/backups/\$${VARIABLE}"
echo "${VARIABLE}_SCRIPTS_DIR=\$DOCKER_GLOBAL/scripts/\$${VARIABLE}"
echo "${VARIABLE}_CONFS_DIR=\/home/debian/4NK_env/DOCKER_GLOBAL_NAME/confs/\$${VARIABLE}"
echo "${VARIABLE}_LOGS_DIR=\/home/debian/4NK_env/DOCKER_GLOBAL_NAME/logs/\$${VARIABLE}"
echo "${VARIABLE}_RUNS_DIR=\/home/debian/4NK_env/DOCKER_GLOBAL_NAME/runs/\$${VARIABLE}"
echo "${VARIABLE}_DATAS_DIR=\/home/debian/4NK_env/DOCKER_GLOBAL_NAME/datas/\$${VARIABLE}"
echo "${VARIABLE}_BACKUPS_DIR=\/home/debian/4NK_env/DOCKER_GLOBAL_NAME/backups/\$${VARIABLE}"
echo "${VARIABLE}_SCRIPTS_DIR=\/home/debian/4NK_env/DOCKER_GLOBAL_NAME/scripts/\$${VARIABLE}"
echo "${VARIABLE}_DOCKER_WORKING_DIR=/home/\$${VARIABLE}"
echo ""
echo "${VARIABLE}_DOCKER_CONFS_DIR=\$DOCKER_GLOBAL/confs/\$${VARIABLE}"
echo "${VARIABLE}_DOCKER_LOGS_DIR=\$DOCKER_GLOBAL/logs/\$${VARIABLE}"
echo "${VARIABLE}_DOCKER_RUNS_DIR=\$DOCKER_GLOBAL/runs/\$${VARIABLE}"
echo "${VARIABLE}_DOCKER_DATAS_DIR=\$DOCKER_GLOBAL/datas/\$${VARIABLE}"
echo "${VARIABLE}_DOCKER_BACKUPS_DIR=\$DOCKER_GLOBAL/backups/\$${VARIABLE}"
echo "${VARIABLE}_DOCKER_SCRIPTS_DIR=\$DOCKER_GLOBAL/scripts/\$${VARIABLE}"
echo "${VARIABLE}_DOCKER_CONFS_DIR=\/home/debian/4NK_env/DOCKER_GLOBAL_NAME/confs/\$${VARIABLE}"
echo "${VARIABLE}_DOCKER_LOGS_DIR=\/home/debian/4NK_env/DOCKER_GLOBAL_NAME/logs/\$${VARIABLE}"
echo "${VARIABLE}_DOCKER_RUNS_DIR=\/home/debian/4NK_env/DOCKER_GLOBAL_NAME/runs/\$${VARIABLE}"
echo "${VARIABLE}_DOCKER_DATAS_DIR=\/home/debian/4NK_env/DOCKER_GLOBAL_NAME/datas/\$${VARIABLE}"
echo "${VARIABLE}_DOCKER_BACKUPS_DIR=\/home/debian/4NK_env/DOCKER_GLOBAL_NAME/backups/\$${VARIABLE}"
echo "${VARIABLE}_DOCKER_SCRIPTS_DIR=\/home/debian/4NK_env/DOCKER_GLOBAL_NAME/scripts/\$${VARIABLE}"
echo "${VARIABLE}_DOCKER_WORKING_DIR=/home/\$${VARIABLE}"
echo ""
echo "${VARIABLE}_DOCKER_WORKING_DIR_CREATE=\"id -u \$${VARIABLE} >/dev/null 2>&1 || adduser --disabled-password --gecos '' \$${VARIABLE}; chown -R \$${VARIABLE}:\$${VARIABLE} /home/root/.\$${VARIABLE} || echo 'warn: chown partiel (fichiers bind-mount Windows)'; exec \\\"\$@\\\"\""
echo "${VARIABLE}_URL_ROUTE=/\$${VARIABLE}"
echo "${VARIABLE}_URL=\$ROOT_URL_INTERNAL\\\$${VARIABLE}_DOCKER_NAME:\$${VARIABLE}_DOCKER_PORT"
echo "${VARIABLE}_URL_EXTERNAL=\$ROOT_URL\$${VARIABLE}_URL_ROUTE"
echo "${VARIABLE}_URL_WS=\$ROOT_URL_WS_INTERNAL\\\$${VARIABLE}_DOCKER_PORT"
echo "${VARIABLE}_URL_WS_EXTERNAL=\$ROOT_URL_WS\ws"
echo "${VARIABLE}_URL=\http://\\\$${VARIABLE}_DOCKER_NAME:\$${VARIABLE}_DOCKER_PORT"
echo "${VARIABLE}_URL_EXTERNAL=\https://dev4.4nkweb.com\$${VARIABLE}_URL_ROUTE"
echo "${VARIABLE}_URL_WS=\ws://\\\$${VARIABLE}_DOCKER_PORT"
echo "${VARIABLE}_URL_WS_EXTERNAL=\wss://dev4.4nkweb.com\ws"
echo ""
echo "
\$${VARIABLE}_DOCKER_NAME:
@ -144,4 +144,4 @@ networks:
" >> docker-compose.yml.auto
mv docker-compose.yml.auto $DOCKER_GLOBAL_NAME/docker-compose.yml.auto -f
mv docker-compose.yml.auto projects/lecoffre/projects/lecoffre/projects/lecoffre/projects/lecoffre/projects/lecoffre/projects/lecoffre/projects/lecoffre/projects/lecoffre/projects/lecoffre/projects/lecoffre/projects/lecoffre/projects/lecoffre//home/debian/4NK_env/DOCKER_GLOBAL_NAME_NAME/docker-compose.yml.auto -f

View File

@ -0,0 +1,13 @@
$4NK_CERTIFICATOR_LOGS_DIR/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart $4NK_CERTIFICATOR_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -0,0 +1,13 @@
$4NK_MINER_LOGS_DIR/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart $4NK_MINER_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -0,0 +1,13 @@
$4NK_VAULT_LOGS_DIR/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart $4NK_VAULT_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -0,0 +1,13 @@
$4NK_WEB_STATUS_LOGS_DIR/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart $4NK_WEB_STATUS_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -8,6 +8,6 @@ $BITCOIN_LOGS_DIR/*.log {
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart bitcoin 2>/dev/null || true
docker restart $BITCOIN_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -1,4 +1,4 @@
$BLINDBIT_LOGS_DIR/*.log {
$BLINDBIT_ORACLE_LOGS_DIR/*.log {
daily
missingok
rotate 7

View File

@ -0,0 +1,13 @@
$BLINDBIT_ORACLE_LOGS_DIR/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart $BLINDBIT_ORACLE_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -0,0 +1,13 @@
$GRAFANA_LOGS_DIR/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart $GRAFANA_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -8,6 +8,6 @@ $IHM_CLIENT_LOGS_DIR/*.log {
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart ihm_client 2>/dev/null || true
docker restart $IHM_CLIENT_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -1,4 +1,4 @@
$MINER_LOGS_DIR/*.log {
$4NK_MINER_LOGS_DIR/*.log {
daily
missingok
rotate 7

View File

@ -0,0 +1,13 @@
$LECOFFRE_FRONT_LOGS_DIR/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart $LECOFFRE_FRONT_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -0,0 +1,13 @@
$LOKI_LOGS_DIR/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart $LOKI_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -1,4 +1,4 @@
$ROOT_DIR_LOGS_MINER/*.log {
/home/debian/4NK_env_LOGS_MINER/*.log {
daily
missingok
rotate 7

View File

@ -1,4 +1,4 @@
$NGINX_LOGS_DIR/*.log {
/home/debian/4NK_env_LOGS/nginx/*.log {
daily
missingok
rotate 7

View File

@ -0,0 +1,13 @@
$POSTGRESQL_LOGS_DIR/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart $POSTGRESQL_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -0,0 +1,13 @@
$PROMTAIL_LOGS_DIR/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart $PROMTAIL_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -0,0 +1,13 @@
$REDIS_LOGS_DIR/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart $REDIS_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -8,6 +8,6 @@ $SDK_RELAY_LOGS_DIR/*.log {
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart sdk_relay 2>/dev/null || true
docker restart $SDK_RELAY_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -8,6 +8,6 @@ $SDK_STORAGE_LOGS_DIR/*.log {
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart sdk_storage 2>/dev/null || true
docker restart $SDK_STORAGE_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -8,6 +8,6 @@ $TOR_LOGS_DIR/*.log {
create 644 root root
postrotate
# Redémarrer le service si nécessaire
docker restart tor 2>/dev/null || true
docker restart $TOR_DOCKER_NAME 2>/dev/null || true
endscript
}

View File

@ -21,7 +21,7 @@ log_compression=true
[services]
# Services surveillés
services=bitcoin,blindbit,sdk_relay,,sdk_storagelecoffre-front,ihm_client,tor,miner
services=bitcoin,blindbit,sdk_relay,sdk_storagelecoffre-front,ihm_client,tor,miner
[alerts]
# Configuration des alertes

View File

@ -1,11 +0,0 @@
{
"folders": [
{
"path": "../../.."
},
{
"path": "../../../../../../etc/nginx"
}
],
"settings": {}
}

View File

@ -1,12 +1,12 @@
# Configuration HTTPS pour $HOST
# Configuration HTTPS pour dev4.4nkweb.com
server {
listen 443 ssl;
http2 on;
server_name $HOST;
server_name dev4.4nkweb.com;
# Certificats SSL
ssl_certificate $CERT_PATH/fullchain.pem;
ssl_certificate_key $CERT_PATH/privkey.pem;
ssl_certificate /etc/letsencrypt/live/dev4.4nkweb.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/dev4.4nkweb.com/privkey.pem;
# Configuration SSL
ssl_protocols TLSv1.2 TLSv1.3;

View File

@ -1,5 +1,5 @@
location $URL_ROUTE_GRAFAN/ {
proxy_pass http://127.0.0.1:$GRAFANA_PORT/;
proxy_pass http://127.0.0.1:3001:3001/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

View File

@ -1,5 +1,5 @@
location $URL_ROUTE_IHM_CLIENT {
proxy_pass http://127.0.0.1:$IHM_CLIENT_PORT;
proxy_pass http://127.0.0.1:3003:3003;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

View File

@ -6,7 +6,7 @@
proxy_hide_header ETag;
proxy_hide_header Last-Modified;
rewrite ^$URL_ROUTE_LECOFFRE_FRONT/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:$LECOFFRE_FRONT_PORT;
proxy_pass http://127.0.0.1:3000:3000;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

View File

@ -7,5 +7,5 @@
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
rewrite ^$URL_ROUTE_LECOFFRE_FRONT_HMR/(.*)$ $URL_ROUTE_LECOFFRE_FRONT/$1 break;
proxy_pass http://127.0.0.1:$LECOFFRE_FRONT_PORT;
proxy_pass http://127.0.0.1:3000:3000;
}

View File

@ -1,5 +1,5 @@
location /loki/ {
proxy_pass http://127.0.0.1:$LOKI_PORT/;
proxy_pass http://127.0.0.1:3100:3100/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

View File

@ -1,5 +1,5 @@
location ^~ $URL_ROUTE_NEXT/ {
proxy_pass http://127.0.0.1:$LECOFFRE_FRONT_PORT$URL_ROUTE_NEXT/;
proxy_pass http://127.0.0.1:3000:3000$URL_ROUTE_NEXT/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

View File

@ -26,4 +26,4 @@ NEXT_PUBLIC_IDNOT_REDIRECT_URI=https://lecoffreio.4nkweb.com/authorized-client
NEXT_PUBLIC_DOCAPOSTE_API_URL=
NEXT_PUBLIC_API_URL=$LECOFFRE_BACK_URL
NEXT_PUBLIC_DEFAULT_VALIDATOR_ID=$NEXT_PUBLIC_DEFAULT_VALIDATOR_ID
NEXT_PUBLIC_DEFAULT_STORAGE_URLS=$STORAGE_URL
NEXT_PUBLIC_DEFAULT_SDK_STORAGE_URLS=$SDK_STORAGE_URL

View File

@ -11,32 +11,32 @@ DOCKER_GLOBAL=project/lecoffre/lecoffre_node
# Répertoires
ROOT_DIR=/home/debian/4NK_env
ROOT_DIR_DATA=$ROOT_DIR/$DOCKER_GLOBAL/data
BITCOIN_DATA_DIR=$ROOT_DIR_DATA/bitcoin
$DOCKER_GLOBAL/datas=$ROOT_DIR/$DOCKER_GLOBAL/data
BITCOIN_DATA_DIR=$$DOCKER_GLOBAL/datas/bitcoin
BITCOIN_COOKIE_PATH=$BITCOIN_DATA_DIR/signet/.cookie
SIGNER_DATA_DIR=$ROOT_DIR_DATA/signer
SDK_RELAY_DATA_DIR=$ROOT_DIR_DATA/sdk_relay
SDK_STORAGE_DATA_DIR=$ROOT_DIR_DATA/sdk_storage
SDK_TOR_DATA_DIR=$ROOT_DIR_DATA/tor
BLINDBIT_DATA_DIR=$ROOT_DIR_DATA/blindbit-oracle
SIGNER_DATA_DIR=$$DOCKER_GLOBAL/datas/signer
SDK_RELAY_DATA_DIR=$$DOCKER_GLOBAL/datas/sdk_relay
SDK_STORAGE_DATA_DIR=$$DOCKER_GLOBAL/datas/sdk_storage
SDK_TOR_DATA_DIR=$$DOCKER_GLOBAL/datas/tor
BLINDBIT_DATA_DIR=$$DOCKER_GLOBAL/datas/blindbit-oracle
ROOT_DIR_LOGS=$ROOT_DIR/$DOCKER_GLOBAL/logs
BITCOIN_LOGS_DIR=$ROOT_DIR_LOGS/bitcoin
BLINDBIT_LOGS_DIR=$ROOT_DIR_LOGS/blindbit-oracle
IHM_CLIENT_LOGS_DIR=$ROOT_DIR_LOGS/ihm_client
LECOFFRE_FRONT_LOGS_DIR=$ROOT_DIR_LOGS/lecoffre-front
LECOFFRE_BACK_LOGS_DIR=$ROOT_DIR_LOGS/lecoffre-back-mini
MINER_LOGS_DIR=$ROOT_DIR_LOGS/miner
NGINX_LOGS_DIR=$ROOT_DIR_LOGS/nginx
SDK_RELAY_LOGS_DIR=$ROOT_DIR_LOGS/sdk_relay
SDK_STORAGE_LOGS_DIR=$ROOT_DIR_LOGS/sdk_storage
TOR_LOGS_DIR=$ROOT_DIR_LOGS/tor
$DOCKER_GLOBAL/logs=$ROOT_DIR/$DOCKER_GLOBAL/logs
BITCOIN_LOGS_DIR=$$DOCKER_GLOBAL/logs/bitcoin
BLINDBIT_LOGS_DIR=$$DOCKER_GLOBAL/logs/blindbit-oracle
IHM_CLIENT_LOGS_DIR=$$DOCKER_GLOBAL/logs/ihm_client
LECOFFRE_FRONT_LOGS_DIR=$$DOCKER_GLOBAL/logs/lecoffre-front
LECOFFRE_BACK_LOGS_DIR=$$DOCKER_GLOBAL/logs/lecoffre-back-mini
MINER_LOGS_DIR=$$DOCKER_GLOBAL/logs/miner
NGINX_LOGS_DIR=$$DOCKER_GLOBAL/logs/nginx
SDK_RELAY_LOGS_DIR=$$DOCKER_GLOBAL/logs/sdk_relay
SDK_STORAGE_LOGS_DIR=$$DOCKER_GLOBAL/logs/sdk_storage
TOR_LOGS_DIR=$$DOCKER_GLOBAL/logs/tor
ROOT_DIR_CONFS=$ROOT_DIR/$DOCKER_GLOBAL/confs
PROMTAIL_CONF_DIR=$ROOT_DIR_CONFS/promtail
GRAFANA_CONF_DIR=$ROOT_DIR_CONFS/grafana
NGINX_CONF_DIR=$ROOT_DIR_CONFS/nginx
BITCOIN_CONF_DIR=$ROOT_DIR_CONFS/bitcoin
$DOCKER_GLOBAL/confs=$ROOT_DIR/$DOCKER_GLOBAL/confs
PROMTAIL_CONF_DIR=$$DOCKER_GLOBAL/confs/promtail
GRAFANA_CONF_DIR=$$DOCKER_GLOBAL/confs/grafana
NGINX_CONF_DIR=$$DOCKER_GLOBAL/confs/nginx
BITCOIN_CONF_DIR=$$DOCKER_GLOBAL/confs/bitcoin
ROOT_DIR_BACKUPS=$ROOT_DIR/$DOCKER_GLOBAL/backups

View File

@ -1,15 +1,15 @@
services:
$TOR_DOCKER_NAME:
tor-proxy:
image: btcpayserver/tor:0.4.8.10
container_name: $TOR_DOCKER_NAME
working_dir: /$TOR_DOCKER_NAME
container_name: tor-proxy
working_dir: /tor-proxy
volumes:
- $TOR_LOGS_DIR:/var/log/tor
- /home/debian/4NK_env/DOCKER_GLOBAL_NAME/logs/tor-proxy:/var/log/tor
- $LECOFFRE_NODE_SCRIPTS_DIR:/scripts:ro
networks:
btcnet:
aliases:
- $TOR_DOCKER_NAME
- tor-proxy
healthcheck:
test: ["CMD", "sh", "$LECOFFRE_NODE_SCRIPTS_DIR/tor-progress.sh"]
interval: 10s
@ -17,22 +17,22 @@ services:
retries: 50
restart: unless-stopped
$BITCOIN_DOCKER_NAME:
bitcoin:
build: ./bitcoin
container_name: $BITCOIN_DOCKER_NAME
working_dir: /$BITCOIN_DOCKER_NAME
container_name: bitcoin
working_dir: /bitcoin
depends_on:
$TOR_DOCKER_NAME:
tor-proxy:
condition: service_healthy
volumes:
- $BITCOIN_DATA_DIR:/home/bitcoin/.bitcoin
- $BITCOIN_CONF_DIR/bitcoin.conf:/etc/bitcoin/bitcoin.conf
- $BITCOIN_LOGS_DIR:/var/log/bitcoin
- bitcoin_DATA_DIR:/home/bitcoin/.bitcoin
- bitcoin_CONF_DIR/bitcoin.conf:/etc/bitcoin/bitcoin.conf
- /home/debian/4NK_env/DOCKER_GLOBAL_NAME/logs/bitcoin:/var/log/bitcoin
- $LECOFFRE_NODE_SCRIPTS_DIR:/scripts:ro
networks:
btcnet:
aliases:
- $BITCOIN_DOCKER_NAME
- bitcoin
user: root
entrypoint: >
/bin/sh -c "
@ -55,7 +55,7 @@ services:
volumes:
- $BLINDBIT_DATA_DIR:/root/.blindbit-oracle
# - $LECOFFRE_NODE_CONFS_DIR/blindbit-oracle/blindbit.toml:/tmp/blindbit.toml:ro
- $BITCOIN_DATA_DIR:/home/bitcoin/.bitcoin
- bitcoin_DATA_DIR:/home/bitcoin/.bitcoin
- $BLINDBIT_LOGS_DIR:/var/log/blindbit
entrypoint: >
sh -c "mkdir -p /root/.blindbit-oracle &&
@ -78,26 +78,26 @@ services:
start_period: 180s
restart: unless-stopped
$SDK_RELAY_DOCKER_NAME:
sdk_relay:
image: git.4nkweb.com/4nk/sdk_relay:ext
container_name: $SDK_RELAY_DOCKER_NAME
working_dir: /$SDK_RELAY_DOCKER_NAME
container_name: sdk_relay
working_dir: /sdk_relay
env_file:
- $SDK_RELAY_CONF_DIR/.env
- sdk_relay_CONF_DIR/.env
depends_on:
$BLINDBIT_DOCKER_NAME:
condition: service_healthy
volumes:
- $SDK_RELAY_CONF_DIR/.conf:/SDK_RELAY_DOCKER_NAME/.conf:ro
- $SDK_RELAY_DATA_DIR:/SDK_RELAY_DOCKER_NAME/.4nk
- $BITCOIN_DATA_DIR:/SDK_RELAY_DOCKER_NAME/.bitcoin
- $SDK_RELAY_LOGS_DIR:/var/log/sdk_relay
- sdk_relay_CONF_DIR/.conf:/SDK_RELAY_DOCKER_NAME/.conf:ro
- sdk_relay_DATA_DIR:/SDK_RELAY_DOCKER_NAME/.4nk
- bitcoin_DATA_DIR:/SDK_RELAY_DOCKER_NAME/.bitcoin
- /home/debian/4NK_env/DOCKER_GLOBAL_NAME/logs/sdk_relay:/var/log/sdk_relay
ports:
- "0.0.0.0:$SDK_RELAY_PORT"
- "0.0.0.0:8080:8080"
networks:
btcnet:
aliases:
- $SDK_RELAY_DOCKER_NAME
- sdk_relay
logging:
driver: "json-file"
options:
@ -110,14 +110,14 @@ services:
retries: 50
restart: unless-stopped
$LECOFFRE_FRONT_DOCKER_NAME:
lecoffre-front:
image: git.4nkweb.com/4nk/lecoffre-front:ext
container_name: $LECOFFRE_FRONT_DOCKER_NAME
working_dir: /$LECOFFRE_FRONT_DOCKER_NAME
container_name: lecoffre-front
working_dir: /lecoffre-front
env_file:
- $LECOFFRE_NODE_CONFS_DIR/.env
ports:
- "0.0.0.0:$LECOFFRE_FRONT_EXTERNAL_PORT:8080"
- "0.0.0.0:lecoffre-front_EXTERNAL_PORT:8080"
volumes:
- $LECOFFRE_NODE_LOGS_DIR/lecoffre-front:/var/log/lecoffre-front
networks:
@ -147,7 +147,7 @@ services:
env_file:
- $LECOFFRE_NODE_CONFS_DIR/ihm_client/.env
ports:
- "0.0.0.0:$IHM_CLIENT_EXTERNAL_PORT:3003"
- "0.0.0.0:ihm_client_EXTERNAL_PORT:3003"
volumes:
- $LECOFFRE_NODE_LOGS_DIR/ihm_client:/var/log/ihm_client
networks:
@ -175,7 +175,7 @@ services:
image: git.4nkweb.com/4nk/sdk_storage:ext
container_name: sdk_storage
ports:
- "0.0.0.0:$SDK_STORAGE_EXTERNAL_PORT:8080"
- "0.0.0.0:sdk_storage_EXTERNAL_PORT:8080"
volumes:
- sdk_storage_data:/app/data
- $LECOFFRE_NODE_LOGS_DIR/sdk_storage:/var/log/sdk_storage
@ -226,7 +226,7 @@ services:
image: grafana/grafana:latest
container_name: grafana
ports:
- "0.0.0.0:$GRAFANA_EXTERNAL_PORT:3000"
- "0.0.0.0:grafana_EXTERNAL_PORT:3000"
volumes:
- grafana_data:/var/lib/grafana
# - $LECOFFRE_NODE_CONFS_DIR/grafana/provisioning:/etc/grafana/provisioning
@ -234,9 +234,9 @@ services:
# - $LECOFFRE_NODE_CONFS_DIR/grafana/grafana.ini:/etc/grafana/grafana.ini:ro
- $LECOFFRE_NODE_LOGS_DIR:/var/log/lecoffre:ro
environment:
- GF_SECURITY_ADMIN_PASSWORD=$GRAFANA_ADMIN_PASSWORD
- GF_SECURITY_ADMIN_PASSWORD=Fuy8ZfxQI2xdSdoB8wsGxNjyU
- GF_USERS_ALLOW_SIGN_UP=false
- GF_SERVER_ROOT_URL=$GRAFANA_URL/
- GF_SERVER_ROOT_URL=http://\grafana:grafana_DOCKER_PORT/
- GF_PLUGINS_PREINSTALL_SYNC=grafana-clock-panel,grafana-simple-json-datasource
networks:
btcnet:
@ -261,7 +261,7 @@ services:
image: grafana/loki:latest
container_name: loki
ports:
- "0.0.0.0:$LOKI_EXTERNAL_PORT:3100"
- "0.0.0.0:loki_EXTERNAL_PORT:3100"
volumes:
- loki_data:/loki
# - $LECOFFRE_NODE_CONFS_DIR/loki/loki-config.yaml:/etc/loki/loki-config.yaml:ro

View File

@ -1,16 +1,16 @@
[supervisord]
nodaemon=true
user=root
logfile=$SUPERVISOR_LOGS_DIR/supervisord.log
pidfile=$ROOT_DIR_RUN/supervisord.pid
childlogdir=$SUPERVISOR_LOGS_DIR
logfile=/home/debian/4NK_env_LOGS/supervisor/supervisord.log
pidfile=/home/debian/4NK_env_RUN/supervisord.pid
childlogdir=/home/debian/4NK_env_LOGS/supervisor
[unix_http_server]
file=$ROOT_DIR_RUN/supervisor.sock
file=/home/debian/4NK_env_RUN/supervisor.sock
chmod=0700
[supervisorctl]
serverurl=unix://$ROOT_DIR_RUN/supervisor.sock
serverurl=unix:///home/debian/4NK_env_RUN/supervisor.sock
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
@ -19,8 +19,8 @@ supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
command=/usr/sbin/nginx -g "daemon off;"
autostart=true
autorestart=true
stderr_logfile=$SUPERVISOR_LOGS_DIR/nginx.err.log
stdout_logfile=$SUPERVISOR_LOGS_DIR/nginx.out.log
stderr_logfile=/home/debian/4NK_env_LOGS/supervisor/nginx.err.log
stdout_logfile=/home/debian/4NK_env_LOGS/supervisor/nginx.out.log
user=root
[program:docker-compose]
@ -28,8 +28,8 @@ command=/app/scripts/startup.sh
directory=/app
autostart=true
autorestart=true
stderr_logfile=$SUPERVISOR_LOGS_DIR/docker-compose.err.log
stdout_logfile=$SUPERVISOR_LOGS_DIR/docker-compose.out.log
stderr_logfile=/home/debian/4NK_env_LOGS/supervisor/docker-compose.err.log
stdout_logfile=/home/debian/4NK_env_LOGS/supervisor/docker-compose.out.log
user=appuser
environment=HOME="/app"
@ -37,12 +37,12 @@ environment=HOME="/app"
command=/usr/sbin/cron -f
autostart=true
autorestart=true
stderr_logfile=$SUPERVISOR_LOGS_DIR/cron.err.log
stdout_logfile=$SUPERVISOR_LOGS_DIR/cron.out.log
stderr_logfile=/home/debian/4NK_env_LOGS/supervisor/cron.err.log
stdout_logfile=/home/debian/4NK_env_LOGS/supervisor/cron.out.log
user=root
[program:logrotate]
command=/usr/sbin/logrotate $LOGROTATE_CONF_DIR/lecoffre
command=/usr/sbin/logrotate /home/debian/4NK_env_CONFS/logrotate/lecoffre
autostart=true
autorestart=false
startsecs=0