Logging

如何解決系統日誌中大量與mingetty相關的消息

  • February 20, 2017

我在我擁有完全管理權限的 VPS(執行 CentOS 6.8)上執行我的小公司的網站和多項服務。

由於試圖查明 PHP 腳本中的記憶體洩漏問題,我一直在監視 VPS 一段時間,並再次查看了日誌。我看到的是一長串日誌消息,例如:

錯誤消息的螢幕截圖

我想解決任何導致這些錯誤“污染”系統日誌的配置問題,因為它們使日誌無法使用。每 5 秒,我會收到一批:

   Feb 17 12:43:03 vpsxxxxx init: tty (/dev/tty2) main process (1381) terminated with status 1
   Feb 17 12:43:03 vpsxxxxx init: tty (/dev/tty2) main process ended, respawning
   Feb 17 12:43:03 vpsxxxxx init: tty (/dev/tty1) main process (1382) terminated with status 1
   Feb 17 12:43:03 vpsxxxxx init: tty (/dev/tty1) main process ended, respawning
   Feb 17 12:43:03 vpsxxxxx /sbin/mingetty[1419]: tty2: no controlling tty: Operation not permitted
   Feb 17 12:43:03 vpsxxxxx /sbin/mingetty[1420]: tty1: no controlling tty: Operation not permitted

當日誌輪換(每週)時,我在日誌文件中查看了超過 60 MB,這讓 nano 崩潰了。

我不知道 mingetty 對 VPS 上的正常操作(或通過 SSH 連接)有多麼必要。我是唯一一個管理伺服器的人,但我很少同時使用 2 個以上的 SSH 連接。

是否有解決與 mingetty 相關的大量日誌消息的方法?

@Hexdump 通過閱讀我必須做的關於暴發戶的閱讀,讓我找到了解決方案。非常感謝。

我的解決方案分為兩個步驟:

  • nano /etc/init/start-ttys.override(文件內容在下面)
  • shutdown -r now

覆蓋文件的內容是:

env ACTIVE_CONSOLES=/dev/tty[1-1]
script

end script

基本上,我正在用無操作腳本替換啟動 mingetty 實例的有問題的腳本。

第一行是我試圖減少 tty 數量的殘餘,根據這個執行緒,這也表明ACTIVE_CONSOLES處理方式存在錯誤。此錯誤是需要重新啟動的原因。我不確定第一行是否必要。

問題解決了,但我認為根本原因還是要解決,這讓我回味無窮,可以這麼說:如果我在真機上出現了這個日誌污染問題,我將無法禁用腳本。因此,我認為這是一個半生不熟的解決方案,但就目前而言,它對於目前的情況來說已經足夠了。

由於您的機器是虛擬機,您可以完全禁用 mingetty 和虛擬控制台,如http://www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/getty-mingetty.html所述:

如果機器沒有影片卡,則從 /etc/inittab 中刪除所有 mingetty 條目。

當您使用 CentOS 6 時,我想您有暴發戶並且沒有 inittab。要禁用 tty,您可以創建兩個文件 /etc/init.d/tty1.override 和 /etc/init.d/tty2.override 僅包含單詞“manual”(所有命令都以 root 身份傳遞):

echo manual > /etc/init/tty1.override
echo manual > /etc/init/tty2.override

stop tty1但我建議你在 :和之前做一些測試stop tty2,並嘗試打開一個新的 ssh 連接。如果有效,請繼續禁用 tty1 和 tty2。

引用自:https://serverfault.com/questions/833173