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阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容