3 votes

Pourquoi mon serveur Jetty enregistre-t-il une erreur DNS ?

J'ai une machine virtuelle Xen sur laquelle j'ai installé Jetty 7.4.5, pour exécuter une instance de Hudson. Cela a bien fonctionné pendant environ un mois. Aujourd'hui, nous avons remarqué que Hudson n'était pas en mesure de générer des builds. Le problème était que nous n'avions plus d'espace sur le disque, car nous avions un fichier journal de Jetty d'il y a un jour avec 34 Go de données.

Ce fichier contient un grand nombre de messages concernant le DNS, comme ci-dessous :

21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
GRAVE: Extended label are not currently supported.
21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
GRAVE: Extended label are not currently supported.
21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
GRAVE: Extended label are not currently supported.
21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming$MessageInputStream readName
GRAVE: Extended label are not currently supported.
21/09/2011 07:34:30 javax.jmdns.impl.constants.DNSRecordType typeForIndex
GRAVE: Could not find record type for index: 120
21/09/2011 07:34:30 javax.jmdns.impl.DNSIncoming readQuestion
GRAVE: Could not find record type: dns[query,10.10.2.53:5353, length=296, id=0x0, flags=0x6544:aa]
   0: 6963654465736372 3d32342d706f7274 2031302f3130302f 3130303020457468     iceDescr =24-port .10/100/ 1000.Eth
  20: 65726e6574205377 69746368c02b0021 000100000078001a 00000000a5500c53     ernet.Sw itch.+.! .....x.. .....P.S
  40: 7769746368313832 396261056c6f6361 6c00c02b00100001 0000007800bc0d6d     witch182 9ba.loca l..+.... ...x...m
  60: 6f64656c3d534745 3230303015736572 69616c4e6f3d374e 3430304843303033     odel=SGE 2000.ser ialNo=7N 400HC003
  80: 3137126877766572 73696f6e3d30302e 30302e303112666d 56657273696f6e3d     17.hwver sion=00. 00.01.fm Version=
  a0: 332e302e302e3137 0d69667665727369 6f6e3d312e30174d 4143416464726573     3.0.0.17 .ifversi on=1.0.M ACAddres
  c0: 733d303032323662 3138323962611164 6576696365547970 653d537769746368     s=00226b 1829ba.d eviceTyp e=Switch
  e0: 09686f73746e616d 653d2f6465766963 6544657363723d32 342d706f72742031     .hostnam e=/devic eDescr=2 4-port.1
 100: 302f3130302f3130 3030204574686572 6e65742053776974 6368c02b00210001     0/100/10 00.Ether net.Swit ch.+.!..
 120: 00000078001a0000                                                        ...x....

21/09/2011 07:34:30 javax.jmdns.impl.constants.DNSRecordClass classForIndex
AVISO: Could not find record class for index: 26

Nous avons copié le fichier journal à un autre endroit, l'avons supprimé de notre serveur pour libérer de l'espace, et avons remarqué que le fichier journal actuel était à nouveau rempli de ce type de messages. De plus, nous avons remarqué que jetty utilise les ports suivants (résultat de netstat) :

tcp6       0      0 :::8080                 :::*                    LISTEN       1598/java       
tcp6       0      0 :::55224                :::*                    LISTEN       1598/java       
udp6       0      0 :::33848                :::*                                1598/java       
udp6       0      0 :::5353                 :::*                                1598/java

Quelqu'un sait-il pourquoi Jetty utilise des ports différents de 8080, et d'où viennent ces messages DNS ? Nous avons installé uniquement hudson.

4voto

viphe Points 141

Je n'aurai pas le dernier mot sur ce sujet, mais je viens d'avoir le même problème en exécutant Jenkins (il contient Hudson).

Hudson utilise Jmdns pour mettre en œuvre la découverte d'un service sur le réseau local (par diffusion). Je crois que Hudson panique lorsque quelque chose qui n'est pas de sa planète répond. Je ne sais pas comment le rendre heureux à ce sujet, mais dans mon cas, j'ai désactivé cette fonctionnalité. Avec Jenkins, ça se passe comme ça :

java -Dhudson.DNSMultiCast.disabled=true -jar path/to/jenkins.war

2voto

Neil P Points 121

Vous pouvez désactiver la journalisation de ces erreurs DNS en ajustant les paramètres de journalisation dans Jenkins.

Depuis l'interface web de Jenkins, allez à :

Manage Jenkins -> System Log -> Log Levels (sur la gauche)

Ajoutez l'entrée suivante :

Nom : javax.jmdns

Niveau : off

De cette façon, vous pouvez conserver la fonction DNS multidestinataire, mais sans toutes les données de journalisation.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X