amir20 / dozzle Goto Github PK
View Code? Open in Web Editor NEWRealtime log viewer for docker containers.
Home Page: https://dozzle.dev/
License: MIT License
Realtime log viewer for docker containers.
Home Page: https://dozzle.dev/
License: MIT License
Hi
I'm trying to run Dozzle on my Raspberry PI but after creating the container and trying to run it I just get:
standard_init_linux.go:211: exec user process caused "exec format error"
I think it's because of my architecture since there's no ARM build?
Can you write a docker-compose version of this?
Hey, it's me, again 🗡
After having you help me a lot here, I encountered another error.
As before, if this is only reproduceable on my particular environment and/or it is too much to fix (if there is anything to fix).
Now, when the logs are fully loaded after clicking on them, if a new line of the log appear, instead of adding it to the bottom it only goes with RangeError: Invalid time value
in the console.
If I click on another container, then again in the same as before, of course it updates the entire thing.
Hi,
I was wondering if you can include client option or let me know how I can combine all filtered container logs in a single file.
Thanks
Is it possible to run this fantastic piece of software using an older Docker version (specifically the 1.18)?
Sadly my Synology DSM doesn't support a newer version of it in the store.
Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): a263667
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): a263667
OS/Arch (server): linux/amd64
Just creating a feature request. It would be nice to run dozzle off-host (or not have to mount the docker unix socket). Docker can be configured with mutual TLS authentication for the client and daemon.
See also
https://docs.docker.com/engine/security/https/
I also have certificate authority management scripts for this purpose
https://github.com/samrocketman/my_internal_ca
When viewing Dozzle in mobile Safari (iOS 12.4.2 / iPhone 6) I can only see 15 containers in the list. I am unable to scroll further down the list to see my other containers.
Log4j stacktrace appends time to every line, it should append it just to the first line and for the rest leave a tab.
Any idea on how to quickly fix this or I guess I will look over the code and try to contribute.
Thanks
Radu
Like in a SQLite db, nothing complex or dependency heavy.
Using docker-compose
, if I set a container to tty: true
, none of the logs are visible on the web GUI (I can however see that the container does exist).
First of all thanks a lot for this great project!
I was wondering if it is hard to add an option to do regular expression searches? This would be super helpful especially when you are searching for more generic patterns within the logs.
Thanks!
The dozzle output remains blank and the network tab of the browser shows the /stream?id=######
API call to never start nor finish. It receives no data back.
Steps to reproduce
I really want this to work, because Dozzle is perfect for viewing the output of an automated trading bot.
This is an example of the output from a Gekko container straight from docker CLI
Creating gekkobot_gekko-cli-test ... done
Attaching to gekkobot_gekko-cli-test
gekko-cli-test |
gekko-cli-test | ______ ________ __ __ __ __ ______
gekko-cli-test | / \ / |/ | / |/ | / | / \
gekko-cli-test | /$$$$$$ |$$$$$$$$/ $$ | /$$/ $$ | /$$/ /$$$$$$ |
gekko-cli-test | $$ | _$$/ $$ |__ $$ |/$$/ $$ |/$$/ $$ | $$ |
gekko-cli-test | $$ |/ |$$ | $$ $$< $$ $$< $$ | $$ |
gekko-cli-test | $$ |$$$$ |$$$$$/ $$$$$ \ $$$$$ \ $$ | $$ |
gekko-cli-test | $$ \__$$ |$$ |_____ $$ |$$ \ $$ |$$ \ $$ \__$$ |
gekko-cli-test | $$ $$/ $$ |$$ | $$ |$$ | $$ |$$ $$/
gekko-cli-test | $$$$$$/ $$$$$$$$/ $$/ $$/ $$/ $$/ $$$$$$/
gekko-cli-test |
gekko-cli-test | Gekko v0.6.8
gekko-cli-test | I'm gonna make you rich, Bud Fox.
gekko-cli-test |
gekko-cli-test |
gekko-cli-test | 2019-10-29 15:22:40 (INFO): Setting up Gekko in realtime mode
gekko-cli-test | 2019-10-29 15:22:40 (INFO):
gekko-cli-test | 2019-10-29 15:22:40 (INFO): Setting up:
gekko-cli-test | 2019-10-29 15:22:40 (INFO): Candle writer
gekko-cli-test | 2019-10-29 15:22:40 (INFO): Store candles in a database
gekko-cli-test | 2019-10-29 15:22:40 (INFO):
gekko-cli-test |
gekko-cli-test | 2019-10-29 15:22:40 (INFO): Setting up:
gekko-cli-test | 2019-10-29 15:22:40 (INFO): Trading Advisor
gekko-cli-test | 2019-10-29 15:22:40 (INFO): Calculate trading advice
Dozzle is working for any other container and shows the output, but strangely I do see a console error
Firefox can’t establish a connection to the server at https://dozzle.domain.com/api/events/stream. main.b644d699.js:12:278
The connection to https://dozzle.domain.com/api/logs/stream?id=################ was interrupted while the page was loading.
Even with that error, it still loads the stream for the non gekko containers. Any idea why it won't load the gekko container stream, with no response from the API?
And, what is the meaning of the console error for the containers even when it loads fine?
Hi all,
the project seems very good! I want to use it on my Raspberry server, but I cannot do it because the docker image is not arm32v6
compatible.
I tried to fork the repo, modify the Dockerfile to use a arm32v6/alpine:latest
as base image but it doesn't work.
The first problem that I got is that I was unable to build the image from within the repo folder. The steps that I followed are the following:
arm32v6/alpine:latest
as base imagecd dozzle
docker build -t bubidevs/dozzle:latest -f Dockerfile-arm32v7 .
Here I got an error on the last build step:
Step 7/8 : COPY dozzle /
COPY failed: stat /var/lib/docker/tmp/docker-builder446079037/dozzle: no such file or directory
To solve the issue, I went back outside the dozzle
folder and built the image in this way:
cd ..
docker build -t bubidevs/dozzle:latest -f dozzle/Dockerfile-arm32v7 .
In this way I was able to build the image, but when I try to create a container, it fails with this error:
ERROR: for dozzle Cannot start service dozzle: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"/dozzle\": stat /dozzle: no such file or directory": unknown
Could you please help me?
Many thanks in advice!
Hello,
is there a way to filter the log messages by date.
When i press the Strg + Shift buttons i see the search field.
Can i enter a date like 'now' or 'yesterday'.
Your sincerly
Stephan
When viewing on mobile I'd really like to see the menu auto-collapse after selecting a container to view
Do you plan to implement logs from swarm services? Like docker service logs myservice
output.
Is there a way to set a base URL? I'd like to run Dozzle at /dozzle/, instead of at /.
A lot of my log text contains angle brackets <> and dozzle just pipes it directly into the page source without escaping it, resulting in my browser treating a lot of my log text as HTML tags. Can you update the ansi-to-html converter to use the escapeXML option, or at least add an option to do so?
Reflex is in package.json but not automatically installed
Currently Dozzle includes today at 9:29 AM
in each line.
Since the log itself have timestamp, its possible for us to hide this?
Thanks in advance.
Related to
With the new version, the logs do not auto-update reliably, however. They seem to only update every few minutes. Is that a bug, or will continuous updating not work with server events?
@kmlucy I am leaving this as a placeholder until we can debug it.
Hello Amir,
Thanks for the good tool.
We use for our project this tool.
On our docker host there are many docker containers.
It is usefull to see the log messages from a single container.
Have a good Christmas time.
Your sincerly
Stephan
Width is broken on mobile see antoniandre/splitpanes#74
Does it possible?
DOZZLE_FILTER
is not working for me. Any Idea what I'm doing wrong?
Here how I use it:
docker run -e DOZZLE_FILTER='nginx' --volume=/var/run/docker.sock:/var/run/docker.sock -p 8081:8080 amir20/dozzle:latest
Container is immediately crashing with following error:
time="2019-12-02T09:30:25Z" level=info msg="Parsing nginx"
level=info msg="Dozzle version 1.17.0"
level=fatal msg="Could not connect to Docker Engine: Error response from daemon: Invalid filter 'nginx'"
I'm wondering if it would be possible to restrict the list of availble containers?
E.g 1 host with 2 projects, would be good if you could restict to only show containers from 1 project
Hello, is there a way to filter the messages of a container ?
For example, we use in the log messages a level and the message is a json object.
{ ... ,"level": 400, ... }
I will find all log messages with level >= 400.
Is there a way ?
Your sincerly
Stephan
This is a great tool! Thanks so much!
I was wondering if it can get integrated to https://goaccess.io/ for log processing and more.
Thanks in advance.
Is it possible to have multiple dozzle_filters? What would be the syntax?
Hi,
Horizontal scroll bar not coming, when message length is too big, its getting truncated from right
Looks like I'm running in same issue as #13
Locally it works fine, api/logs/stream
returns some data almost immediately (<40ms)
But in our staging environment it takes ages to load some data, some request are running into timeouts without returning any data. I found out that only running containers are affected. Logs for stopped containers are available immediately. There seems to be some problem with requesting log data from docker, but docker logs
forks fine. Any idea how I can debug it, any docker configs I can play with?
Line 77 in e06d6a1
The log viewer is not perfect. Because overflow: auto
is used to show multiple panels, in mobile view, it doesn't look really good with touch.
I would also like to add some other things that I can watch in the list. For example, inside of the LetsEncrypt (Nginx) container there are access.log
and error.log
that reside inside /config/log/nginx
.
Is there some way I can specifically add /config/log/nginx/access.log
and /config/log/nginx/error.log
to the list of logs?
thanks!
Kacey
Hi. When I check dozzle on one of my containers, I can only scroll back around 200 lines. But the docker container itself has thousands of lines when I attach to the docker logs directly.
How can I change the lookback limit so it shows me the full docker log in dozzle?
Thanks!
There's not a ton of space if you put 2 or 3 logs up side-by-side. May I suggest a few improvements?
Great project BTW. I was looking for a nice simple alternative to the other Docker UIs out there and this is perfect! So thank you.
Just installed Dozzle and very cool and useful. =)
Right off the bat I notice something that it seems to be missing that would make it much more useful and "powerful"; the ability to split the main window into smaller ones, and open other logs in them.
i.e. open up 2 different logs side by side, or 4 separate logs in 4 smaller "windows", all on the same screen, so you can monitor more than 1 log at a time if/when needed.
--
The ability to change the font sizes and colors as well. (without having to hack the .css ourselves)
--
And also, the ability to have better automatic coloring of the contents of the logs to make things easier to quickly glean info from at quick glances. Maybe some RegEx adding ability?
On the gif from the readme I can see that there was an fancy blue tooltip with full container name.
Unfortunately it seems to not working anymore, it is missing even on the preview on dozzle.dev. Any ideas how to fix it?
Isues
https://github.com/amir20/dozzle#with-docker-compose writes:
version: "3"
services:
dozzle:
container_name: dozzle
image: amir20/dozzle:latest
environment:
- DOZZLE_TAILSIZE=100
- DOZZLE_FILTER='status:running'
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 9999:8080
But if I try that, I get:
dozzle | time="2020-02-26T19:14:29Z" level=info msg="Parsing 'status:running'"
dozzle | level=info msg="Dozzle version 1.20.20"
dozzle | level=fatal msg="Could not connect to Docker Engine: Error response from daemon: Invalid filter ''status:running''"
I have Dozzle reverse proxied with SSL. The main page loads, but the websocket connections do not:
Mixed Content: The page at 'https://URL/dozzle/container/ID' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://URL/dozzle/api/logs?id=ID'. This request has been blocked; this endpoint must be available over WSS.
I have websocket proxying setup in NGINX, but it seems like Dozzle is still looking for a ws:// connection. NGINX doesn't show any logs, so it is being blocked in the browser and not even making it to my proxy.
If I temporarily allow unsafe connections, Dozzle exits with this error:
2018/11/19 21:48:00 websocket: request origin not allowed by Upgrader.CheckOrigin
Hello:)
What do you think about adding the possibility to concatenate logs with a possibility to ignore based on the container name?
Regards,
I am unable to see logs of few of the containers. The logs do show up when I simply run the command docker logs <container-id>
. How do I trouble shoot this?
Dependabot can't resolve your Go dependency files.
As a result, Dependabot couldn't update your dependencies.
The error Dependabot encountered was:
go: github.com/docker/[email protected]: reading github.com/docker/go-units/go.mod at revision v0.4.0: unknown revision v0.4.0
If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.
At first i did a Clean install and everything works :)
Then I install loki's docker log plugin to redirect all logs to loki :
it keeps the default json log of docker.
https://github.com/grafana/loki/tree/master/cmd/docker-driver
Every logs gets redirected to loki as expected and everything continue working.
I think its related to the date format :
in your event stream (https://dozzle.flatbay.fr/api/logs/stream?id=c958bfe53d2a)
i can see the following
Data: 2020-04-27T10:52:09.307471665Z xxxxxx
with loki's pluggin enabled i can see
Data: 2020-04-27T12:35:43.272974324+02:00 xxxxx
While both formats are correct, and means the same, you seem to only parse the first succesfully.
Which results in an empty black screen for me.
Could you detect this format, or at least show the line without formating date when you can't parse the date ?
thanks.
Everytime I add a new column, the existing columns will show the down arrow and need to click each of it.
for custom port usage with command
$ docker run --volume=/var/run/docker.sock:/var/run/docker.sock -p 8888:1224 amir20/dozzle:latest --addr localhost:1224
you still get access to localhost:8080 due to hardcoded port in Dockerfile
ENTRYPOINT ["/dozzle"]
EXPOSE 8080
I have one bug, and two requests/questions for the list of containers on the left of the page. For the bug, when you have more containers than fit on the screen, there is no way to access the lower ones. Scrolling only scrolls the logs, not the container list.
For the organization, it appears to be sorted by when the container was created. Is there a way to sort alphabetically? Also, each container name is preceded by a slash. Is there a reason behind that, or can it be removed. This also affects the title bar, ie the title is /nginx - Dozzle
rather than nginx - Dozzle
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.