awslabs/aws-embedded-metrics-java

Using FireLens on ECS Fargate with EMF

goldmar opened this issue · 1 comments

Hi team,

I am trying to setup FireLens on ECS Fargate. I've got it to take my logs from stdout and publish them to a CloudWatch log group via FireLens. However, I would like to also publish embedded metrics from my ECS application.

I am using this library for this and I see the following log statement:
Using FluentBit configuration. Endpoint: tcp://127.0.0.1:25888

However, when I try to flush some metrics, I get the following:

Failed to connect to the socket due to the exception:
java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:?]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399) ~[?:?]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242) ~[?:?]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224) ~[?:?]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:?]
at java.net.Socket.connect(Socket.java:609) ~[?:?]
at java.net.Socket.connect(Socket.java:558) ~[?:?]
at software.amazon.cloudwatchlogs.emf.sinks.TCPClient.connect(TCPClient.java:40) ~[aws-embedded-metrics-1.0.3.jar:1.0.3]
at software.amazon.cloudwatchlogs.emf.sinks.TCPClient.sendMessage(TCPClient.java:55) ~[aws-embedded-metrics-1.0.3.jar:1.0.3]
at software.amazon.cloudwatchlogs.emf.sinks.AgentSink.accept(AgentSink.java:52) ~[aws-embedded-metrics-1.0.3.jar:1.0.3]
at software.amazon.cloudwatchlogs.emf.logger.MetricsLogger.flush(MetricsLogger.java:65) ~[aws-embedded-metrics-1.0.3.jar:1.0.3]

Do I need to provide any additional configuration? Thanks!

Mark

Resolved the problem on my own. I was missing the fluent bit config file.

Here's an example: https://github.com/awslabs/aws-embedded-metrics-java/blob/master/examples/ecs-firelens/fluent-bit.conf