syslog日誌伺服器搭建
Ⅰ 如何搭建日誌監控系統
ELK(ElasticSearch, Logstash, Kibana)搭建實時日誌分析平台(開源實時日誌分析ELK平台部署)
日誌主要包括系統日誌、應用程序日誌和安全日誌。系統運維和開發人員可以通過日誌了解伺服器軟硬體信息、檢查配置過程中的錯誤及錯誤發生的原因。經常分析日誌可以了解伺服器的負荷,性能安全性,從而及時採取措施糾正錯誤。
通常,日誌被分散的儲存不同的設備上。如果你管理數十上百台伺服器,你還在使用依次登錄每台機器的傳統方法查閱日誌。這樣是不是感覺很繁瑣和效率低下。當務之急我們使用集中化的日誌管理,例如:開源的syslog,將所有伺服器上的日誌收集匯總。
集中化管理日誌後,日誌的統計和檢索又成為一件比較麻煩的事情,一般我們使用grep、awk和wc等linux命令能實現檢索和統計,但是對於要求更高的查詢、排序和統計等要求和龐大的機器數量依然使用這樣的方法難免有點力不從心。
開源實時日誌分析ELK平台能夠完美的解決我們上述的問題,ELK由ElasticSearch、Logstash和Kiabana三個開源工具組成。官方網站:
Elasticsearch是個開源分布式搜索引擎,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格介面,多數據源,自動搜索負載等。
Logstash是一個完全開源的工具,他可以對你的日誌進行收集、分析,並將其存儲供以後使用(如,搜索)。
kibana也是一個開源和免費的工具,他Kibana可以為 Logstash 和 ElasticSearch 提供的日誌分析友好的 Web 界面,可以幫助您匯總、分析和搜索重要數據日誌。 工作原理如下所示:
在需要收集日誌的所有服務上部署logstash,作為logstash agent(logstash shipper)用於監控並過濾收集日誌,將過濾後的內容發送到logstash indexer,logstash indexer將日誌收集在一起交給全文搜索服務ElasticSearch,可以用ElasticSearch進行自定義搜索通過Kibana 來結合自定義搜索進行頁面展示。
四大組件:
Logstash: logstash server端用來搜集日誌;
Elasticsearch: 存儲各類日誌;
Kibana: web化介面用作查尋和可視化日誌;
Logstash Forwarder: logstash client端用來通過lumberjack 網路協議發送日誌到logstash server;
Ⅱ syslog配置了伺服器與客戶端,網口連通,514埠開啟,為啥還是不能再伺服器端記錄日誌
edhat 9.0也有這種情況
從其他機器連不到514埠..
後來 # vi /etc/xinetd.d/rsh-----------改disable= no
重啟xinetd服務
telnet localhost 514
在另外一台機器上利用日誌分析工具就可以連了.
Ⅲ 如何搭建中心系統日誌伺服器
系統統日誌(Syslog)協議簡介Syslog是一種在網路中傳遞消息的標准。它採用Client/Server架構:syslog的發送者(Client)向接受者(Server)發送短消息(一般小於1KB)。現在Syslog被應用於很多系統中:OS,Router,Switch等等。日誌嚴重程度(severity levels): 0 - Emergency (emerg) 1 - Alerts (alert) 2 - Critical (crit) 3 - Errors (err) 4 - Warnings (warn) 5 - Notification (notice) 6 - Information (info) 7 - Debug (debug) 通常系統會將進程分組,同組進程的日誌將具有相同的組標識(稱為facility),這樣可以在一定程度上對日誌分類。常用的facility包括:auth - authentication (login) messages cron - messages from the memory-resident scheler daemon - messages from resident daemons kern - kernel messages lpr - printer messages (used by JetDirect cards) mail - messages from Sendmail user - messages from user-initiated processes/apps local0-local7 - user-defined syslog - messages from the syslog process itself 搭建中心系統日誌(Syslog)伺服器有什麼好處?一般系統預設會將日誌發送到本地的Syslog伺服器上,並保存到本地存儲或者直接輸出在屏幕等終端設備上。建立一個統一的日誌伺服器,並且將所有的日誌發送到該伺服器具有如下好處:方便集中日誌管理(存儲、備份、查詢,等等)。對於沒有終端(Console)的設備,方便查看日誌。日誌更安全:一旦黑客入侵其中某個設備,通常會將日誌清楚。將日誌輸出到中心伺服器,有利於保護日誌的完整性。搭建中心系統日誌(Syslog)伺服器如果你的系統使用sysklogd,請參考如下配置:修改/etc/sysconfig/syslog,替換:SYSLOGD_OPTIONS="-m 0" 為SYSLOGD_OPTIONS="-rm 0"重新啟動syslog服務:service syslog restart注意防火牆設置:如果你的Client是192.168.1.2, Syslog Server是192.168.1.1,可以參考如下的設置: iptables -I INPUT -p udp -i eth0 -s 192.168.1.2 -d 192.168.1.1 --dport 514 -j ACCEPT 配置其他設備使用該系統日誌(Syslog)伺服器syslogd的配置文件(如:/etc/syslog.conf)一般有如下語法: facility.severity log-file-name 將所有Kernel日誌寫入/var/log/kernel.log: kern.* /var/log/kernel.log 將所有日誌寫入/var/log/kernel.log: *.* /var/log/all.log 將所有日誌發送到遠程日誌伺服器: *.* @hostname 注意防火牆設置:如果你的Client是192.168.1.2, Syslog Server是192.168.1.1,可以參考如下的設置: iptables -I OUTPUT -p udp -i eth0 -s 192.168.1.2 -d 192.168.1.1 --dport 514 -j ACCEPT 參考資料維基網路上的Syslog介紹。Syslog daemon。Syslog-ng日誌系統 - 一個增加版的日誌系統。Rsyslog - 多線程、靈活的日誌系統。
Ⅳ 如何將Linux主機設置成syslog伺服器
鳥哥在書中介紹了這樣的一種環境。 辦公室內有10台Linux主機,每一台負責一個網路服務。為了無需登錄每台主機去查看登錄文件,需要設置一台syslog伺服器,其他主機的登錄文件都發給它。這樣做的話,只需要登錄到syslog伺服器上就能查看所有主機的登錄文件。 RedHat上的設置方法,鳥哥已經介紹了。 【伺服器端】step 1:查看伺服器是否開啟了UDP 514埠 grep '514' /etc/services step 2:修改syslogd的啟動設置文件/etc/sysconfig/syslog 將SYSLOGD_OPTIONS="-m 0"修改成SYSLOGD_OPTIONS="-m 0 -r" step 3:重啟syslogd服務 /etc/init.d/syslog restart 重啟後,你會發現UDP 514埠已經打開。 Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:514 0.0.0.0:* 5628/syslogd 【客戶端】step 1:在/etc/syslog.conf中,添加下行。 user.* @192.168.0.Y # syslog伺服器的IP地址 在Ubuntu中配置syslogd伺服器的方法類似。 step 1:查看伺服器是否開啟了UDP 514埠,有下面一行說明埠514被打開,沒有需要加入 # grep '514' /etc/services 184:shell 514/tcp cmd # no passwords used
185:syslog 514/udp step 2: 修改/etc/init.d/sysklogd,將SYSLOGD=""修改成SYSLOGD=" -r" step 3: 修改/etc/default/syslogd,將SYSLOGD=""修改成SYSLOGD=" -r" step 4: 重啟服務 /etc/init.d/sysklogd restart step 5: 驗證 在/var/log/messages中找到 May 1 23:31:59 flagonxia-desktop syslogd 1.5.0#5ubuntu3: restart (remote reception) # netstat -tlunp 得到syslogd服務正在監聽埠514 udp 0 0 0.0.0.0:514 0.0.0.0:* 3912/syslogd step 6: 假設syslog伺服器的IP地址:192.168.1.25,在其他主機上的/etc/syslog.conf中加入 *.* @192.168.1.25 註:/etc/syslog.conf文件的解析日誌文件按/etc/syslog.conf 配置文件中的描述進行組織。下圖是/etc/syslog.conf 文件的內容:[root@localhost ~]# cat /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
# Log cron stuff
cron.* /var/log/cron
# Everybody gets emergency messages
*.emerg *# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log
syslog.conf 行的基本語法是: [ 消息類型][ 處理方案] 注意:中間的分隔符必須是Tab 字元!消息類型是由" 消息來源" 和" 緊急程度" 構成,中間用點號連接。例如上圖中,news.crit 表示來自news 的「 關鍵」 狀況。在這里,news是消息來源,crit 代表關鍵狀況。通配符* 可以代表一切消息來源。 說明:第一條語句*.info ,將info 級以上(notice,warning,err,crit,alert 與emerg )的所有消息發送到相應日誌文件。日誌文件類別(按重要程度分類)日誌文件可以分成八大類,下面按重要性從大到下列出:emerg emergency ,緊急alert 警報crit critical ,關鍵errerror ,錯誤warning 警告notice 通知info 信息debug 調試簡單列一下消息來源auth 認證系統,如login 或su ,即詢問用戶名和口令cron 系統執行定時任務時發出的信息daemon 某些系統的守護程序的 syslog ,如由in.ftpd 產生的log
kern 內核的信息lpr 列印機的信息mail 處理郵件的守護進程發出的信息mark 定時發送消息的時標程序news 新聞組的守護進程的信息user 本地用戶的應用程序的信息uucp uucp 子系統的信息* 表示所有可能的信息來源處理方案" 處理方案" 選項可以對日誌進行處理。可以把它存入硬碟,轉發到另一台機器或顯示在管理員的終端上。處理方案一覽:文件名 寫入某個文件,要注意絕對路徑。 @ 主機名 轉發給另外一台主機的syslogd 程序。@IP 地址 同上,只是用IP 地址標識而已。/dev/console 發送到本地機器屏幕上。* 發送到所有用戶的終端上。 | 程序 通過管道轉發給某個程序。例如:kern.emerg /dev/console( 一旦發生內核的緊急狀況,立刻把信息顯示在控制台上) 說明: 如果想修改syslogd 的記錄文件,首先你必須殺掉syslogd 進程,在修改完畢後再啟動syslogd 。攻擊者進入系統後通常立刻修改系統日誌,因此作為網管你應該用一台機器專門處理日誌信息,其他機器的日誌自動轉發到它上面,這樣日誌信息一旦產生就立刻被轉移,這樣就可以正確記錄攻擊者的行為。
Ⅳ 如何搭建syslog日誌伺服器
首先我們知道日誌是什麼,日誌毫無疑問就跟我們寫日記一樣記錄我們每天做的一些事情,那麼日誌對於一台伺服器而言是至關重要的,比如說我們搭建服務的時候,服務起不來也沒提示錯誤信息,那麼這個時候就可以查看日誌來排錯了,還記錄了伺服器的運行情況已經入侵記錄等等... ,那麼我們知道一台伺服器的日誌默認是存放在本地的對於linux而言日誌一般存放於/var/log/目錄下,比如說某系統管理員管理著幾十甚至上百台伺服器的時候,默認日誌放在每台伺服器的本地,當我們每天要去看日誌的時候一台一台的看日誌是不是要郁悶死了. 沒關系在linux系統上提供了一個syslogd這樣的一個服務為我們提供日誌伺服器,他可以將多台主機和網路設備等等的日誌存到日誌伺服器上,這樣就大大減少了管理員的工作量,下面將在一台默認裝有rhel5.x的系統上搭建一台日誌伺服器.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
系統環境:默認安裝有rhel5.8的系統
主機 角色 IP地址
server1 日誌伺服器 10.0.0.1
server2 10.0.0.2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
實際上日誌伺服器的配置非常之簡單幾條命令就搞定了
一.配置日誌伺服器為網路中其他主機及其網路設備等等提供日誌存儲服務,也就是配置server1
1. 在server1上編輯/etc/sysconfig/syslog文件修改如下
#vim /etc/sysconfig/syslog ## 只修改SYSLOGD_OPTINOS這項,如下
SYSLOGD_OPTIONS="-m 0 -r"
2 .重新啟動syslog
#service syslog restart
3.配置防火牆,syslog傳送日誌的埠是UDP的514埠防火牆在默認的情況下是阻止所有的,這里就 直接把防火牆關閉了,防火牆的配置就不介紹了
#service iptables stop
#chkconfig iptables off
ok!到這里伺服器的配置基本就結束了.
二.配置server2讓其將日誌發送到日誌伺服器上去,我們知道windows跟交換機路由器都是有日誌產 生的,它們的日誌也是可以存儲到日誌伺服器上去的,這里就只介紹linux主機的
1.配置server2上的/etc/syslog.conf定義日誌的類型以及日誌的級別和日誌存放的位置,這里就只簡 單的介紹下大體的配置思路,
#vim /etc/syslog.conf
*.* @10.0.0.1
上面的配置表示所有的日誌類型.所有的日誌的級別的日誌都將存放在10.0.0.1這台日誌伺服器上
2,重啟syslog
#service syslog restart
三.驗證
1.在server2上建一個redhat的用戶,然後到server1上的/var/log/secure文件或者/var/log/messages文件 查看日誌
#cat /var/log/secure
Jun 8 00:58:05 10.0.0.2 useradd[15463]: new group: name=redhat, GID=500
Jun 8 00:58:05 10.0.0.2 useradd[15463]: new user: name=redhat, UID=500, GID=500, home=/home/redhat, shell=/bin/bash
可以看到10.0.0.2這台主機new了一個redhat的用戶
Ⅵ 怎麼搭建Linux syslog伺服器抓思科交換機的日誌
將Cisco設備的日誌發往syslog伺服器,如下操作:
device#conf t
device(config)#logging on
device(config)#logging 172.16.86.102
device(config)#logging trap errors //日誌記錄級別,可用"?"查看詳細內容
device(config)#logging source-interface loopback0 //日誌發出用的源IP地址
device(config)#service timestamps log datetime localtime //日誌記錄的時間戳設置,可根據需要具體配置檢驗
device#sh logging
設置完成後,最好設置一下當前交換機或路由器的時鍾。這樣在日誌伺服器上就可以看到何時產生的日誌。
switch#clock 9:48:00 21 Feb 2011
logging trap level //指定日誌消息的級別
(0:緊急(Emergencies)
Ⅶ 想在公司內部搭建一個日誌伺服器,可以接收其他所有伺服器以及各種設備產生的日誌。不知道用什麼伺服器。
http://wenku..com/view/8053931cff00bed5b9f31d8a.html
詳細步驟
建立一個中央日誌伺服器
1建立中央日誌伺服器前的准備工作
配置良好的網路服務(DNS和NTP)有助於提高日誌記錄工作的精確性。在默認情況下,當有其他機器向自己發送日誌消息時,中央日誌伺服器將嘗試解析該機器的FQDN(fullyqualifieddomainname,完整域名)。(你可以在配置中央伺服器時用「-x」選項禁止它這樣做。)如果syslog守護進程無法解析出那個地址,它將繼續嘗試,這種毫無必要的額外負擔將大幅降低日誌記錄工作的效率。類似地,如果你的各個系統在時間上不同步,中央日誌伺服器給某個事件打上的時間戳就可能會與發送該事件的那台機器打上的時間戳不一致,這種差異會在你對事件進行排序分析時帶來很大的困擾;對網路時間進行同步有助於保證日誌消息的時間准確性。如果想消除這種時間不同步帶來的麻煩,先編輯/etc/ntp.conf文件,使其指向一個中央時間源,再安排ntpd守護進程隨系統開機啟動就可以了。
2配置一個中央日誌伺服器
只須稍加配置,就可以用syslog實現一個中央日誌伺服器。任何一台運行syslog守護進程的伺服器都可以被配置成接受來自另一台機器的消息,但這個選項在默認情況下是禁用的。在後面的討論里,如無特別說明,有關步驟將適用於包括SUSE和RedHat在內的大多數Linux發行版本。我們先來看看如何激活一個syslog伺服器接受外來的日誌消息:
1. 編輯/etc/sysconfig/syslog文件。
在「SYSLOGD_OPTIONS」行上加「-r」選項以允許接受外來日誌消息。如果因為關於其他機器的DNS記錄項不夠齊全或其他原因不想讓中央日誌伺服器解析其他機器的FQDN,還可以加上「-x」選項。此外,你或許還想把默認的時間戳標記消息(--MARK--)出現頻率改成比較有實際意義的數值,比如240,表示每隔240分鍾(每天6次)在日誌文件里增加一行時間戳消息。日誌文件里的「--MARK--」消息可以讓你知道中央日誌伺服器上的syslog守護進程沒有停工偷懶。按照上面這些解釋寫出來的配置行應該是如下所示的樣子:
SYSLOGD_OPTIONS="-r-x-m240"
2.重新啟動syslog守護進程。修改只有在syslog守護進程重新啟動後才會生效。如果你只想重新啟動syslog守護進程而不是整個系統,在RedHat機器上,執行以下兩條命令之一:
/etc/rc.d/init.d/syslogstop;/etc/rc.d/init.d/syslogstart
/etc/rc.d/init.d/syslogrestart
3.如果這台機器上運行著iptables防火牆或TCPWrappers,請確保它們允許514號埠上的連接通過。syslog守護進程要用到514號埠。
4為中央日誌伺服器配置各客戶機器
讓客戶機把日誌消息發往一個中央日誌伺服器並不困難。編輯客戶機上的/etc/syslog.conf文件,在有關配置行的操作動作部分用一個「@」字元指向中央日誌伺服器,如下所示:
另一種辦法是在DNS里定義一個名為「loghost」的機器,然後對客戶機的syslog配置文件做如下修改(這個辦法的好處是:當你把中央日誌伺服器換成另一台機器時,不用再修改每一個客戶機上的syslog配置文件):
authpriv.*@loghost
接下來,重新啟動客戶機上的syslog守護進程讓修改生效。讓客戶機在往中央日誌伺服器發送日誌消息的同時繼續在本地進行日誌工作仍有必要,起碼在調試客戶機的時候不必到中央日誌伺服器查日誌,在中央日誌伺服器出問題的時候還可以幫助調試。
Ⅷ syslog日誌伺服器日誌用什麼查看
Ruijie(config)#logging on //打開日誌開關
Ruijie(config)#no logging on //關閉日誌開關,一般情況下,不建議關閉日誌開關
Ⅸ 路由器上的「Syslog伺服器」是干什麼的,有什麼用處
日誌伺服器。
日誌就是記錄我們做過的一些操作。
比如你敲入介面UP 或DOWN的命令,就會出現一條日誌。提示介面打開或關閉。
我們一般用LOGGING SYN來同步命令和日誌。
Ⅹ 如何在windows2008建立syslog伺服器
我們需要測試一種集中日誌系統,要在Windows上建立一個類Linux下的集中日誌系統。
經過比較Winsyslog和Kiwisyslog等工具,最終選定Kiwisyslog(http://www.kiwisyslog.com/),它不僅功能齊全,而且提供免費的版本。
Kiwisyslog遵循標準的日誌協議(RFC 3164),並支持UDP/TCP/SNMP幾種方式的日誌輸入。它默認是個免費的功能受限版(但功能基本夠用了,只是沒有找到漢化),自帶發送模擬器﹑日誌瀏覽器等實用工具。
我還測試了一下把ACE日誌寫到syslog的功能。過程記錄如下:
1)使用klog工具
這個主要用到kiwisyslog的klog實用工具(這個工具同時提供dll庫的調用方式,真是好東西,我決定以後在我的應用里都用它!),它支持直接或用重定向的方法輸出日誌到kiwisyslog。
klog –m "It's almost lunchtime"
DIR *.* | klog -h 192.168.1.2 -i
但我試圖使用ACE應用日誌輸出到kiwisyslog時(ace_app.exe | klog -h 192.168.1.2 -i的形式),發現日誌內容里前後有亂碼出現,即ACE的日誌輸出直接重定向到klog再轉到kiwisyslog有問題;並且不能按時間一行一行的輸出,而是等應用程序執行結束時一股腦輸出到kiwisyslog(按回車換行切開成一條一條日誌)。如果程序非正常結束,還不能將輸出日誌內容傳到 kiwisyslog。
還有一個方法是在Windows通過設置可以把ACE日誌輸出到系統日誌裡面。
ACE_LOG_MSG->set_flags(ACE_Log_Msg::SYSLOG);
然後按下面2)的方法轉到kiwisyslog。
2)還可以把Windows下的事件日誌轉到Linux下的syslog
我們需要第三方的軟體來將windows的日誌轉換成syslog類型的日誌後,轉發給syslog伺服器。
介紹第三方軟體evtsys (全稱是evntlog to syslog)
文件才幾十K大小,非常小巧,解壓後是兩個文件evtsys.dll和evtsys.exe
把這兩個文件拷貝到 c:/windows/system32目錄下。
打開Windows命令提示符(開始->運行輸入CMD)
C:/>evtsys –i –h 192.168.10.100
-i 表示安裝成系統服務
-h 指定log伺服器的IP地址
如果要卸載evtsys,則:
net stop evtsys
evtsys -u
啟動該服務:
C:/>net start evtsys
打開windows組策略編輯器 (開始->運行輸入 gpedit.msc)
在windows設置-> 安全設置-> 本地策略->審核策略中,打開你需要記錄的windows日誌。evtsys會實時的判斷是否有新的windows日誌產生,然後把新產生的日誌轉換成syslogd可識別的格式,通過UDP 3072埠發送給syslogd伺服器。