Skip to content

Commit

Permalink
feat(ci): add vector to handle logs pipeline (#5021)
Browse files Browse the repository at this point in the history
  • Loading branch information
lsampras committed Jun 24, 2024
1 parent 8ceaaa9 commit fed7b69
Show file tree
Hide file tree
Showing 5 changed files with 162 additions and 24 deletions.
2 changes: 1 addition & 1 deletion config/dashboard.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ surcharge=false
dispute_evidence_upload=false
paypal_automatic_flow=false
threeds_authenticator=false
global_search=false
global_search=true
dispute_analytics=true
configure_pmts=false
branding=false
Expand Down
8 changes: 8 additions & 0 deletions config/prometheus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,11 @@ scrape_configs:

static_configs:
- targets: ["otel-collector:8888"]

- job_name: "vector"

# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.

static_configs:
- targets: ["vector:9598"]
134 changes: 134 additions & 0 deletions config/vector.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
acknowledgements:
enabled: true

api:
enabled: true
address: 0.0.0.0:8686

sources:
kafka_tx_events:
type: kafka
bootstrap_servers: kafka0:29092
group_id: sessionizer
topics:
- hyperswitch-payment-attempt-events
- hyperswitch-payment-intent-events
- hyperswitch-refund-events
- hyperswitch-dispute-events
decoding:
codec: json

app_logs:
type: docker_logs
include_labels:
- "logs=promtail"

vector_metrics:
type: internal_metrics

node_metrics:
type: host_metrics

transforms:
plus_1_events:
type: filter
inputs:
- kafka_tx_events
condition: ".sign_flag == 1"

hs_server_logs:
type: filter
inputs:
- app_logs
condition: '.labels."com.docker.compose.service" == "hyperswitch-server"'

parsed_hs_server_logs:
type: remap
inputs:
- app_logs
source: |-
.message = parse_json!(.message)
events:
type: remap
inputs:
- plus_1_events
source: |-
.timestamp = from_unix_timestamp!(.created_at, unit: "seconds")
sinks:
opensearch_events:
type: elasticsearch
inputs:
- events
endpoints:
- "https://opensearch:9200"
id_key: message_key
api_version: v7
tls:
verify_certificate: false
verify_hostname: false
auth:
strategy: basic
user: admin
password: 0penS3arc#
encoding:
except_fields:
- message_key
- offset
- partition
- topic
bulk:
# Add a date prefixed index for better grouping
# index: "vector-{{ .topic }}-%Y-%m-%d"
index: "{{ .topic }}"

opensearch_logs:
type: elasticsearch
inputs:
- parsed_hs_server_logs
endpoints:
- "https://opensearch:9200"
api_version: v7
tls:
verify_certificate: false
verify_hostname: false
auth:
strategy: basic
user: admin
password: 0penS3arc#
bulk:
# Add a date prefixed index for better grouping
# index: "vector-{{ .topic }}-%Y-%m-%d"
index: "logs-{{ .container_name }}-%Y-%m-%d"

log_events:
type: loki
inputs:
- kafka_tx_events
endpoint: http:https://loki:3100
labels:
source: vector
topic: "{{ .topic }}"
job: kafka
encoding:
codec: json

log_app_loki:
type: loki
inputs:
- parsed_hs_server_logs
endpoint: http:https://loki:3100
labels:
source: vector
job: app_logs
container: "{{ .container_name }}"
stream: "{{ .stream }}"
encoding:
codec: json

metrics:
type: prometheus_exporter
inputs:
- vector_metrics
- node_metrics
1 change: 1 addition & 0 deletions crates/analytics/src/clickhouse.rs
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,7 @@ impl TryInto<RefundFilterRow> for serde_json::Value {
))
}
}

impl TryInto<DisputeMetricRow> for serde_json::Value {
type Error = Report<ParsingError>;

Expand Down
41 changes: 18 additions & 23 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -245,18 +245,6 @@ services:
- ./config/grafana.ini:/etc/grafana/grafana.ini
- ./config/grafana-datasource.yaml:/etc/grafana/provisioning/datasources/datasource.yml

promtail:
image: grafana/promtail:latest
volumes:
- ./logs:/var/log/router
- ./config:/etc/promtail
- /var/run/docker.sock:/var/run/docker.sock
command: -config.file=/etc/promtail/promtail.yaml
profiles:
- monitoring
networks:
- router_net

loki:
image: grafana/loki:latest
ports:
Expand Down Expand Up @@ -387,21 +375,13 @@ services:
soft: 262144
hard: 262144

fluentd:
build: ./docker/fluentd
volumes:
- ./docker/fluentd/conf:/fluentd/etc
networks:
- router_net
profiles:
- olap

opensearch:
image: public.ecr.aws/opensearchproject/opensearch:1.3.14
image: opensearchproject/opensearch:2
container_name: opensearch
hostname: opensearch
environment:
- "discovery.type=single-node"
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=0penS3arc#
profiles:
- olap
ports:
Expand All @@ -410,7 +390,7 @@ services:
- router_net

opensearch-dashboards:
image: opensearchproject/opensearch-dashboards:1.3.14
image: opensearchproject/opensearch-dashboards:2
ports:
- 5601:5601
profiles:
Expand All @@ -419,3 +399,18 @@ services:
OPENSEARCH_HOSTS: '["https://opensearch:9200"]'
networks:
- router_net

vector:
image: timberio/vector:latest-debian
ports:
- "8686"
- "9598"
profiles:
- olap
environment:
KAFKA_HOST: 'kafka0:29092'
networks:
- router_net
volumes:
- ./config/vector.yaml:/etc/vector/vector.yaml
- /var/run/docker.sock:/var/run/docker.sock

0 comments on commit fed7b69

Please sign in to comment.