I recently launched a new Rails app on Digital Ocean using Dokku. I wanted to pipe out my Rails log data to Loggly, and found the documentation on this to be pretty sparse.
This should capture the steps I took to set it up. These steps assume you have a working Digital Ocean droplet with Dokku 0.7.1 or newer, and Rails 5 (though it should work fine with other frameworks that can log to syslog).
# SSH into your dokku box
dokku ssh
# install the logspout dokku plugin
dokku plugin:install https://github.com/michaelshobbs/dokku-logspout.git
# For TLS:
dokku logspout:server syslog+tls://logs-01.loggly.com:6514
# For non-encrypted:
dokku logspout:server syslog://logs-01.loggly.com:514
# optionally install dokku-hostname
# this sets the app name in loggly to your app, instead of docker container guids
dokku plugin:install https://github.com/michaelshobbs/dokku-hostname.git dokku-hostname
# start logspout
dokku logspout:start
# if you have any errors starting, check the docker logs for hints
docker logs logspout
# rebuild your dokku containers
dokku ps:rebuildall
# see if the stream is working (hit a page in your rails app)
dokku logspout:info
dokku logspout:stream
Grab your customer token from Loggly at https://www.loggly.com/docs/customer-token-authentication-token/
or https://MYUSERNAME.loggly.com/tokens
# edit your logspout environment variables
vi /home/dokku/.logspout/ENV
# add your loggly customer token, replacing the < ... >
SYSLOG_STRUCTURED_DATA=<loggly customer token>@41058
# restart logspout
dokku logspout:stop; dokku logspout:start
If all goes well, you should be able to hit a page in your Rails app and see the log data in Loggly live tail or dashboard.
Comment below if you have questions, comments, or problems setting it up yourself!