您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么從遠程Linux機器上收集日志”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么從遠程Linux機器上收集日志”吧!
如果你的數據中心全是 Linux 服務器,而你就是系統管理員。那么你的其中一項工作內容就是查看服務器的日志文件。但是,如果你在大量的機器上去查看日志文件,那么意味著你需要挨個去登入到機器中來閱讀日志文件。如果你管理的機器很多,僅這項工作就可以花費你一天的時間。
另外的選擇是,你可以配置一臺單獨的 Linux 機器去收集這些日志。這將使你的每日工作更加高效。要實現這個目的,有很多的不同系統可供你選擇,而 syslog-ng 就是其中之一。
syslog-ng 的不足是文檔并不容易梳理。但是,我已經解決了這個問題,我可以通過這種方法馬上進行安裝和配置 syslog-ng。下面我將在 Ubuntu Server 16.04 上示范這兩種方法:
UBUNTUSERVERVM 的 IP 地址是 192.168.1.118 ,將配置為日志收集器
UBUNTUSERVERVM2 將配置為一個客戶端,發送日志文件到收集器
現在我們來開始安裝和配置。
安裝很簡單。為了盡可能容易,我將從標準倉庫安裝。打開一個終端窗口,運行如下命令:
sudo apt install syslog-ng
你必須在收集器和客戶端的機器上都要運行上面的命令。安裝完成之后,你將開始配置。
現在,我們開始日志收集器的配置。它的配置文件是 /etc/syslog-ng/syslog-ng.conf
。syslog-ng 安裝完成時就已經包含了一個配置文件。我們不使用這個默認的配置文件,可以使用 mv /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.BAK
將這個自帶的默認配置文件重命名。現在使用 sudo nano /etc/syslog/syslog-ng.conf
命令創建一個新的配置文件。在這個文件中添加如下的行:
@version: 3.5@include "scl.conf"@include "`scl-root`/system/tty10.conf" options { time-reap(30); mark-freq(10); keep-hostname(yes); }; source s_local { system(); internal(); }; source s_network { syslog(transport(tcp) port(514)); }; destination d_local { file("/var/log/syslog-ng/messages_${HOST}"); }; destination d_logs { file( "/var/log/syslog-ng/logs.txt" owner("root") group("root") perm(0777) ); }; log { source(s_local); source(s_network); destination(d_logs); };
需要注意的是,syslog-ng 使用 514 端口,你需要確保在你的網絡上它可以被訪問。
保存并關閉這個文件。上面的配置將轉存期望的日志文件(由 system()
和 internal()
指出)到 /var/log/syslog-ng/logs.txt
中。因此,你需要使用如下的命令去創建所需的目錄和文件:
sudo mkdir /var/log/syslog-ngsudo touch /var/log/syslog-ng/logs.txt
使用如下的命令啟動和啟用 syslog-ng:
sudo systemctl start syslog-ngsudo systemctl enable syslog-ng
我們將在客戶端上做同樣的事情(移動默認配置文件并創建新配置文件)。拷貝下列文本到新的客戶端配置文件中:
@version: 3.5@include "scl.conf"@include "`scl-root`/system/tty10.conf"source s_local { system(); internal(); };destination d_syslog_tcp { syslog("192.168.1.118" transport("tcp") port(514)); };log { source(s_local);destination(d_syslog_tcp); };
請注意:請將 IP 地址修改為收集器的 IP 地址。
保存和關閉這個文件。與在配置為收集器的機器上一樣的方法啟動和啟用 syslog-ng。
回到你的配置為收集器的服務器上,運行這個命令 sudo tail -f /var/log/syslog-ng/logs.txt
。你將看到包含了收集器和客戶端的日志條目的輸出(圖 A)。
圖 A
恭喜你!syslog-ng 已經正常工作了。你現在可以登入到你的收集器上查看本地機器和遠程客戶端的日志了。如果你的數據中心有很多 Linux 服務器,在每臺服務器上都安裝上 syslog-ng 并配置它們作為客戶端發送日志到收集器,這樣你就不需要登入到每個機器去查看它們的日志了。
到此,相信大家對“怎么從遠程Linux機器上收集日志”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。