Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Locatie van de logs #158

Closed
erikkral opened this issue Dec 10, 2020 · 5 comments
Closed

Locatie van de logs #158

erikkral opened this issue Dec 10, 2020 · 5 comments

Comments

@erikkral
Copy link

erikkral commented Dec 10, 2020

Wegens een probleem met DSMR reader (zie dit issue) moet ik in de logfiles iets nazoeken. Ik heb het advies gekregen om de debug logging bij de DSMR backend aan te zetten en dan de logs na te lopen. Ik kan echter niet vinden waar ik de logs moet nakijken.

Output van docker logs dsmr (niets anders dan dit)

2020-12-10 22:25:58,458 INFO exited: dsmr_datalogger (exit status 0; expected)
2020-12-10 22:25:59,462 INFO spawned: 'dsmr_datalogger' with pid 619
2020-12-10 22:26:00,476 INFO success: dsmr_datalogger entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-12-10 22:26:02,551 INFO exited: dsmr_datalogger (exit status 0; expected)
2020-12-10 22:26:03,562 INFO spawned: 'dsmr_datalogger' with pid 620
2020-12-10 22:26:04,583 INFO success: dsmr_datalogger entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-12-10 22:26:06,658 INFO exited: dsmr_datalogger (exit status 0; expected)
2020-12-10 22:26:06,674 INFO spawned: 'dsmr_datalogger' with pid 621
2020-12-10 22:26:07,681 INFO success: dsmr_datalogger entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-12-10 22:26:09,788 INFO exited: dsmr_datalogger (exit status 0; expected)
2020-12-10 22:26:10,763 INFO spawned: 'dsmr_datalogger' with pid 622
2020-12-10 22:26:11,779 INFO success: dsmr_datalogger entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

Output van /var/log/supervisor/supervisord.log

2020-12-10 21:49:06,988 INFO success: p1readings entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-12-10 21:49:15,030 INFO exited: p1readings (exit status 1; not expected)
2020-12-10 21:49:16,040 INFO spawned: 'p1readings' with pid 35366
2020-12-10 21:49:17,047 INFO success: p1readings entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-12-10 21:49:26,085 INFO exited: p1readings (exit status 1; not expected)
2020-12-10 21:49:27,091 INFO spawned: 'p1readings' with pid 36623
2020-12-10 21:49:28,095 INFO success: p1readings entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-12-10 21:49:36,165 INFO exited: p1readings (exit status 1; not expected)
2020-12-10 21:49:37,171 INFO spawned: 'p1readings' with pid 36691
2020-12-10 21:49:38,174 INFO success: p1readings entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

p1readings is een script wat niet in docker draait maar op de Ubuntu host zelf. Ik heb daarvoor ook supervisor op de host zelf geinstalleerd of geconfigureerd.

Ik heb het idee dat de logs vanuit de container in dit supervisor-log terecht zouden moeten komen. Maar dat gebeurt dus niet.

Waar moet ik het zoeken?

Config:

version: '3.7'
services:
  dsmrdb:
    image: postgres:10.5-alpine
    container_name: dsmrdb
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./dsmrdb:/var/lib/postgresql/data
    environment:
      - TZ=Europe/Amsterdam
      - PG_TZ=Europe/Amsterdam
      - POSTGRES_USER=dsmrreader
      - POSTGRES_PASSWORD=dsmrreader
      - POSTGRES_DB=dsmrreader

  dsmr:
    image: xirixiz/dsmr-reader-docker
    container_name: dsmr
    depends_on:
      - dsmrdb
    cap_add:
      - NET_ADMIN
    links:
      - dsmrdb
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./dsmr_backups:/dsmr/backups
    environment:
      - TZ=Europe/Amsterdam
      - VIRTUAL_HOST=localhost
      - SD_AUTOSTART_MQTT=false
      - SD_AUTORESTART_MQTT=false
      - DSMRREADER_LOGLEVEL=DEBUG
    ports:
      - 80:80
      - 443:443
@xirixiz
Copy link
Owner

xirixiz commented Dec 11, 2020

Bij het starten van de container kan je zien dat de logiles op deze locaties staan:

