2015-07-30 29 views
26

Ostatnio mój plik jenkins.log zaczął być bardzo duży, bardzo szybko, pełen wyjątków dotyczących rozpoznawania nazw DNS. Próbowałem użyć logrotate, ale plik dziennika rośnie zbyt szybko, aby go obrócić, i po prostu zjada całe moje miejsce na dysku, co powoduje, że różne usługi zawodzą, ponieważ nie mogą już pisać plików.Jak zatrzymać rejestrację Jenkinsa przed ogromnym?

Jak tego uniknąć?

Odpowiedz

22

Możesz wyłączyć rejestrowanie tych błędów DNS, zmieniając ustawienia rejestrowania w Jenkins.

Z interfejsu WWW Jenkins przejdź do:

Manage Jenkins -> System Log -> Log Levels (on the left) 

Dodaj następujący wpis:

Name: javax.jmdns 

Level: off 

W ten sposób można zachować Multicast DNS wyposażone ale bez wszystkich danych logowania.

+1

Czy masz pomysł, jak zachować ten zestaw podczas aktualizacji Jenkinsa? – Siecje

+0

@Siecje można spróbować użyć pliku "logging.properties" do skonfigurowania rejestrowania, jak to się dzieje w tej odpowiedzi: http://stackoverflow.com/a/6307666/2286664 –

20

Wydaje się to być spowodowane multicast DNS jak wyjaśniono tutaj: https://issues.jenkins-ci.org/browse/JENKINS-25369

Obejście: dodać -Dhudson.DNSMultiCast.disabled=true do JAVA_ARGS.

PS: Odpowiadam na moje własne pytanie tutaj w Stack Overflow, ponieważ nie mogłem znaleźć odpowiedzi w Google w łatwy sposób i przyda się to innym osobom używającym Jenkinsa.

+0

Nie musisz usprawiedliwiać odpowiadania na własne pytanie - [jest zachęcany] (https://stackoverflow.com/help/self-answer) –

0

Modyfikuj JAVA_ARGS w /etc/default/jenkins (lokalizacja przynajmniej dla instalacji Debiana/Ubuntu), aby wyłączyć funkcję DNS multicast.

Zmień to: JAVA_ARGS="-Djava.awt.headless=true"

do tego: JAVA_ARGS="-Djava.awt.headless=true -Dhudson.DNSMultiCast.disabled=true"

i ponownie uruchomić usługę service jenkins restart

1

można podłączyć na Jenkins inicjalizacji z pliku init.groovy w katalogu domowym Jenkins i zmienić poziom rejestrowania na stałe z nim. Zmiany zostaną zachowane, nawet jeśli Jenkins zostanie ponownie uruchomiony. Istnieje prosty zawartość pliku:

import java.util.logging.Level 
import java.util.logging.Logger 

Logger.getLogger("").setLevel(Level.SEVERE) 
Logger.getLogger("org.apache.sshd").setLevel(Level.SEVERE) 
Logger.getLogger("winstone").setLevel(Level.SEVERE) 

Można zmienić nazwę rejestratora i poziomu tak, że pasuje do Twoich potrzeb. Aby uzyskać więcej informacji, patrz my article on this topic.

Powiązane problemy