From 8b9fc7e4099f859dfb0768e5c5384a3bbb88043a Mon Sep 17 00:00:00 2001 From: "k.struzhkin" Date: Tue, 7 Jul 2020 17:00:01 +0300 Subject: [PATCH] Init docker compose --- README.md | 22 +- .../docker-entrypoint-initdb.d/init-db.sh | 222 +++ docker-compose.yml | 216 +++ grafana/dashboards/dashboards.yml | 11 + ...ytics antifraud metrcis-1594128226069.json | 1391 +++++++++++++++++ .../Antifraud-metrics-1594123100933.json | 172 ++ grafana/datasources/datasources.yml | 9 + images/fb_scheme.png | Bin 0 -> 112449 bytes images/fraud scheme.png | Bin 0 -> 81851 bytes log-java/logback-test.xml | 12 + 10 files changed, 2054 insertions(+), 1 deletion(-) create mode 100644 clickhouse/docker-entrypoint-initdb.d/init-db.sh create mode 100644 docker-compose.yml create mode 100644 grafana/dashboards/dashboards.yml create mode 100644 grafana/dashboards/jsons/Analytics antifraud metrcis-1594128226069.json create mode 100644 grafana/dashboards/jsons/Antifraud-metrics-1594123100933.json create mode 100644 grafana/datasources/datasources.yml create mode 100644 images/fb_scheme.png create mode 100644 images/fraud scheme.png create mode 100644 log-java/logback-test.xml diff --git a/README.md b/README.md index 528ee61..95eeea8 100644 --- a/README.md +++ b/README.md @@ -1 +1,21 @@ -# fraudbusters-compose \ No newline at end of file +# fraudbusters-compose + +### Topology + +Fraudbusters is a central service that accepts templates from a management service and +responds to inspection requests from external systems, for checks in black / white / named lists. +Interacts with wb-list-manager based on protocol +[wb-list-proto](https://github.com/rbkmoney/wb-list-proto/blob/master/proto/wb_list.thrift) +also interacts with ClickHouse to collect aggregates and fill in the necessary audit data (JDBC). +When analyzing the results, it enriches the data from the storage location service by ip addresses +[Columbus](https://github.com/rbkmoney/damsel/blob/master/proto/geo_ip.thrift) + +![alt text](images/fb_scheme.png) + +### Install + +```docker-compose up -d``` + +### License +[Apache 2.0 License.](/LICENSE) + diff --git a/clickhouse/docker-entrypoint-initdb.d/init-db.sh b/clickhouse/docker-entrypoint-initdb.d/init-db.sh new file mode 100644 index 0000000..a373634 --- /dev/null +++ b/clickhouse/docker-entrypoint-initdb.d/init-db.sh @@ -0,0 +1,222 @@ +#!/bin/bash +set -e + +clickhouse client -n <<-EOSQL + CREATE DATABASE IF NOT EXISTS fraud; + + DROP TABLE IF EXISTS fraud.events_unique; + + create table fraud.events_unique ( + timestamp Date, + eventTimeHour UInt64, + eventTime UInt64, + + partyId String, + shopId String, + + ip String, + email String, + bin String, + fingerprint String, + resultStatus String, + amount UInt64, + country String, + checkedRule String, + bankCountry String, + currency String, + invoiceId String, + maskedPan String, + bankName String, + cardToken String, + paymentId String, + checkedTemplate String + ) ENGINE = MergeTree() + PARTITION BY toYYYYMM (timestamp) + ORDER BY (eventTimeHour, partyId, shopId, bin, resultStatus, cardToken, email, ip, fingerprint) + TTL timestamp + INTERVAL 3 MONTH; + + DROP TABLE IF EXISTS fraud.events_p_to_p; + + create table fraud.events_p_to_p ( + timestamp Date, + eventTime UInt64, + eventTimeHour UInt64, + + identityId String, + transferId String, + + ip String, + email String, + bin String, + fingerprint String, + + amount UInt64, + currency String, + + country String, + bankCountry String, + maskedPan String, + bankName String, + cardTokenFrom String, + cardTokenTo String, + + resultStatus String, + checkedRule String, + checkedTemplate String + ) ENGINE = MergeTree() + PARTITION BY toYYYYMM(timestamp) + ORDER BY (eventTimeHour, identityId, cardTokenFrom, cardTokenTo, bin, fingerprint, currency); + + CREATE DATABASE IF NOT EXISTS fraud; + + DROP TABLE IF EXISTS fraud.fraud_payment; + + create table fraud.fraud_payment ( + + timestamp Date, + id String, + eventTime String, + + partyId String, + shopId String, + + amount UInt64, + currency String, + + payerType String, + paymentToolType String, + cardToken String, + paymentSystem String, + maskedPan String, + issuerCountry String, + email String, + ip String, + fingerprint String, + status String, + rrn String, + + providerId UInt32, + terminalId UInt32, + + tempalateId String, + description String + + ) ENGINE = MergeTree() + PARTITION BY toYYYYMM (timestamp) + ORDER BY (partyId, shopId, paymentToolType, status, currency, providerId, fingerprint, cardToken, id); + + DROP TABLE IF EXISTS fraud.refund; + + create table fraud.refund + ( + timestamp Date, + eventTime UInt64, + eventTimeHour UInt64, + + id String, + + email String, + ip String, + fingerprint String, + + bin String, + maskedPan String, + cardToken String, + paymentSystem String, + paymentTool String, + + terminal String, + providerId String, + bankCountry String, + + partyId String, + shopId String, + + amount UInt64, + currency String, + + status Enum8('pending' = 1, 'succeeded' = 2, 'failed' = 3), + errorReason String, + errorCode String, + paymentId String + ) ENGINE = ReplacingMergeTree() + PARTITION BY toYYYYMM (timestamp) + ORDER BY (eventTimeHour, partyId, shopId, status, currency, providerId, fingerprint, cardToken, id, paymentId); + + DROP TABLE IF EXISTS fraud.payment; + + create table fraud.payment + ( + timestamp Date, + eventTime UInt64, + eventTimeHour UInt64, + + id String, + + email String, + ip String, + fingerprint String, + + bin String, + maskedPan String, + cardToken String, + paymentSystem String, + paymentTool String, + + terminal String, + providerId String, + bankCountry String, + + partyId String, + shopId String, + + amount UInt64, + currency String, + + status Enum8('pending' = 1, 'processed' = 2, 'captured' = 3, 'cancelled' = 4, 'failed' = 5), + errorReason String, + errorCode String, + paymentCountry String + ) ENGINE = ReplacingMergeTree() + PARTITION BY toYYYYMM (timestamp) + ORDER BY (eventTimeHour, partyId, shopId, paymentTool, status, currency, providerId, fingerprint, cardToken, id); + + DROP TABLE IF EXISTS fraud.chargeback; + + create table fraud.chargeback + ( + timestamp Date, + eventTime UInt64, + eventTimeHour UInt64, + + id String, + + email String, + ip String, + fingerprint String, + + bin String, + maskedPan String, + cardToken String, + paymentSystem String, + paymentTool String, + + terminal String, + providerId String, + bankCountry String, + + partyId String, + shopId String, + + amount UInt64, + currency String, + + status Enum8('accepted' = 1, 'rejected' = 2, 'cancelled' = 3), + + category Enum8('fraud' = 1, 'dispute' = 2, 'authorisation' = 3, 'processing_error' = 4), + chargebackCode String, + paymentId String + ) ENGINE = ReplacingMergeTree() + PARTITION BY toYYYYMM (timestamp) + ORDER BY (eventTimeHour, partyId, shopId, category, status, currency, providerId, fingerprint, cardToken, id, paymentId); +EOSQL \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6ea9e26 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,216 @@ +--- +version: '2' +services: + zookeeper: + image: confluentinc/cp-zookeeper:5.0.1 + hostname: zookeeper + container_name: zookeeper + environment: + ZOOKEEPER_CLIENT_PORT: 2181 + ZOOKEEPER_TICK_TIME: 2000 + volumes: + - /tmp/docker/zookeeper/data:/var/lib/zookeeper/data + - /tmp/docker/zookeeper/logs:/var/lib/zookeeper/log + + broker: + image: confluentinc/cp-enterprise-kafka:5.0.1 + hostname: broker + container_name: broker + depends_on: + - zookeeper + environment: + KAFKA_BROKER_ID: 1 + KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181' + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT_HOST://broker:29092,PLAINTEXT://broker:9092 + KAFKA_METRIC_REPORTERS: io.confluent.metrics.reporter.ConfluentMetricsReporter + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 + KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0 + CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS: broker:9092 + CONFLUENT_METRICS_REPORTER_ZOOKEEPER_CONNECT: zookeeper:2181 + CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS: 1 + CONFLUENT_METRICS_ENABLE: 'true' + CONFLUENT_SUPPORT_CUSTOMER_ID: 'anonymous' + volumes: + - /tmp/docker/kafka2/data:/var/lib/kafka/data + + kafka-setup: + image: confluentinc/cp-kafka:5.1.1 + hostname: kafka-setup + container_name: kafka-setup + depends_on: + - broker + command: "bash -c 'echo Waiting for Kafka to be ready... && \ + cub kafka-ready -b broker:9092 1 60 && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic wb-list-command && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic wb-list-event-sink && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic result && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic p2p_result && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic fraud_payment && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic payment_event && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic refund_event && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --topic chargeback_event && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic template && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic template_p2p && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic template_reference && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic template_p2p_reference && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic group_list && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic group_p2p_list && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic group_reference && \ + kafka-topics --create --if-not-exists --zookeeper zookeeper:2181 --partitions 1 --replication-factor 1 --config cleanup.policy=compact --topic group_p2p_reference && \ + echo Waiting 60 seconds for Connect to be ready... && \ + sleep 60'" + + riak: + image: basho/riak-kv + hostname: riak + container_name: riak + ports: + - "8087:8087" + - "8098:8098" + environment: + - CLUSTER_NAME=riakts + labels: + - "com.basho.riak.cluster.name=riakts" + volumes: + - /tmp/docker/riak/data:/etc/riak/schemas + + clickhouse: + image: yandex/clickhouse-server:19.17 + hostname: clickhouse + container_name: clickhouse + ports: + - 9000:9000 + - 8123:8123 + volumes: + - ./clickhouse/data:/var/lib/clickhouse + - ./clickhouse/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d + + grafana: + image: grafana/grafana:5.1.0 + hostname: grafana + container_name: grafana + ports: + - 3000:3000 + environment: + GF_INSTALL_PLUGINS: "grafana-piechart-panel,vertamedia-clickhouse-datasource" + GF_SECURITY_ADMIN_USER: "admin" + GF_SECURITY_ADMIN_PASSWORD: "admin" + volumes: + - ./grafana/dashboards:/etc/grafana/provisioning/dashboards + - ./grafana/datasources:/etc/grafana/provisioning/datasources + + postgres-columbus: + image: dr2.rbkmoney.com/rbkmoney/postgres-geodata:0758740c8c3f350ddd7a8331b5e1cbb0374f4832 + hostname: postgres-columbus + container_name: postgres-columbus + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: columbus + entrypoint: + - /docker-entrypoint.sh + - postgres + ports: + - 5432:5432 + + columbus: + image: dr2.rbkmoney.com/rbkmoney/columbus:79a03704da4b17afa6f6ce07dbd3522fd5a52442 + hostname: columbus + container_name: columbus + environment: + spring.datasource.url: "jdbc:postgresql://postgres-columbus:5432/columbus" +# geo.db.file.path: "file:/maxmind.mmdb" + logging.level.com.rbkmoney.woody: "ERROR" + depends_on: + - postgres-columbus + ports: + - 8990:8022 + + wblist: + image: dr2.rbkmoney.com/rbkmoney/wb-list-manager:d5ee1b86445e20f45d0271f86696446f57fc829b + hostname: wblist + container_name: wblist + environment: + kafka.bootstrap.servers: "broker:9092" + riak.address: riak + riak.port: 8087 + management.metrics.export.statsd.enabled: "false" + logging.level.com.rbkmoney.woody: "ERROR" + kafka.wblist.topic.command: "wb-list-command" + kafka.wblist.topic.event.sink: "wb-list-event-sink" + depends_on: + - riak + - broker + ports: + - 8991:8022 + + fraudbusters: + image: dr2.rbkmoney.com/rbkmoney/fraudbusters:e4b2f9e830890a8956d17b6a0599a4ba2ebb1c1c + hostname: fraudbusters + container_name: fraudbusters + environment: + kafka.bootstrap.servers: "broker:9092" + geo.ip.service.url: "http://columbus:8022/repo" + wb.list.service.url: "http://wblist:8022/v1/wb_list" + clickhouse.db.url: "jdbc:clickhouse://clickhouse:8123/default" + spring.profiles.active: "full-prod" + logging.config: "tmp/logback-test.xml" + depends_on: + - clickhouse + - broker + - columbus + - wblist + - kafka-setup + ports: + - 8999:8022 + volumes: + - ./log-java:/opt/fraudbusters/tmp + + postgres-fb: + container_name: postgres_container + hostname: postgres-fb + image: postgres + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: wblist + PGDATA: /data/postgres + volumes: + - ./postgres/data/3:/data/postgres + restart: unless-stopped + + fb-management: + image: dr2.rbkmoney.com/rbkmoney/fraudbusters-management:ecb5272c2c5920d4911959e3ec2b90e90c07377d + hostname: fb-management + container_name: fb-management + environment: + kafka.bootstrap.servers: "broker:9092" + kafka.wblist.topic.command: "wb-list-command" + kafka.wblist.topic.event.sink: "wb-list-event-sink" + kafka.fraudbusters.template: "template" + kafka.fraudbusters.reference: "template_reference" + spring.datasource.url: "jdbc:postgresql://postgres-fb:5432/wblist" + logging.config: "./tmp/logback-test.xml" + management.metrics.binders.jvm.enabled: 'false' + service.validate.payment.url: 'http://fraudbusters:8022/fraud_payment/v1/' + depends_on: + - fraudbusters + - broker + - wblist + - postgres-fb + - kafka-setup + ports: + - 8080:8080 + volumes: + - ./log-java:/opt/fraudbusters-management/tmp + +networks: + default: + driver: bridge + driver_opts: + com.docker.network.enable_ipv6: "true" + com.docker.network.bridge.enable_ip_masquerade: "true" + +volumes: + mi2: {} diff --git a/grafana/dashboards/dashboards.yml b/grafana/dashboards/dashboards.yml new file mode 100644 index 0000000..8b927b1 --- /dev/null +++ b/grafana/dashboards/dashboards.yml @@ -0,0 +1,11 @@ +apiVersion: 1 + +providers: + - name: 'default' + orgId: 1 + folder: '' + type: file + disableDeletion: false + editable: true + options: + folder: '/etc/grafana/provisioning/dashboards/jsons' \ No newline at end of file diff --git a/grafana/dashboards/jsons/Analytics antifraud metrcis-1594128226069.json b/grafana/dashboards/jsons/Analytics antifraud metrcis-1594128226069.json new file mode 100644 index 0000000..78384ee --- /dev/null +++ b/grafana/dashboards/jsons/Analytics antifraud metrcis-1594128226069.json @@ -0,0 +1,1391 @@ +{ + "__inputs": [ + { + "name": "ClickHouse", + "label": "ClickHouse", + "description": "", + "type": "datasource", + "pluginId": "vertamedia-clickhouse-datasource", + "pluginName": "ClickHouse" + }, + { + "name": "VAR_PARTYID", + "type": "constant", + "label": "partyId", + "value": ".", + "description": "" + }, + { + "name": "VAR_SHOPID", + "type": "constant", + "label": "shopId", + "value": ".", + "description": "" + }, + { + "name": "VAR_PAYMENTCOUNTRY", + "type": "constant", + "label": "paymentCountry", + "value": ".", + "description": "" + }, + { + "name": "VAR_BIN", + "type": "constant", + "label": "bin", + "value": ".", + "description": "" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "5.1.0" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "5.0.0" + }, + { + "type": "datasource", + "id": "vertamedia-clickhouse-datasource", + "name": "ClickHouse", + "version": "2.0.1" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "iteration": 1594127323513, + "links": [], + "panels": [ + { + "cacheTimeout": null, + "columns": [], + "datasource": "ClickHouse", + "fontSize": "100%", + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 14, + "links": [], + "options": {}, + "pageSize": null, + "pluginVersion": "6.3.6", + "scroll": true, + "showHeader": true, + "sort": { + "col": 0, + "desc": true + }, + "styles": [ + { + "alias": "sm", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "sm", + "type": "number", + "unit": "short" + }, + { + "alias": "cnt", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": null, + "mappingType": 1, + "pattern": "cnt", + "thresholds": [], + "type": "number", + "unit": "none" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "number", + "unit": "none" + } + ], + "targets": [ + { + "database": "fraud", + "dateColDataType": "", + "dateLoading": false, + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "table", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "intervalFactor": 1, + "query": "SELECT\n sum(amount)/100 as sm,\n count() as cnt,\n avg(amount/100) as avg,\n max(amount/100) as max,\n currency\nFROM $table\nWHERE\n toDate($from) <= timestamp\n and toDate($to) >= timestamp\n and $from <= toDateTime(eventTime)\n and $to >= toDateTime(eventTime)\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\n and status='captured' \nand shopId!='TEST'\nGROUP BY currency\nORDER BY cnt desc\nLIMIT 20", + "rawQuery": "SELECT sum(amount)/100 as sm, count() as cnt, avg(amount/100) as avg, max(amount/100) as max, currency FROM fraud.payment WHERE toDate(1594117417) <= timestamp and toDate(1594128219) >= timestamp and 1594117417 <= toDateTime(eventTime) and 1594128219 >= toDateTime(eventTime) and match(partyId, '.') and match(shopId, '.') and status='captured' and shopId!='TEST' GROUP BY currency ORDER BY cnt desc LIMIT 20", + "refId": "A", + "round": "0s", + "table": "payment", + "tableLoading": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Payment", + "transform": "table", + "type": "table" + }, + { + "cacheTimeout": null, + "columns": [], + "datasource": "ClickHouse", + "fontSize": "100%", + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 19, + "links": [], + "options": {}, + "pageSize": null, + "pluginVersion": "6.3.6", + "scroll": true, + "showHeader": true, + "sort": { + "col": 0, + "desc": true + }, + "styles": [ + { + "alias": "sm", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "sm", + "type": "number", + "unit": "short" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": null, + "mappingType": 1, + "pattern": "cnt", + "thresholds": [], + "type": "number", + "unit": "none" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "number", + "unit": "short" + } + ], + "targets": [ + { + "database": "fraud", + "dateColDataType": "", + "dateLoading": false, + "dateTimeColDataType": "eventTime", + "dateTimeType": "TIMESTAMP", + "datetimeLoading": false, + "extrapolate": true, + "format": "table", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "intervalFactor": 1, + "query": "SELECT\n sum(amount / 100) as sm,\n count() as cnt,\n avg(amount / 100) as avg,\n currency\nFROM $table\nWHERE\n toDate($from) <= timestamp\n and toDate($to) >= timestamp\n and $from <= toDateTime(eventTime)\n and $to >= toDateTime(eventTime)\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\n and status = 'succeeded'\nand shopId!='TEST'\nGROUP BY currency\nORDER BY cnt desc\nLIMIT 20", + "rawQuery": "SELECT sum(amount / 100) as sm, count() as cnt, avg(amount / 100) as avg, currency FROM fraud.refund WHERE toDate(1594117417) <= timestamp and toDate(1594128219) >= timestamp and 1594117417 <= toDateTime(eventTime) and 1594128219 >= toDateTime(eventTime) and match(partyId, '.') and match(shopId, '.') and status = 'succeeded' and shopId!='TEST' GROUP BY currency ORDER BY cnt desc LIMIT 20", + "refId": "A", + "round": "0s", + "table": "refund", + "tableLoading": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Refunds", + "transform": "table", + "type": "table" + }, + { + "cacheTimeout": null, + "columns": [], + "datasource": "ClickHouse", + "fontSize": "100%", + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 6 + }, + "id": 28, + "links": [], + "options": {}, + "pageSize": null, + "pluginVersion": "6.3.6", + "scroll": true, + "showHeader": true, + "sort": { + "col": null, + "desc": false + }, + "styles": [ + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "percent", + "thresholds": [], + "type": "number", + "unit": "percent" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "number", + "unit": "short" + } + ], + "targets": [ + { + "database": "analytic", + "dateColDataType": "timestamp", + "dateLoading": false, + "dateTimeColDataType": "eventTime", + "dateTimeType": "TIMESTAMP", + "datetimeLoading": false, + "extrapolate": true, + "format": "table", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "intervalFactor": 1, + "query": "SELECT\ntimestamp,\n shopId,\n currency,\n sm_ref,\n sm_all,\n sm_ref * 100 / sm_all as percent\nFROM\n(\n SELECT\n timestamp,\n shopId,\n currency,\n sum(amount / 100) as sm_ref\n FROM fraud.refund\n WHERE\n toDate($from) <= timestamp\n and toDate($to) >= timestamp\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\n and status = 'succeeded'\n and shopId != 'TEST'\n GROUP BY\n timestamp,\n currency,\n shopId\n)\nANY LEFT JOIN\n(\n SELECT\n timestamp,\n shopId,\n currency,\n sum(amount / 100) as sm_all\n FROM fraud.payment\n WHERE\n toDate($from) <= timestamp\n and toDate($to) >= timestamp\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\n and status = 'captured'\n and shopId != 'TEST'\n GROUP BY\n timestamp,\n currency,\n shopId\n HAVING (sm_all > 100000 and currency='RUB') OR (sm_all > 1500 and currency='USD') OR (sm_all > 1500 and currency='EUR')\n) USING \ntimestamp,\n shopId,\n currency\nwhere sm_all > 0\nORDER BY percent DESC", + "rawQuery": "SELECT timestamp, shopId, currency, sm_ref, sm_all, sm_ref * 100 / sm_all as percent FROM ( SELECT timestamp, shopId, currency, sum(amount / 100) as sm_ref FROM fraud.refund WHERE toDate(1594117417) <= timestamp and toDate(1594128219) >= timestamp and match(partyId, '.') and match(shopId, '.') and status = 'succeeded' and shopId != 'TEST' GROUP BY timestamp, currency, shopId ) ANY LEFT JOIN ( SELECT timestamp, shopId, currency, sum(amount / 100) as sm_all FROM fraud.payment WHERE toDate(1594117417) <= timestamp and toDate(1594128219) >= timestamp and match(partyId, '.') and match(shopId, '.') and status = 'captured' and shopId != 'TEST' GROUP BY timestamp, currency, shopId HAVING (sm_all > 100000 and currency='RUB') OR (sm_all > 1500 and currency='USD') OR (sm_all > 1500 and currency='EUR') ) USING timestamp, shopId, currency where sm_all > 0 ORDER BY percent DESC", + "refId": "A", + "round": "0s", + "table": "events_sink", + "tableLoading": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Refunds by all", + "transform": "table", + "type": "table" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 14 + }, + "id": 26, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "ClickHouse", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 15 + }, + "id": 24, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "max": true, + "min": false, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": false, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 3, + "points": true, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "database": "analytic", + "dateColDataType": "timestamp", + "dateLoading": false, + "dateTimeColDataType": "eventTime", + "dateTimeType": "TIMESTAMP", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "1m", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n stddevPop(amount/100) as cnt\nFROM fraud.payment\nWHERE\n toDate($from) <= timestamp\n and toDate($to) >= timestamp\n and $from <= toDateTime(eventTime)\n and $to >= toDateTime(eventTime)\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\nand shopId!='TEST'\nGROUP BY t, shopId\nORDER BY t", + "rawQuery": "SELECT (intDiv(eventTime, 60) * 60) * 1000 as t, stddevPop(amount/100) as cnt FROM fraud.payment WHERE toDate(1594117263) <= timestamp and toDate(1594128065) >= timestamp and 1594117263 <= toDateTime(eventTime) and 1594128065 >= toDateTime(eventTime) and match(partyId, '.') and match(shopId, '.') and shopId!='TEST' GROUP BY t, shopId ORDER BY t", + "refId": "A", + "round": "0s", + "table": "events_sink", + "tableLoading": false + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": " Standard deviation", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "columns": [], + "datasource": "ClickHouse", + "fontSize": "100%", + "gridPos": { + "h": 11, + "w": 12, + "x": 12, + "y": 15 + }, + "id": 27, + "options": {}, + "pageSize": null, + "scroll": true, + "showHeader": true, + "sort": { + "col": 0, + "desc": true + }, + "styles": [ + { + "alias": "Time", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "t", + "type": "date" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "number", + "unit": "short" + } + ], + "targets": [ + { + "database": "analytic", + "dateColDataType": "timestamp", + "dateLoading": false, + "dateTimeColDataType": "eventTime", + "dateTimeType": "TIMESTAMP", + "datetimeLoading": false, + "extrapolate": true, + "format": "table", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "1m", + "intervalFactor": 1, + "query": "SELECT\n $timeSeries as t,\n shopId,\n stddevPop(amount/100) as cnt\nFROM fraud.payment\nWHERE\n toDate($from) <= timestamp\n and toDate($to) >= timestamp\n and $from <= toDateTime(eventTime)\n and $to >= toDateTime(eventTime)\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\nGROUP BY t, shopId\nHAVING cnt > 20000\nORDER BY t", + "rawQuery": "SELECT (intDiv(eventTime, 60) * 60) * 1000 as t, shopId, stddevPop(amount/100) as cnt FROM fraud.payment WHERE toDate(1594117263) <= timestamp and toDate(1594128065) >= timestamp and 1594117263 <= toDateTime(eventTime) and 1594128065 >= toDateTime(eventTime) and match(partyId, '.') and match(shopId, '.') GROUP BY t, shopId HAVING cnt > 20000 ORDER BY t", + "refId": "A", + "round": "0s", + "table": "events_sink", + "tableLoading": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Shop deviation > 20k", + "transform": "table", + "type": "table" + } + ], + "title": "Deviation", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 15 + }, + "id": 21, + "panels": [ + { + "cacheTimeout": null, + "columns": [], + "datasource": "ClickHouse", + "fontSize": "100%", + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 27 + }, + "id": 18, + "links": [], + "options": {}, + "pageSize": null, + "pluginVersion": "6.3.6", + "scroll": true, + "showHeader": true, + "sort": { + "col": 2, + "desc": true + }, + "styles": [ + { + "alias": "Time", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Time", + "type": "date" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "number", + "unit": "short" + } + ], + "targets": [ + { + "database": "analytic", + "dateColDataType": "timestamp", + "dateLoading": false, + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "table", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "intervalFactor": 1, + "query": "SELECT\n currency as currency,\n shopId as shop,\n sum(amount / 100) as sm\nFROM fraud.payment\nWHERE\n toDate($from) <= timestamp\n and toDate($to) >= timestamp\n and $from <= toDateTime(eventTime)\n and $to >= toDateTime(eventTime)\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\nGROUP BY\n shopId,\n currency\nHAVING shopId!='TEST'\nORDER BY sm desc\nLIMIT 20", + "rawQuery": "SELECT currency as currency, shopId as shop, sum(amount / 100) as sm FROM fraud.payment WHERE toDate(1594116784) <= timestamp and toDate(1594127586) >= timestamp and 1594116784 <= toDateTime(eventTime) and 1594127586 >= toDateTime(eventTime) and match(partyId, '.') and match(shopId, '.') GROUP BY shopId, currency HAVING shopId!='TEST' ORDER BY sm desc LIMIT 20", + "refId": "A", + "round": "0s", + "table": "events_sink", + "tableLoading": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Top 20 shop sum", + "transform": "table", + "type": "table" + }, + { + "aliasColors": {}, + "breakPoint": "50%", + "cacheTimeout": null, + "combine": { + "label": "Others", + "threshold": 0 + }, + "datasource": "ClickHouse", + "fontSize": "80%", + "format": "short", + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 27 + }, + "id": 5, + "interval": null, + "legend": { + "percentage": true, + "show": true, + "sort": "total", + "sortDesc": true, + "values": true + }, + "legendType": "Right side", + "links": [], + "maxDataPoints": 3, + "nullPointMode": "connected", + "options": {}, + "pieType": "pie", + "strokeWidth": 1, + "targets": [ + { + "database": "analytic", + "dateColDataType": "timestamp", + "dateLoading": false, + "dateTimeColDataType": "eventTime", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n sum(amount)/100 as cnt,\n currency\nFROM fraud.payment\nWHERE\n toDate($from) <= timestamp\n and toDate($to) >= timestamp\n and $from <= toDateTime(eventTime)\n and $to >= toDateTime(eventTime)\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\n and status='captured'\nand shopId!='TEST'\nGROUP BY currency\nORDER BY cnt desc\nLIMIT 20", + "rawQuery": "SELECT sum(amount)/100 as cnt, currency FROM fraud.payment WHERE toDate(1594116784) <= timestamp and toDate(1594127586) >= timestamp and 1594116784 <= toDateTime(eventTime) and 1594127586 >= toDateTime(eventTime) and match(partyId, '.') and match(shopId, '.') and status='captured' and shopId!='TEST' GROUP BY currency ORDER BY cnt desc LIMIT 20", + "refId": "A", + "round": "0s", + "table": "events_sink", + "tableLoading": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Sum by currency", + "type": "grafana-piechart-panel", + "valueName": "total" + } + ], + "title": "sm", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 16 + }, + "id": 11, + "panels": [ + { + "columns": [], + "datasource": "ClickHouse", + "fontSize": "100%", + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 28 + }, + "id": 9, + "options": {}, + "pageSize": null, + "scroll": true, + "showHeader": true, + "sort": { + "col": null, + "desc": false + }, + "styles": [ + { + "alias": "bin", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "bin", + "type": "string" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "number", + "unit": "short" + } + ], + "targets": [ + { + "database": "analytic", + "dateColDataType": "timestamp", + "dateLoading": false, + "dateTimeColDataType": "eventTIme", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "table", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "intervalFactor": 1, + "query": "SELECT\n bin, paymentCountry,\n count(id) as cnt\nFROM fraud.payment\nWHERE toDate($from) <= timestamp and toDate($to) >= timestamp and $from <= toDateTime(eventTime) and $to >= toDateTime(eventTime) \nand match(partyId, '$partyId') and match(partyId, '$partyId') and match(shopId, '$shopId') \nand match(paymentCountry, '$paymentCountry') and match(bin, '$bin') \nand (cardToken!='WLCeYVOp4bW1hJ3oCv8KG'\nand cardToken!='4xINpeuFJKxLPFGrdcrnUK'\nand cardToken!='vUp3YTW8wcLTS0VttdebO'\nand cardToken!='3zRjUhax48E1IY7wp7XZrS'\nand cardToken!='2ttEW2bq4CpuBRD0VOWW9g'\nand cardToken!='MfYHwQObqcIYlUTZD0v1y'\nand cardToken!='4Y3xD7ftAkQrAwpEds5lMk'\nand cardToken!='3q70aYBG6EH14ATRxxaom8'\nand cardToken!='quvSmP2lQwjouDkbF84Op'\nand cardToken!='4rqCK4KF5VwQL6o0TBzAHT'\nand cardToken!='6I2L72hZrsc2SHUbDIVoZF'\nand cardToken!='2X4iZv4CZ7XIG01DSgj4bv'\nand cardToken!='70DVkKLfywEJGaj7oqUY1Q'\nand cardToken!='7fAtmPASn44rNYieJfiv13'\nand cardToken!='2CL3xaXNWq76hEGcVMj1rF'\nand cardToken!='F3hq028Qsuo4KBNbRu8ud'\nand cardToken!='4XZts3K0zWi7JAfU9kK8Ku'\nand cardToken!='3csJuJyUbM7JmDCFiJoTfj'\nand cardToken!='8yCcCMHbhUWbH9Kh6ZtLW'\nand cardToken!='5iR9GSS7mzRFaYH1yROOiC'\nand cardToken!='7MZOauIs8yUtoKuCamADWv'\nand cardToken!='56kxngx6KgFFHrUbynNxi7')\nand shopId!='TEST'\nGROUP BY bin, paymentCountry\nORDER BY cnt desc\nlimit 20", + "rawQuery": "SELECT bin, paymentCountry, count(id) as cnt FROM fraud.payment WHERE toDate(1594117263) <= timestamp and toDate(1594128065) >= timestamp and 1594117263 <= toDateTime(eventTime) and 1594128065 >= toDateTime(eventTime) and match(partyId, '.') and match(partyId, '.') and match(shopId, '.') and match(paymentCountry, '.') and match(bin, '.') and (cardToken!='WLCeYVOp4bW1hJ3oCv8KG' and cardToken!='4xINpeuFJKxLPFGrdcrnUK' and cardToken!='vUp3YTW8wcLTS0VttdebO' and cardToken!='3zRjUhax48E1IY7wp7XZrS' and cardToken!='2ttEW2bq4CpuBRD0VOWW9g' and cardToken!='MfYHwQObqcIYlUTZD0v1y' and cardToken!='4Y3xD7ftAkQrAwpEds5lMk' and cardToken!='3q70aYBG6EH14ATRxxaom8' and cardToken!='quvSmP2lQwjouDkbF84Op' and cardToken!='4rqCK4KF5VwQL6o0TBzAHT' and cardToken!='6I2L72hZrsc2SHUbDIVoZF' and cardToken!='2X4iZv4CZ7XIG01DSgj4bv' and cardToken!='70DVkKLfywEJGaj7oqUY1Q' and cardToken!='7fAtmPASn44rNYieJfiv13' and cardToken!='2CL3xaXNWq76hEGcVMj1rF' and cardToken!='F3hq028Qsuo4KBNbRu8ud' and cardToken!='4XZts3K0zWi7JAfU9kK8Ku' and cardToken!='3csJuJyUbM7JmDCFiJoTfj' and cardToken!='8yCcCMHbhUWbH9Kh6ZtLW' and cardToken!='5iR9GSS7mzRFaYH1yROOiC' and cardToken!='7MZOauIs8yUtoKuCamADWv' and cardToken!='56kxngx6KgFFHrUbynNxi7') and shopId!='TEST' GROUP BY bin, paymentCountry ORDER BY cnt desc limit 20", + "refId": "A", + "round": "0s", + "table": "events_sink", + "tableLoading": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Top 20 bin activity", + "transform": "table", + "type": "table" + }, + { + "aliasColors": {}, + "breakPoint": "50%", + "cacheTimeout": null, + "combine": { + "label": "Others", + "threshold": 0 + }, + "datasource": "ClickHouse", + "fontSize": "80%", + "format": "short", + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 28 + }, + "id": 17, + "interval": null, + "legend": { + "percentage": true, + "show": true, + "sort": "total", + "sortDesc": true, + "values": true + }, + "legendType": "Right side", + "links": [], + "maxDataPoints": 3, + "nullPointMode": "connected", + "options": {}, + "pieType": "pie", + "strokeWidth": 1, + "targets": [ + { + "database": "analytic", + "dateColDataType": "timestamp", + "dateLoading": false, + "dateTimeColDataType": "eventTime", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n count() as cnt,\n bankCountry,\n cnt * 100 /(SELECT count() FROM fraud.payment WHERE toDate($from) <= timestamp and toDate($to) >= timestamp and $from <= toDateTime(eventTime) and $to >= toDateTime(eventTime) and match(partyId, '$partyId') and match(shopId, '$shopId')) as percent\nFROM fraud.payment\nWHERE\n toDate($from) <= timestamp\n and toDate($to) >= timestamp\n and $from <= toDateTime(eventTime)\n and $to >= toDateTime(eventTime)\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\n and shopId != 'TEST'\nGROUP BY bankCountry\nORDER BY percent desc\nLIMIT 20", + "rawQuery": "SELECT count() as cnt, bankCountry, cnt * 100 /(SELECT count() FROM fraud.payment WHERE toDate(1594117263) <= timestamp and toDate(1594128065) >= timestamp and 1594117263 <= toDateTime(eventTime) and 1594128065 >= toDateTime(eventTime) and match(partyId, '.') and match(shopId, '.')) as percent FROM fraud.payment WHERE toDate(1594117263) <= timestamp and toDate(1594128065) >= timestamp and 1594117263 <= toDateTime(eventTime) and 1594128065 >= toDateTime(eventTime) and match(partyId, '.') and match(shopId, '.') and shopId != 'TEST' GROUP BY bankCountry ORDER BY percent desc LIMIT 20", + "refId": "A", + "round": "0s", + "table": "events_sink", + "tableLoading": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Top 20 country", + "type": "grafana-piechart-panel", + "valueName": "total" + }, + { + "aliasColors": {}, + "breakPoint": "50%", + "cacheTimeout": null, + "combine": { + "label": "Others", + "threshold": 0 + }, + "datasource": "ClickHouse", + "fontSize": "80%", + "format": "short", + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 37 + }, + "id": 15, + "interval": null, + "legend": { + "percentage": true, + "show": true, + "sort": "total", + "sortDesc": true, + "values": true + }, + "legendType": "Right side", + "links": [], + "maxDataPoints": 3, + "nullPointMode": "connected", + "options": {}, + "pieType": "pie", + "strokeWidth": 1, + "targets": [ + { + "database": "analytic", + "dateColDataType": "timestamp", + "dateLoading": false, + "dateTimeColDataType": "eventTime", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n count() as cnt,\n providerId,\n cnt * 100 /(SELECT count() FROM fraud.payment WHERE toDate($from) <= timestamp and toDate($to) >= timestamp and $from <= toDateTime(eventTime) and $to >= toDateTime(eventTime) and match(partyId, '$partyId') and match(shopId, '$shopId')) as percent\nFROM fraud.payment\nWHERE\n toDate($from) <= timestamp\n and toDate($to) >= timestamp\n and $from <= toDateTime(eventTime)\n and $to >= toDateTime(eventTime)\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\n and shopId != 'TEST'\nGROUP BY providerId\nORDER BY percent desc\nLIMIT 20", + "rawQuery": "SELECT count() as cnt, providerId, cnt * 100 /(SELECT count() FROM fraud.payment WHERE toDate(1594117263) <= timestamp and toDate(1594128065) >= timestamp and 1594117263 <= toDateTime(eventTime) and 1594128065 >= toDateTime(eventTime) and match(partyId, '.') and match(shopId, '.')) as percent FROM fraud.payment WHERE toDate(1594117263) <= timestamp and toDate(1594128065) >= timestamp and 1594117263 <= toDateTime(eventTime) and 1594128065 >= toDateTime(eventTime) and match(partyId, '.') and match(shopId, '.') and shopId != 'TEST' GROUP BY providerId ORDER BY percent desc LIMIT 20", + "refId": "A", + "round": "0s", + "table": "events_sink", + "tableLoading": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Provider activity", + "type": "grafana-piechart-panel", + "valueName": "total" + }, + { + "aliasColors": {}, + "breakPoint": "50%", + "cacheTimeout": null, + "combine": { + "label": "Others", + "threshold": 0 + }, + "datasource": "ClickHouse", + "fontSize": "80%", + "format": "short", + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 37 + }, + "id": 12, + "interval": null, + "legend": { + "percentage": true, + "show": true, + "sort": "total", + "sortDesc": true, + "values": true + }, + "legendType": "Right side", + "links": [], + "maxDataPoints": 3, + "nullPointMode": "connected", + "options": {}, + "pieType": "pie", + "strokeWidth": 1, + "targets": [ + { + "database": "analytic", + "dateColDataType": "timestamp", + "dateLoading": false, + "dateTimeColDataType": "eventTime", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n count() as cnt,\n paymentSystem,\n cnt * 100 /(SELECT count() FROM fraud.payment WHERE toDate($from) <= timestamp and toDate($to) >= timestamp and $from <= toDateTime(eventTime) and $to >= toDateTime(eventTime) and match(partyId, '$partyId') and match(shopId, '$shopId')) as percent\nFROM fraud.payment\nWHERE\n toDate($from) <= timestamp\n and toDate($to) >= timestamp\n and $from <= toDateTime(eventTime)\n and $to >= toDateTime(eventTime)\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\n and paymentSystem != ''\n and shopId != 'TEST'\nGROUP BY paymentSystem\nORDER BY percent desc", + "rawQuery": "SELECT count() as cnt, paymentSystem, cnt * 100 /(SELECT count() FROM fraud.payment WHERE toDate(1594117263) <= timestamp and toDate(1594128065) >= timestamp and 1594117263 <= toDateTime(eventTime) and 1594128065 >= toDateTime(eventTime) and match(partyId, '.') and match(shopId, '.')) as percent FROM fraud.payment WHERE toDate(1594117263) <= timestamp and toDate(1594128065) >= timestamp and 1594117263 <= toDateTime(eventTime) and 1594128065 >= toDateTime(eventTime) and match(partyId, '.') and match(shopId, '.') and paymentSystem != '' and shopId != 'TEST' GROUP BY paymentSystem ORDER BY percent desc", + "refId": "A", + "round": "0s", + "table": "events_sink", + "tableLoading": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Payment system activity", + "type": "grafana-piechart-panel", + "valueName": "total" + } + ], + "title": "Activity", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 17 + }, + "id": 7, + "panels": [ + { + "aliasColors": {}, + "breakPoint": "50%", + "cacheTimeout": null, + "combine": { + "label": "Others", + "threshold": 0 + }, + "datasource": "ClickHouse", + "fontSize": "80%", + "format": "short", + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 18 + }, + "id": 4, + "interval": null, + "legend": { + "show": true, + "sort": "total", + "sortDesc": true, + "values": true + }, + "legendType": "Right side", + "links": [], + "maxDataPoints": 3, + "nullPointMode": "connected", + "options": {}, + "pieType": "pie", + "strokeWidth": 1, + "targets": [ + { + "database": "analytic", + "dateColDataType": "timestamp", + "dateLoading": false, + "dateTimeColDataType": "eventTime", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n count() as cnt,\n errorCode\nFROM fraud.payment\nWHERE\n toDate($from) <= timestamp\n and toDate($to) >= timestamp\n and $from <= toDateTime(eventTime)\n and $to >= toDateTime(eventTime)\n and status = 'failed'\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\n and match(paymentCountry, '$paymentCountry')\n and shopId != 'TEST'\nGROUP BY errorCode\nORDER BY cnt desc\nLIMIT 20", + "rawQuery": "SELECT count() as cnt, errorCode FROM fraud.payment WHERE toDate(1594117417) <= timestamp and toDate(1594128219) >= timestamp and 1594117417 <= toDateTime(eventTime) and 1594128219 >= toDateTime(eventTime) and status = 'failed' and match(partyId, '.') and match(shopId, '.') and match(paymentCountry, '.') and shopId != 'TEST' GROUP BY errorCode ORDER BY cnt desc LIMIT 20", + "refId": "A", + "round": "0s", + "table": "events_sink", + "tableLoading": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Top 20 error", + "type": "grafana-piechart-panel", + "valueName": "total" + }, + { + "aliasColors": {}, + "breakPoint": "50%", + "cacheTimeout": null, + "combine": { + "label": "Others", + "threshold": 0 + }, + "datasource": "ClickHouse", + "decimals": null, + "fontSize": "80%", + "format": "short", + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 18 + }, + "id": 16, + "interval": null, + "legend": { + "header": "", + "percentage": true, + "show": true, + "sort": "total", + "sortDesc": true, + "values": true + }, + "legendType": "Right side", + "links": [], + "maxDataPoints": 3, + "nullPointMode": "connected", + "options": {}, + "pieType": "pie", + "strokeWidth": 1, + "targets": [ + { + "database": "fraud", + "dateColDataType": "timestamp", + "dateLoading": false, + "dateTimeColDataType": "eventTime", + "dateTimeType": "DATETIME", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n count() as cnt,\n checkedTemplate,\n checkedRule,\n bankCountry\nFROM fraud.events_unique\nWHERE\n toDate($from) <= timestamp\n and toDate($to) >= timestamp\n and $from <= toDateTime(eventTime)\n and $to >= toDateTime(eventTime)\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\n and match(bankCountry, '$paymentCountry')\n AND resultStatus = 'DECLINE'\n and shopId != 'TEST'\nGROUP BY\n checkedTemplate,\n checkedRule,\n bankCountry\nORDER BY cnt desc\nLIMIT 30", + "rawQuery": "SELECT count() as cnt, checkedTemplate, checkedRule, bankCountry FROM fraud.events_unique WHERE toDate(1594117417) <= timestamp and toDate(1594128219) >= timestamp and 1594117417 <= toDateTime(eventTime) and 1594128219 >= toDateTime(eventTime) and match(partyId, '.') and match(shopId, '.') and match(bankCountry, '.') AND resultStatus = 'DECLINE' and shopId != 'TEST' GROUP BY checkedTemplate, checkedRule, bankCountry ORDER BY cnt desc LIMIT 30", + "refId": "A", + "round": "0s", + "table": "events_unique", + "tableLoading": false + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Fraud Top 20 error", + "type": "grafana-piechart-panel", + "valueName": "total" + }, + { + "aliasColors": { + "cancellRate": "light-orange", + "cancelled": "light-orange", + "cancelledRate": "semi-dark-yellow", + "captured": "semi-dark-green", + "failed": "semi-dark-red", + "failedRate": "semi-dark-red", + "fatalRate": "semi-dark-red", + "lowRate": "semi-dark-green" + }, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "ClickHouse", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 0, + "y": 27 + }, + "id": 2, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": false, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": false, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "database": "analytic", + "dateColDataType": "timestamp", + "dateLoading": false, + "dateTimeColDataType": "eventTime", + "dateTimeType": "TIMESTAMP", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n t,\n low * 100 / all captured,\n fatal * 100 / all failed,\n cancell * 100 / all cancelled\nFROM\n(\n SELECT\n (intDiv(eventTime, 60) * 60) * 1000 AS t,\n countIf(status = 'captured') AS low,\n countIf(status = 'failed') AS fatal,\n countIf(status = 'cancelled') AS cancell,\n count() as all\n FROM fraud.payment\n WHERE\n timestamp >= toDate($from)\n and timestamp <= toDate($to)\n AND eventTime >= $from\n and eventTime <= $to\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\n and shopId!='TEST'\n GROUP BY t\n ORDER BY t\n)", + "rawQuery": "SELECT t, low * 100 / all captured, fatal * 100 / all failed, cancell * 100 / all cancelled FROM ( SELECT (intDiv(eventTime, 60) * 60) * 1000 AS t, countIf(status = 'captured') AS low, countIf(status = 'failed') AS fatal, countIf(status = 'cancelled') AS cancell, count() as all FROM fraud.payment WHERE timestamp >= toDate(1594117417) and timestamp <= toDate(1594128219) AND eventTime >= 1594117417 and eventTime <= 1594128219 and match(partyId, '.') and match(shopId, '.') and shopId!='TEST' GROUP BY t ORDER BY t )", + "refId": "A", + "round": "0s", + "table": "events_sink", + "tableLoading": false + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Success rate", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "cancelledRate": "semi-dark-yellow", + "failedRate": "semi-dark-red", + "fatalRate": "semi-dark-red", + "fraud": "semi-dark-red", + "normal": "semi-dark-green" + }, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "ClickHouse", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 8, + "w": 12, + "x": 12, + "y": 27 + }, + "id": 22, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": false, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": false, + "linewidth": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "database": "analytic", + "dateColDataType": "timestamp", + "dateLoading": false, + "dateTimeColDataType": "eventTime", + "dateTimeType": "TIMESTAMP", + "datetimeLoading": false, + "extrapolate": true, + "format": "time_series", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "interval": "", + "intervalFactor": 1, + "query": "SELECT\n t,\n low * 100 / all normal,\n fatal * 100 / all fraud\nFROM\n(\n SELECT\n (intDiv(eventTime, 60) * 60) * 1000 AS t,\n countIf(status = 'captured' or status='cancelled') AS low,\n countIf(status = 'failed' and errorCode='no_route_found:risk_score_is_too_high') AS fatal,\n count() as all\n FROM fraud.payment\n WHERE\n timestamp >= toDate($from)\n and timestamp <= toDate($to)\n AND eventTime >= $from\n and eventTime <= $to\n and match(partyId, '$partyId')\n and match(shopId, '$shopId')\n and shopId!='TEST'\n GROUP BY t\n ORDER BY t\n)", + "rawQuery": "SELECT t, low * 100 / all normal, fatal * 100 / all fraud FROM ( SELECT (intDiv(eventTime, 60) * 60) * 1000 AS t, countIf(status = 'captured' or status='cancelled') AS low, countIf(status = 'failed' and errorCode='no_route_found:risk_score_is_too_high') AS fatal, count() as all FROM fraud.payment WHERE timestamp >= toDate(1594117417) and timestamp <= toDate(1594128219) AND eventTime >= 1594117417 and eventTime <= 1594128219 and match(partyId, '.') and match(shopId, '.') and shopId!='TEST' GROUP BY t ORDER BY t )", + "refId": "A", + "round": "0s", + "table": "events_sink", + "tableLoading": false + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Fraud rate", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Errors and country", + "type": "row" + } + ], + "refresh": false, + "schemaVersion": 16, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + "value": "${VAR_PARTYID}", + "text": "${VAR_PARTYID}" + }, + "hide": 0, + "label": "partyId", + "name": "partyId", + "options": [ + { + "value": "${VAR_PARTYID}", + "text": "${VAR_PARTYID}" + } + ], + "query": "${VAR_PARTYID}", + "skipUrlSync": false, + "type": "constant" + }, + { + "current": { + "value": "${VAR_SHOPID}", + "text": "${VAR_SHOPID}" + }, + "hide": 0, + "label": "shopId", + "name": "shopId", + "options": [ + { + "value": "${VAR_SHOPID}", + "text": "${VAR_SHOPID}" + } + ], + "query": "${VAR_SHOPID}", + "skipUrlSync": false, + "type": "constant" + }, + { + "current": { + "value": "${VAR_PAYMENTCOUNTRY}", + "text": "${VAR_PAYMENTCOUNTRY}" + }, + "hide": 0, + "label": "paymentCountry", + "name": "paymentCountry", + "options": [ + { + "value": "${VAR_PAYMENTCOUNTRY}", + "text": "${VAR_PAYMENTCOUNTRY}" + } + ], + "query": "${VAR_PAYMENTCOUNTRY}", + "skipUrlSync": false, + "type": "constant" + }, + { + "current": { + "value": "${VAR_BIN}", + "text": "${VAR_BIN}" + }, + "hide": 0, + "label": "bin", + "name": "bin", + "options": [ + { + "value": "${VAR_BIN}", + "text": "${VAR_BIN}" + } + ], + "query": "${VAR_BIN}", + "skipUrlSync": false, + "type": "constant" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "Analytics antifraud metrcis", + "uid": "VtJP3auWk", + "version": 20 +} \ No newline at end of file diff --git a/grafana/dashboards/jsons/Antifraud-metrics-1594123100933.json b/grafana/dashboards/jsons/Antifraud-metrics-1594123100933.json new file mode 100644 index 0000000..5318ce2 --- /dev/null +++ b/grafana/dashboards/jsons/Antifraud-metrics-1594123100933.json @@ -0,0 +1,172 @@ +{ + "__inputs": [ + { + "name": "ClickHouse", + "label": "ClickHouse", + "description": "", + "type": "datasource", + "pluginId": "vertamedia-clickhouse-datasource", + "pluginName": "ClickHouse" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "5.1.0" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "5.0.0" + }, + { + "type": "datasource", + "id": "vertamedia-clickhouse-datasource", + "name": "ClickHouse", + "version": "2.0.1" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "", + "editable": true, + "gnetId": 3457, + "graphTooltip": 0, + "id": null, + "iteration": 1594122950512, + "links": [], + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 40, + "panels": [], + "title": "Clickhouse Tables", + "type": "row" + }, + { + "cacheTimeout": null, + "columns": [], + "datasource": "ClickHouse", + "description": "", + "fontSize": "100%", + "gridPos": { + "h": 5, + "w": 24, + "x": 0, + "y": 1 + }, + "id": 44, + "links": [], + "options": {}, + "pageSize": null, + "pluginVersion": "6.3.6", + "scroll": true, + "showHeader": true, + "sort": { + "col": null, + "desc": false + }, + "styles": [ + { + "alias": "Time", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Time", + "type": "date" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "number", + "unit": "short" + } + ], + "targets": [ + { + "database": "analytic", + "dateTimeType": "DATETIME", + "extrapolate": true, + "format": "table", + "formattedQuery": "SELECT $timeSeries as t, count() FROM $table WHERE $timeFilter GROUP BY t ORDER BY t", + "intervalFactor": 1, + "query": "SELECT * FROM system.events LIMIT 10 ", + "rawQuery": "SELECT * FROM system.events LIMIT 10", + "refId": "A", + "round": "0s" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "MAX QUERY", + "transform": "table", + "type": "table" + } + ], + "refresh": "10s", + "schemaVersion": 16, + "style": "dark", + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-15m", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Antifraud-metrics", + "uid": "HnyHGmHWz", + "version": 7 +} \ No newline at end of file diff --git a/grafana/datasources/datasources.yml b/grafana/datasources/datasources.yml new file mode 100644 index 0000000..cd1fb55 --- /dev/null +++ b/grafana/datasources/datasources.yml @@ -0,0 +1,9 @@ +datasources: + - access: 'proxy' # make grafana perform the requests + type: vertamedia-clickhouse-datasource + editable: true # whether it should be editable + is_default: true # whether this should be the default DS + name: 'ClickHouse' # name of the datasource + org_id: 1 # id of the organization to tie this datasource to + url: 'http://clickhouse:8123' # url of the prom instance + version: 1 # well, versioning \ No newline at end of file diff --git a/images/fb_scheme.png b/images/fb_scheme.png new file mode 100644 index 0000000000000000000000000000000000000000..ce99b36e5744643d13d7f745e4b74273093e0e69 GIT binary patch literal 112449 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 literal 0 HcmV?d00001 diff --git a/images/fraud scheme.png b/images/fraud scheme.png new file mode 100644 index 0000000000000000000000000000000000000000..5fa065bb335c077bc3b9968f6f687e6bfe639337 GIT binary patch literal 81851 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.& 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 + + + + + + + + + + + \ No newline at end of file