ELK+Beats實現Windows服務器系統日志監控

ELK在運維監控領域使用非常廣泛,日志采集通常依靠Logstash,但是通常來講Logstash架構比較重載,一個安裝包由幾百MB,相比之下Elastic還提供另一種更輕量的采集工具Beats。Beats 平臺集合了多種單一用途數據采集器。這些采集器安裝后可用作輕量型代理,從成百上千或成千上萬臺機器向 Logstash 或 Elasticsearch 發送數據。本文簡要介紹一下使用Winlogbeat收集Windows日志,并用ES + Kibana檢索的配置方法。

步驟一:安裝Winlogbeat

  1. 下載Winlogbeat安裝包downloads page.
  2. 解壓到C:\Program Files.
  3. 重名名解壓文件winlogbeat-<version>目錄為Winlogbeat
  4. 打開PowerShell,以管理員身份運行(右鍵點擊Powershell并選擇以管理員身份運行)。如果你使用XP,可能需要自行下載安裝PowerShell
  5. 在PowerShell中運行如下命令安裝服務


    mark

在運行Winlogbeat前,還需要檢查一下配置文件中的選項,比如C:\Program Files\Winlogbeat\winlogbeat.yml,安裝包里提供一個完整的配置文件樣例winlogbeat.full.yml,更多資料請參考.

配置Winlogbeat

編輯winlogbeat.yml來修改配置,熟悉yaml語法的同學一定不會陌生,不熟悉的請自行熟悉。
舉例如下:

winlogbeat.event_logs:
  - name: Application
  - name: Security
  - name: System
 
output.elasticsearch:
  hosts:
    - localhost:9200
 
logging.to_files: true
logging.files:
  path: C:/ProgramData/winlogbeat/Logs
logging.level: info

步驟二:配置Winlogbeat

  1. 在event_logs章節,指定你要監控的event log類型,Winlogbeat默認監控application, security, and system這三種
winlogbeat.event_logs:
  - name: Application
  - name: Security
  - name: System

要查看全部類型,在PowerShell中運行Get-EventLog *,更多信息請參考event_logs.name.

  1. 如果需要把日志發送到Elasticsearch,這里把IP端口寫進去:
output.elasticsearch:
  hosts:
    - localhost:9200

如果要把日志寫到Logstash,請繼續往下看

  1. 修改完配置文件以后運行下面的命令測試一下:
PS C:\Program Files\Winlogbeat> .\winlogbeat.exe -c .\winlogbeat.yml -configtest -e

步驟三:配置Winlogbeat使用Logstash

如果你想把日志直接寫到Elasticsearch那么這一步可以跳過。

要將日志通過Logstash寫到ES,需要先配置Logstash的轉發規則,舉例如下:

input{
    beats{
        port=>5044type=>"wineventlog"
    }
}
output{
    stdout{
        
    }if[
        type
    ]=="wineventlog"{
        elasticsearch{
            hosts=>"100.100.16.231"index=>"winlogbeat-%{+yyyy.MM.dd}"
        }
    }else{
        elasticsearch{
            hosts=>"100.100.16.231"
        }
    }
}

配置好以后確保Logstash已經啟動且運行正常。接下來要配置Winlogbeat將日志發送到Logstash的5044端口

#----------------------------- Logstash output --------------------------------
output.logstash:
  hosts: ["127.0.0.1:5044"]

這里還需要額外做一個步驟,讓Elasticsearch加載索引模板,因為這里我們是用Logstash往ES上轉日志,所以必須手動加載索引模板,如果直接往ES發日志,這一步可以省略

步驟四:加載索引模板

在Elasticsearch里面,索引模板(Index templates)用來定義字段的設置和映射關系,推薦的Winlogbeat索引模板配置文件在Winlogbeat的安裝包里winlogbeat.yml,下面我們通過ES的API接口把模板推送過去,其實就是構造一個HTTP的PUT請求把數據發出去,工具和方法很多這里介紹兩種,

使用PowerShell

PS C:\Program Files\Winlogbeat> Invoke-WebRequest -Method Put -InFile winlogbeat.template.json -Uri  http://localhost:9200/_template/winlogbeat?pretty -ContentType application/json

使用Postman


mark

這里localhost:9200是Elasticsearch的監聽端口。另外刪除已有的索引模板執行如下命令:
curl -XDELETE 'http://localhost:9200/winlogbeat-*'

第五步:啟動Winlogbeat

用PowerShell啟動:

PS C:\Program Files\Winlogbeat> Start-Service winlogbeat

執行以后Winlogbeat就開始執行了,如果使用上面的配置文件,日志會輸出到C:\ProgramData\winlogbeat\Logs\winlogbeat。
我們可以通過Services management控制這個任務的狀態,啟動控制臺

PS C:\Program Files\Winlogbeat> services.msc

停止任務:

PS C:\Program Files\Winlogbeat> Stop-Service winlogbeat

步驟六:加載Kibana儀表盤樣例

為方便用戶監控收到的數據,官方還提供了一個Winlogbeat的Kibana儀表盤樣例,當然我們可以基于這個樣例自己定制儀表盤。


mark

導入儀表盤

Winlogbeat安裝包里有個scripts/import_dashboards程序,操作步驟非常簡單,打開PowerShell命名行,執行該程序:

PS > scripts\import_dashboards.exe

腳本默認假設你的Elasticsearch在127.0.0.1:9200,如果你的環境不在本地,可以執行下面的命令指定服務器位置:

PS > scripts\import_dashboards.exe -es http://192.168.33.60:9200

如果ES開啟了賬號密碼認證:

PS > scripts\import_dashboards.exe -es https://xyz.found.io -user user -pass password

查看儀表板

導入完成以后,用瀏覽器訪問Kibana頁面,如:http://127.0.0.1:5601.

在Discover 頁面,可以看到之前定義好的索引winlogbeat-*

同時,打開Dashboard頁面,可以選擇對應的儀表盤查看


mark

同時,打開Dashboard頁面,可以選擇對應的儀表盤查看


mark

原文地址:《ELK+Beats實現Windows服務器系統日志監控》

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,247評論 6 543
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,520評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,362評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,805評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,541評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,896評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,887評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,062評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,608評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,356評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,555評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,077評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,769評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,175評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,489評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,289評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,516評論 2 379

推薦閱讀更多精彩內容