ethrbunny
ethrbunny

Reputation: 10479

Logging from a storm bolt - where is it going?

I have several bolts deployed to a topology on a cluster. Each is configured to log via slf4j. On the test machine I get both the stdout and the file appenders working fine.

When I deploy this to the cluster the logging seems to have disappeared. I don't get anything in the storm logs (on the supervisor machines), to /var/log/* or anywhere else as far as I can tell.

Should I be able to use a logging system inside a storm worker? If so, is there a trick to getting the messages?

Machines are all running CentOS 6.6 x64

Upvotes: 8

Views: 8066

Answers (3)

pomber
pomber

Reputation: 23990

In my case (using the official storm docker image) logs were in the supervisor container:

/logs/workers-artifacts/MyTopology-1-123123123/123/worker.log

Upvotes: 4

m.semnani
m.semnani

Reputation: 797

You can set storm.workers.artifacts.dir parameter in storm.yaml and from now on, workers artifacts (including logs) will be saved in that path in a folder which is named after your topology name.

Upvotes: 1

Saurabh Saxena
Saurabh Saxena

Reputation: 1407

This blog post suggest a method to find location of log files on storm cluster. http://www.saurabhsaxena.net/how-to-find-storm-worker-log-directory/

When topology is deployed on cluster, topology logs are written in worker*.log files.

As mentioned in the blog post

  • First step would be to fine the log directory location. This can be done using 'ps' command. Search for nimbus process $ ps aux|grep nimbus
  • Look for -Dstorm.log.dir in the output.
  • Go to log dir and look into worker*.log file for topology logs.

Upvotes: 4

Related Questions