[ INFO ] Logfiles can be found at: /var/log/supervisor/*.log and /tmp/supervisord.log

Mogelijk dat je de container in receiver mode moet zetten (zie documentatie https://github.com/xirixiz/dsmr-reader-docker):

- DATALOGGER_MODE=standalone

Daar zou je alles moeten kunnen vinden. Is dat niet het geval, laat het mij dan even weten.

@erikkral
Copy link
Author

erikkral commented Dec 11, 2020

Ik zie nog geen verandering in de situatie.

output /var/log/supervisor/supervisord.log

2020-12-10 21:49:26,085 INFO exited: p1readings (exit status 1; not expected)
2020-12-10 21:49:27,091 INFO spawned: 'p1readings' with pid 36623
2020-12-10 21:49:28,095 INFO success: p1readings entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-12-10 21:49:36,165 INFO exited: p1readings (exit status 1; not expected)
2020-12-10 21:49:37,171 INFO spawned: 'p1readings' with pid 36691
2020-12-10 21:49:38,174 INFO success: p1readings entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-12-11 08:52:36,365 INFO exited: p1readings (exit status 1; not expected)
2020-12-11 08:52:37,369 INFO spawned: 'p1readings' with pid 68432
2020-12-11 08:52:38,373 INFO success: p1readings entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-12-11 08:52:45,367 INFO exited: p1readings (exit status 1; not expected)
2020-12-11 08:52:46,371 INFO spawned: 'p1readings' with pid 69129
2020-12-11 08:52:47,373 INFO success: p1readings entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

bestand /tmp/supervisord.log bestaat niet.

docker compose:

version: '3.7'
services:
  dsmrdb:
    image: postgres:10.5-alpine
    container_name: dsmrdb
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./dsmrdb:/var/lib/postgresql/data
    environment:
      - TZ=Europe/Amsterdam
      - PG_TZ=Europe/Amsterdam
      - POSTGRES_USER=dsmrreader
      - POSTGRES_PASSWORD=dsmrreader
      - POSTGRES_DB=dsmrreader

  dsmr:
    image: xirixiz/dsmr-reader-docker
    container_name: dsmr
    depends_on:
      - dsmrdb
    cap_add:
      - NET_ADMIN    
    links:
      - dsmrdb
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./dsmr_backups:/dsmr/backups
    environment:
      - TZ=Europe/Amsterdam
      - VIRTUAL_HOST=localhost
      - SD_AUTOSTART_MQTT=false
      - SD_AUTORESTART_MQTT=false
      - DSMRREADER_LOGLEVEL=DEBUG
      - DATALOGGER_MODE=receiver
    ports:
      - 80:80
      - 443:443

Misschien te ongeduldig? Ik heb 10 minuten gewacht tussen het zetten van DATALOGGER_MODE=receiver en het raadplegen van de logs. Geen idee of er in die tijd al iets gelogd zou moeten zijn over de backend.

@xirixiz
Copy link
Owner

xirixiz commented Dec 11, 2020

Ok, maar dat is de log van de verzender, p1readings.

Dit moet je kunnen vinden in de dsmr container docker exec -ti dsmr bash

bash-5.0# ls -al /var/log/supervisor/
total 20
drwxr-xr-x    2 root     root          4096 Dec 11 09:09 .
drwxr-xr-x    5 root     root          4096 Dec 11 09:08 ..
-rw-r--r--    1 root     root           146 Dec 11 09:09 dsmr_backend.log
-rw-r--r--    1 root     root           146 Dec 11 09:09 dsmr_datalogger.log
-rw-r--r--    1 root     root           300 Dec 11 09:09 dsmr_webinterface.log

en

bash-5.0# ls -al /tmp/supervisord.log
-rw-r--r--    1 root     root          1168 Dec 11 09:09 /tmp/supervisord.log

Het proces kost misschien 2 minuten om te starten, meer niet, maar dat kan je zien docker logs -f dsmr. Wanneer je daar running ziet staan van het backend process en de webinterface, dan is de container klaar om data te ontvangen.

@erikkral
Copy link
Author

Dankjewel voor de hulp heb ze op deze manier kunnen vinden. Dit issue is wat mij betreft opgelost.

Kan je uitleggen hoe dit werkt? Ik ben misschien nog niet goed bekend met docker maar ik dacht dat alle logging die plaatsvindt in de logfiles van een container werd afgevangen en in een log op de host terug te vinden zou zijn. Dat idee zou je namelijk wel kunnen krijgen, als je (bijvoorbeeld) docker logs -f dsmr kan doen. Je krijgt het idee dat docker zo inelkaar zit dat alle logs op de host te raadplegen zijn...

@rogierlommers
Copy link
Contributor

@erikkral , als je deze directories "mount" naar nar host, dan heb je wat je zoekt. Tevens kun je gaan kloten met docker logging drivers (wel iets complexer).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants