commit 79a8efa34ab2dc7c95b67eede017d9e4e4261151 Author: Cryptoval Trading Technologies Date: Thu May 15 20:22:34 2025 +0000 initial diff --git a/.env b/.env new file mode 100644 index 0000000..a256296 --- /dev/null +++ b/.env @@ -0,0 +1,14 @@ +MD_RECORDER_VERSION=0.0.8 + +CONFIG_SERVICE=cloud16.cvtt.vpn:6789 +CONFIG_FILE=/config/md_rec_monitor.cfg +CREDS_FILE=/config/.creds + +MDRM_CLOUD21_ADMPORT=27201 +CLOUD21_ADD_ARGS=--compress_log + +MDRM_CVTTDATA_ADMPORT=27203 +CVTTDATA_ADD_ARGS=--compress_log + +MDRM_CLOUD28_ADMPORT=27202 +CLOUD28_ADD_ARGS=--compress_log diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d50577d --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +logs/ +data/ diff --git a/config/.creds b/config/.creds new file mode 100644 index 0000000..ad55b2d --- /dev/null +++ b/config/.creds @@ -0,0 +1,22 @@ +{ + "__dummy": null + , "MATTERMOST": { + "url": "https://mattermost.cryptovaltrading.com" + , "team": "CVTT" + , "bearer": "5ysaaxjeijrwjbmhuzcuos9ano" + } + , "TSDB_MD_CLD21_RO": { + "host": "cloud21.cvtt.vpn" + , "port": 5432 + , "user": "cvtt_ro" + , "database": "cvtt_md" + , "password": "3Gkotqa0ZSmZLXSH3RkTUm" + } + , "TSDB_MD_CVTTDATA_RO": { + "host": "cvttdata.cvtt.vpn" + , "port": 5432 + , "user": "cvtt_ro" + , "database": "cvtt_md" + , "password": "3Gkotqa0ZSmZLXSH3RkTUm" + } +} diff --git a/config/md_rec_monitor.cfg b/config/md_rec_monitor.cfg new file mode 100644 index 0000000..bb33cac --- /dev/null +++ b/config/md_rec_monitor.cfg @@ -0,0 +1,58 @@ +{ + "check_interval_sec": 10.0 + , "status_report_interval_sec": 3600.0 + , "after_alert_interval_sec": 120.0 # + , "db": { + "CVTTDATA": { + "class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient" + , "cred_key": "TSDB_MD_CVTTDATA_RO" + } + "CLOUD21": { + "class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient" + , "cred_key": "TSDB_MD_CLD21_RO" + } + } + , "mmost": { + "cred_key": "MATTERMOST" + , "alert_channel": "Alerts-CVTT" + , "status_channel": "Status-CVTT" + } + , "data_checks": { + # "BNBFUT-1": { + # "tables": ["bnbfut.md_booktops"] + # , "exchange_id": "BNBFUT" + # , "instruments": ["PERP-BTC-USDT"] + # , "threshold_sec": 3600.0 + # } + # , "BNBFUT-2": { + # "tables": ["bnbfut.md_trades"] + # , "exchange_id": "BNBFUT" + # , "instruments": ["PERP-BTC-USDT"] + # , "threshold_sec": 3600.0 + # } + "BNBSPOT-1": { + "tables": ["bnbspot.md_booktops"] + , "exchange_id": "BNBSPOT" + , "instruments": ["PAIR-BTC-USDT"] + , "threshold_sec": 30.0 + } + , "BNBSPOT-2": { + "tables": ["bnbspot.md_trades"] + , "exchange_id": "BNBSPOT" + , "instruments": ["PAIR-BTC-USDT"] + , "threshold_sec": 30.0 + } + , "COINBASE-1": { + "tables": ["coinbase.md_booktops"] + , "exchange_id": "COINBASE" + , "instruments": ["PAIR-BTC-USD"] + , "threshold_sec": 30.0 + } + , "COINBASE-2": { + "tables": ["coinbase.md_trades"] + , "exchange_id": "COINBASE" + , "instruments": ["PAIR-BTC-USD"] + , "threshold_sec": 30.0 + } + } +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..706d013 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,54 @@ +services: + md_rec_mon_cloud21: + image: cloud21.cvtt.vpn:5500/md_recorder_monitor:${MD_RECORDER_VERSION} + container_name: md_rec_mon.CLOUD21 + user: ${CVTT_USER:-1001:1001} + pull_policy: always + restart: unless-stopped + environment: + CONFIG_SERVICE: ${CONFIG_SERVICE:-cloud16.cvtt.vpn:6789} + CONFIG_FILE: ${CONFIG_FILE:-/config/md_recorder.cfg} + CREDS_FILE: ${CREDS_FILE} + MDR_INSTANCE: CLOUD21 + MDR_ADD_ARGS: ${CLOUD21_ADD_ARGS} + volumes: + - ./config:/config + - ./logs:/logs + ports: + - ${MDRM_CLOUD21_ADMPORT}:7200 + + # md_rec_mon_cloud28: + # image: cloud21.cvtt.vpn:5500/md_recorder_monitor:${MD_RECORDER_VERSION} + # container_name: md_rec_mon.CLOUD28 + # user: ${CVTT_USER:-1001:1001} + # pull_policy: always + # restart: unless-stopped + # environment: + # CONFIG_SERVICE: ${CONFIG_SERVICE:-cloud16.cvtt.vpn:6789} + # CONFIG_FILE: ${CONFIG_FILE:-/config/md_recorder.cfg} + # CREDS_FILE: ${CREDS_FILE} + # MDR_INSTANCE: CLOUD28 + # MDR_ADD_ARGS: ${CLOUD28_ADD_ARGS} + # volumes: + # - ./config:/config + # - ./logs:/logs + # ports: + # - ${MDRM_CLOUD28_ADMPORT}:7200 + + md_rec_mon_cvttdata: + image: cloud21.cvtt.vpn:5500/md_recorder_monitor:${MD_RECORDER_VERSION} + container_name: md_rec_mon.CVTTDATA + user: ${CVTT_USER:-1001:1001} + pull_policy: always + restart: unless-stopped + environment: + CONFIG_SERVICE: ${CONFIG_SERVICE:-cloud16.cvtt.vpn:6789} + CONFIG_FILE: ${CONFIG_FILE:-/config/md_recorder.cfg} + CREDS_FILE: ${CREDS_FILE} + MDR_INSTANCE: CVTTDATA + MDR_ADD_ARGS: ${CVTTDATA_ADD_ARGS} + volumes: + - ./config:/config + - ./logs:/logs + ports: + - ${MDRM_CVTTDATA_ADMPORT}:7200