背景:

    过年期间更新代码时候,发现在jenkins的某个agent上出现了如下问题:

FATAL: Unable to produce a script file
java.io.IOException: 设备上没有空间
	at java.io.FileOutputStream.writeBytes(Native Method)
	at java.io.FileOutputStream.write(FileOutputStream.java:326)

    当时是比较疑惑的,这台agent有1TB的硬盘,怎么会突然满了呢?为了尽快完成任务,暂时屏蔽了这台agent,使用其他agent进行代码编译。


分析:

    后来,检查了一下这台agent的磁盘使用情况,发现/var/log/jenkins/jenkins.log文件几乎占用了所有的磁盘空间。

    使用tail命令查看了日志文件的部分内容,几乎全是关于DNSQuestion的,显示如下:

[DNSQuestion@1398141921 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
[DNSQuestion@752862545 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
[DNSQuestion@2077034887 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
[DNSQuestion@545402584 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
[DNSQuestion@1546918866 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]
[DNSQuestion@236169288 type: TYPE_IGNORE index 0, class: CLASS_UNKNOWN index 0, name: ]


解决方法:

    jenkins提供了屏蔽相关日志内容的配置:

image.png

image.png


image.png


补充:

    在屏蔽相关日志内容一段时间之后,发现磁盘又被占满了,仍然是DNSQuestion问题。尝试修改了网卡配置文件里的DNS地址,再也没有出现过问题:

# grep -i 'dns' /etc/sysconfig/network-scripts/ifcfg-eth0 
DNS1=114.114.114.114