File tree 4 files changed +30
-2
lines changed
cmd/contract-event-processor
4 files changed +30
-2
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,9 @@ import (
10
10
11
11
"github.com/DIMO-Network/shared"
12
12
"github.com/Shopify/sarama"
13
+ "github.com/gofiber/adaptor/v2"
14
+ "github.com/gofiber/fiber/v2"
15
+ "github.com/prometheus/client_golang/prometheus/promhttp"
13
16
"github.com/rs/zerolog"
14
17
)
15
18
@@ -39,6 +42,8 @@ func main() {
39
42
}
40
43
}
41
44
45
+ monApp := serveMonitoring (settings .MonitoringPort , & logger )
46
+
42
47
kafkaClient , err := services .StartKafkaStream (settings )
43
48
if err != nil {
44
49
log .Fatal (err )
@@ -57,4 +62,24 @@ func main() {
57
62
58
63
listener .CompileRegistryMap ("config.yaml" )
59
64
listener .ChainIndexer (blockNum )
65
+
66
+ monApp .Shutdown ()
67
+ }
68
+
69
+ func serveMonitoring (port string , logger * zerolog.Logger ) * fiber.App {
70
+ monApp := fiber .New (fiber.Config {DisableStartupMessage : true })
71
+
72
+ // Health check.
73
+ monApp .Get ("/" , func (c * fiber.Ctx ) error { return nil })
74
+ monApp .Get ("/metrics" , adaptor .HTTPHandler (promhttp .Handler ()))
75
+
76
+ go func () {
77
+ if err := monApp .Listen (":" + port ); err != nil {
78
+ logger .Fatal ().Err (err ).Str ("port" , port ).Msg ("Failed to start monitoring web server." )
79
+ }
80
+ }()
81
+
82
+ logger .Info ().Str ("port" , port ).Msg ("Started monitoring web server." )
83
+
84
+ return monApp
60
85
}
Original file line number Diff line number Diff line change @@ -48,6 +48,8 @@ type Settings struct {
48
48
PostgresDB string `yaml:"POSTGRES_DB"`
49
49
PostgresHOST string `yaml:"POSTGRES_HOST"`
50
50
PostgresPort int `yaml:"POSTGRES_PORT"`
51
+
52
+ MonitoringPort string `yaml:"MONITORING_PORT"`
51
53
}
52
54
53
55
type BlockListener struct {
Original file line number Diff line number Diff line change 1
1
WEB_SOCKET_ADDRESS : wss://polygon-mainnet.g.alchemy.com/v2/
2
2
API_KEY :
3
- EVENT_STREAM_TOPIC : topic.event.stream
3
+ EVENT_STREAM_TOPIC : topic.contract.event
4
4
PARTITIONS : 1
5
5
KAFKA_BROKER : localhost:9092
6
6
POSTGRES_USER : postgres
@@ -9,3 +9,4 @@ POSTGRES_DB: postgres
9
9
POSTGRES_HOST : localhost
10
10
POSTGRES_PORT : 5432
11
11
BLOCK_CONFIRMATIONS : 5
12
+ MONITORING_PORT : 8888
Original file line number Diff line number Diff line change 1
1
[psql ]
2
- schema = " chain_indexer "
2
+ schema = " contract_event_processor "
3
3
dbname = " postgres"
4
4
blacklist = [" migrations" ]
5
5
host = " localhost"
You can’t perform that action at this time.
0 commit comments