Sinds begin dit jaar draai ik DSMR-reader op een Raspberry Pi 4 in mijn meterkast, en dat werkt over het algemeen goed. Nu heb ik echter een probleem waar ik niet uitkom. Een paar dagen geleden heb ik DSMR-reader bijgewerkt naar de laatste versie (ik was al bij, dus was maar één minor versie, geüpgrade zoals
hier beschreven) en de Pi bijgewerkt met sudo apt update en sudo apt upgrade. Reboot er achteraan, en DSMR reader werkt prima. Dit in het afgelopen jaar al een handvol keer eerder gedaan, nooit problemen mee gehad.
Vanochtend viel me echter op dat ik ipv de pagina van DSMR-reader dit kreeg: Apache2 Debian Default Page.
Het volgende geprobeerd:
Reboot Pi
(meerdere keren, geen resultaat)
Gechecked of services up zijn:
pi@raspberrypi:~ $ sudo supervisorctl status
dsmr_backend RUNNING pid 660, uptime 0:59:53
dsmr_datalogger RUNNING pid 659, uptime 0:59:53
dsmr_webinterface RUNNING pid 658, uptime 0:59:53
Die zijn up
Apache gestopt
pi@raspberrypi:/var/log/supervisor $ sudo /etc/init.d/apache2 stop
[ ok ] Stopping apache2 (via systemctl): apache2.service.
pi@raspberrypi:/var/log/supervisor $ sudo /etc/init.d/apache2 start
[ ok ] Starting apache2 (via systemctl): apache2.service.
pi@raspberrypi:/var/log/supervisor $
Geen resultaat (behalve dat de apache default website ook niet meer werd weergegeven, dus maar weer gestart)
Logs bekeken
Zoals
hier beschreven
Backend /var/log/supervisor/dsmr_backend.log
Datalogger /var/log/supervisor/dsmr_datalogger.log
Webinterface /var/log/supervisor/dsmr_webinterface.log
Het logbestand dsmr_datalogger.log staat vol met duizenden keren dit:
code:
1
| Current logging level set to "ERROR". More information can be found here: https://dsmr-reader.readthedocs.io/en/latest/how-to/troubleshooting/enabling-debug-logging.html |
Daar lijkt niet iets verkeerd te gaan
Het logbestand dsmr_webinterface.log geeft na de reboots dit weer:
code:
1
2
3
4
| [2021-11-06 08:37:27 +0100] [658] [INFO] Starting gunicorn 20.1.0
[2021-11-06 08:37:27 +0100] [658] [INFO] Listening at: unix:/var/tmp/gunicorn--dsmr_webinterface.socket (658)
[2021-11-06 08:37:27 +0100] [658] [INFO] Using worker: sync
[2021-11-06 08:37:27 +0100] [816] [INFO] Booting worker with pid: 816 |
Ook niet echt een indicatie dat daar iets verkeerd gaat.
Maar dan, dsmr_backend.log.... daar gaat van alles mis, en ik snap geen bal van wat het inhoudt. Dit zijn de laatste regels:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
| psycopg2.OperationalError: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/dsmr/dsmr-reader/manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
utility.execute()
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/core/management/__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/core/management/base.py", line 330, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/core/management/base.py", line 371, in execute
output = self.handle(*args, **options)
File "/home/dsmr/dsmr-reader/dsmr_backend/mixins.py", line 46, in handle
self.data = self.initialize()
File "/home/dsmr/dsmr-reader/dsmr_backend/management/commands/dsmr_backend.py", line 22, in initialize
self.sleep_time = BackendSettings.get_solo().process_sleep
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/solo/models.py", line 55, in get_solo
obj, created = cls.objects.get_or_create(pk=cls.singleton_instance_id)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/models/query.py", line 573, in get_or_create
return self.get(**kwargs), False
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/models/query.py", line 425, in get
num = len(clone)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/models/query.py", line 269, in __len__
self._fetch_all()
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/models/query.py", line 1308, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/models/query.py", line 53, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1154, in execute_sql
cursor = self.connection.cursor()
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/backends/base/base.py", line 259, in cursor
return self._cursor()
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/backends/base/base.py", line 235, in _cursor
self.ensure_connection()
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
self.connect()
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
self.connect()
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/backends/base/base.py", line 200, in connect
self.connection = self.get_new_connection(conn_params)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/backends/postgresql/base.py", line 187, in get_new_connection
connection = Database.connect(**conn_params)
File "/usr/lib/python3/dist-packages/psycopg2/__init__.py", line 130, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
Current logging level set to "ERROR". More information can be found here: https://dsmr-reader.readthedocs.io/en/latest/how-to/troubleshooting/enabling-debug-logging.html
2021-11-04 22:33:54,076 ERROR mixins run_once 103 | dsmr_backend.management.commands.dsmr_backend: [!] Exception raised. Traceback (most recent call last):
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
psycopg2.OperationalError: terminating connection due to administrator command
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/dsmr/dsmr-reader/dsmr_backend/mixins.py", line 92, in run_once
self.run(data=self.data, **options)
File "/home/dsmr/dsmr-reader/dsmr_backend/management/commands/dsmr_backend.py", line 33, in run
dsmr_backend.services.schedule.execute_scheduled_processes()
File "/home/dsmr/dsmr-reader/dsmr_backend/services/schedule.py", line 29, in execute_scheduled_processes
logger.debug('SP: %s backend service(s) ready to run', len(calls))
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/models/query.py", line 269, in __len__
self._fetch_all()
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/models/query.py", line 1308, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/models/query.py", line 53, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/models/sql/compiler.py", line 1156, in execute_sql
cursor.execute(sql, params)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/backends/utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/home/dsmr/.virtualenvs/dsmrreader/lib/python3.7/site-packages/django/db/backends/utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
django.db.utils.OperationalError: terminating connection due to administrator command
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
Current logging level set to "ERROR". More information can be found here: https://dsmr-reader.readthedocs.io/en/latest/how-to/troubleshooting/enabling-debug-logging.html
Current logging level set to "ERROR". More information can be found here: https://dsmr-reader.readthedocs.io/en/latest/how-to/troubleshooting/enabling-debug-logging.html
Current logging level set to "ERROR". More information can be found here: https://dsmr-reader.readthedocs.io/en/latest/how-to/troubleshooting/enabling-debug-logging.html
Current logging level set to "ERROR". More information can be found here: https://dsmr-reader.readthedocs.io/en/latest/how-to/troubleshooting/enabling-debug-logging.html
Current logging level set to "ERROR". More information can be found here: https://dsmr-reader.readthedocs.io/en/latest/how-to/troubleshooting/enabling-debug-logging.html |
Hier staan de drie logfiles:
dsmr_backend.log
dsmr_datalogger.log
dsmr_webinterface.log
Aan de hand van de meldingen in de logfiles zit ik al een paar uur to googlen, en ook hier op het Tweakers-forum te zoeken. Ik kom er echter niet uit. Gewoon door gebrek aan kennis kan ik de logs niet interpreteren.
Heeft iemand enig idee wat er verkeerd gaat hier, en vooral ook, wat ik zou kunnen doen om het op te lossen?
Ik heb dagelijkse database-backups naar mijn dropbox ingeschakeld staan, dus als ik er echt niet uit kom heb ik (hopelijk) de optie om het systeem geheel opnieuw op te bouwen, maar als ik dat kan vermijden zou dat mooi zijn....
Alvast bedankt