Reading Umbrel Logfiles 🇬🇧

lcodes

2021/06/16

Categories: Tutorial Tags: lightning,umbrel,logfiles,logs

How to access the Umbrel logfiles

For getting access to the logfiles of Umbrel you need to follow those steps:

  1. Connect via ssh to your umbrel node. The user is umbrel the password is the one you use to login into the webfrontend.
  2. Linux:

    ssh umbrel@<internal ip/external ip/tor-name>
    

This is how the structure of your umbrel node should look like if you run it on a raspi with the raspi image:

umbrel@umbrel:~ $ ls
umbrel
umbrel@umbrel:~ $ cd umbrel/
umbrel@umbrel:~/umbrel $ ls
LICENSE.md  README.md  SECURITY.md  app-data  apps  bin  bitcoin  db  docker-compose.yml  electrs  events  info.json  karen  lnd  logs  nginx  scripts  statuses  templates  tor
umbrel@umbrel:~/umbrel $ id
uid=1000(umbrel) gid=1000(umbrel) groups=1000(umbrel),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),105(input),109(netdev),996(docker),997(gpio),998(i2c),999(spi)
  1. At first we want to see the running docker containers:

    umbrel@umbrel:~/umbrel $ docker ps
    

Now we get a quick overview of whats going on with docker.

7902c05d3b86   mempool/frontend:v2.1.2         "/patch/entrypoint.s…"   2 days ago     Up 2 days     80/tcp, 0.0.0.0:3006->3006/tcp                                                                  mempool_web_1
7ace30a30c42   mariadb:10.5.8                  "docker-entrypoint.s…"   2 days ago     Up 2 days     3306/tcp                                                                                        mempool_mariadb_1
a53c3e3b2489   mempool/backend:v2.1.2          "docker-entrypoint.s…"   2 days ago     Up 2 days     8999/tcp                                                                                        mempool_api_1
df1966e200bc   getumbrel/middleware:v0.1.10    "docker-entrypoint.s…"   5 days ago     Up 5 days     3006/tcp                                                                                        middleware
6fe20b997db7   lncm/bitcoind:v0.21.1           "bitcoind -zmqpubraw…"   5 days ago     Up 5 days     8080/tcp, 8332/tcp, 18332-18333/tcp, 18443-18444/tcp, 28332-28333/tcp, 0.0.0.0:8333->8333/tcp   bitcoin
97f35b91e57e   lncm/lnd:v0.12.1                "/usr/local/bin/lnd"     5 days ago     Up 5 days     0.0.0.0:8080->8080/tcp, 0.0.0.0:9735->9735/tcp, 0.0.0.0:10009->10009/tcp, 9911/tcp              lnd
4a43bb2c7986   nginx:1.17.8                    "nginx -g 'daemon of…"   5 days ago     Up 5 days     0.0.0.0:80->80/tcp                                                                              nginx
b7c98e435dd6   getumbrel/manager:v0.2.11       "docker-entrypoint.s…"   5 days ago     Up 5 days     3006/tcp                

Umbrel sorts all services in their own container, this is best practise. We know that the container we are searching for is lnd so lets adjust our request.

umbrel@umbrel:~/umbrel $ docker ps|grep lnd
97f35b91e57e   lncm/lnd:v0.12.1 "/usr/local/bin/lnd" 5 days ago Up 5 days 0.0.0.0:8080->8080/tcp, 0.0.0.0:9735->9735/tcp, 0.0.0.0:10009->10009/tcp, 9911/tcp lnd

We pick the first field (97f35b91e57e) as our id. With another docker command we can easily read and follow all incoming logs:

umbrel@umbrel:~/umbrel $ docker logs -f 97f35b91e57e

The flag -f tells docker to follow the log file and not just print out what has been incoming so far. This helps us to track also new events. If we want to leave that mode, simple press CTRL+C the same time and your back at the commandprompt. This is a short snippet of my logoutput.

021-06-16 07:28:00.754 [INF] UTXN: Attempting to graduate height=687777: num_kids=0, num_babies=0
2021-06-16 07:28:20.738 [INF] DISC: Broadcasting 82 new announcements in 9 sub batches
2021-06-16 07:28:44.251 [INF] WTCL: (legacy) Client stats: tasks(received=338 accepted=338 ineligible=0) sessions(acquired=0 exhausted=0)
2021-06-16 07:28:44.376 [INF] WTCL: (anchor) Client stats: tasks(received=0 accepted=0 ineligible=0) sessions(acquired=0 exhausted=0)
2021-06-16 07:28:56.268 [INF] CRTR: Processed channels=0 updates=32 nodes=3 in last 59.999858721s

You can use the same workflow for other containers and their logs.

ProTip:

If you are doing this regulary you can add an alias to your .bashrc file for quicker access. This has to be done from your home-directory.

umbrel@umbrel:~/umbrel $ cd
umbrel@umbrel:~ $ 
umbrel@umbrel:~ $ echo "alias lndlogs=\"docker logs -f \`docker ps|grep lnd|cut -d \" \" -f 1`\"" >> .bashrc
umbrel@umbrel:~ $ . .bashrc
umbrel@umbrel:~ $ lndlogs

If everything worked alright, you can now access the logs easily with your new command.

The End

I hope this was useful for someone and happy logging :)

>> Home