I'm using Grafana's internal plugin to connect to Graphite, so the process should be straightforward. However, I will explore alternative methods to obtain the server metrics.
Thanks!
abset
Posts
-
Unable to Connect Grafana to Graphite -
Unable to Connect Grafana to GraphiteYes, I am attempting to connect to the internal Graphite container, and these logs originate from it. My goal is to retrieve server metrics.
-
Unable to Connect Grafana to GraphiteI am encountering an issue when trying to connect Grafana to Graphite on Cloudron. The error appears in the Graphite logs and prevents the proper connection of the services. Below is the relevant log output:
2025-02-16T22:59:05Z 16/02/2025 22:59:05 :: [listener] invalid line received from client 172.18.18.235:59060, ignoring []
2025-02-16T22:59:35Z 16/02/2025 22:59:35 :: [listener] MetricLineReceiver connection with 172.18.18.235:59060 closed cleanly
2025-02-16T22:59:54Z 16/02/2025 22:59:54 :: [listener] MetricLineReceiver connection with 172.18.18.148:33670 established
2025-02-16T23:00:00Z 16/02/2025 23:00:00 :: [console] Unhandled Error
2025-02-16T23:00:00Z Traceback (most recent call last):
2025-02-16T23:00:00Z File "/usr/lib/python3/dist-packages/twisted/python/log.py", line 96, in callWithLogger
2025-02-16T23:00:00Z return callWithContext({"system": lp}, func, *args, **kw)
2025-02-16T23:00:00Z File "/usr/lib/python3/dist-packages/twisted/python/log.py", line 80, in callWithContext
2025-02-16T23:00:00Z return context.call({ILogContext: newCtx}, func, *args, **kw)
2025-02-16T23:00:00Z File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 117, in callWithContext
2025-02-16T23:00:00Z return self.currentContext().callWithContext(ctx, func, *args, **kw)
2025-02-16T23:00:00Z File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 82, in callWithContext
2025-02-16T23:00:00Z return func(*args, **kw)
2025-02-16T23:00:00Z --- <exception caught here> ---
2025-02-16T23:00:00Z File "/usr/lib/python3/dist-packages/twisted/internet/posixbase.py", line 683, in _doReadOrWrite
2025-02-16T23:00:00Z why = selectable.doRead()
2025-02-16T23:00:00Z File "/usr/lib/python3/dist-packages/twisted/internet/tcp.py", line 247, in doRead
2025-02-16T23:00:00Z return self._dataReceived(data)
2025-02-16T23:00:00Z File "/usr/lib/python3/dist-packages/twisted/internet/tcp.py", line 252, in _dataReceived
2025-02-16T23:00:00Z rval = self.protocol.dataReceived(data)
2025-02-16T23:00:00Z File "/usr/lib/python3/dist-packages/twisted/protocols/basic.py", line 440, in dataReceived
2025-02-16T23:00:00Z self.lineReceived(line)
2025-02-16T23:00:00Z File "/usr/lib/python3/dist-packages/carbon/protocols.py", line 192, in lineReceived
2025-02-16T23:00:00Z line = line.decode('utf-8')
2025-02-16T23:00:00Z builtins.UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
2025-02-16T23:00:00Z 16/02/2025 23:00:00 :: [listener] MetricLineReceiver connection with 172.18.18.148:33670 lost: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
2025-02-16T23:00:57Z 16/02/2025 23:00:57 :: [listener] MetricLineReceiver connection with 172.18.18.235:54148 establishedThe key error appears to be:
builtins.UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
Are there any known issues with encoding mismatches between Grafana and Graphite on Cloudron?
Any guidance or troubleshooting steps would be greatly appreciated!
-
Prometheus can't reach node exporter (Blocked traffic)Thanks for your reply.
We are monitoring some Cloudron metrics with Prometheus (e.g. disk space).
What's implied from what you say makes sense from the security point of view.
We have to think about how to monitor Cloudron using different methods.
-
Prometheus can't reach node exporter (Blocked traffic)Thanks for your reply!
To clarify, Prometheus is running as a Cloudron app, and Node Exporter is running directly on the host (not in a container). Prometheus needs to scrape metrics from http://172.18.0.1:9100/metrics, but Cloudron's firewall is blocking this traffic.
Since Node Exporter is on the host, I can't use --net cloudron. Is there a recommended way to allow Cloudron apps to access host services?
-
Prometheus can't reach node exporter (Blocked traffic)Hi everyone,
I'm facing an issue where Prometheus is unable to scrape Node Exporter running on the host at http://172.18.0.1:9100/metrics. The request times out with the following error:
Error scraping target: Get "http://172.18.0.1:9100/metrics": context deadline exceeded
From the syslog, I see the following dropped packet:
2025-02-11T17:20:13.907565+00:00 my kernel: Packet dropped: IN=br-xxx OUT= MAC=xxx SRC=172.18.18.148 DST=172.18.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=54789 DF PROTO=TCP SPT=44028 DPT=9100 WINDOW=64240 RES=0x00 SYN URGP=0
This confirms that the firewall is dropping packets from the Prometheus container (172.18.18.148) when trying to reach Node Exporter on 172.18.0.1:9100.
I’ve tried to manually add an iptables rule without success:
iptables -I DOCKER-USER -s 172.18.0.0/16 -d 172.18.0.1 -p tcp --dport 9100 -j ACCEPT
Testing connectivity from the Prometheus container:
docker exec -it $(docker ps | grep prometheus | awk '{print $1}') sh curl -v http://172.18.0.1:9100/metrics Result: The request hangs, confirming the firewall is blocking access.
This issue started after upgrading to Cloudron 8.2.3.
How can I persistently allow Prometheus to access 172.18.0.1:9100 within Cloudron’s firewall?
Any help would be greatly appreciated! Thanks in advance.