Как установить winlogbeat для elk kibana на windows server

Задача собрать логи с windows server с помощью winlogbeat. Качаем актуальную версию winlogbeat https://artifacts.elastic.co/downloads/beats/winlogbeat/winlogbeat-7.9.1-windows-x86_64.zip 

Распаковываем на сервер. переименовываем в winlogbeat. Копируем в C:\Program Files .

После этого запускаем установку

cd 'C:\Program Files\Winlogbeat'
.\install-service-winlogbeat.ps1

Проверяем что служба установилась Как установить winlogbeat для elk kibana на windows server

После этого правим конфиг

У меня так

winlogbeat.event_logs:
  - name: Application
    ignore_older: 72h

  - name: System

  - name: Security
    processors:
      - script:
          lang: javascript
          id: security
          file: ${path.home}/module/security/config/winlogbeat-security.js

  - name: Microsoft-Windows-Sysmon/Operational
    processors:
      - script:
          lang: javascript
          id: sysmon
          file: ${path.home}/module/sysmon/config/winlogbeat-sysmon.js

  - name: Windows PowerShell
    event_id: 400, 403, 600, 800
    processors:
      - script:
          lang: javascript
          id: powershell
          file: ${path.home}/module/powershell/config/winlogbeat-powershell.js

  - name: Microsoft-Windows-PowerShell/Operational
    event_id: 4103, 4104, 4105, 4106
    processors:
      - script:
          lang: javascript
          id: powershell
          file: ${path.home}/module/powershell/config/winlogbeat-powershell.js

  - name: ForwardedEvents
    tags: [forwarded]
    processors:
      - script:
          when.equals.winlog.channel: Security
          lang: javascript
          id: security
          file: ${path.home}/module/security/config/winlogbeat-security.js
      - script:
          when.equals.winlog.channel: Microsoft-Windows-Sysmon/Operational
          lang: javascript
          id: sysmon
          file: ${path.home}/module/sysmon/config/winlogbeat-sysmon.js
      - script:
          when.equals.winlog.channel: Windows PowerShell
          lang: javascript
          id: powershell
          file: ${path.home}/module/powershell/config/winlogbeat-powershell.js
      - script:
          when.equals.winlog.channel: Microsoft-Windows-PowerShell/Operational
          lang: javascript
          id: powershell
          file: ${path.home}/module/powershell/config/winlogbeat-powershell.js

# ====================== Elasticsearch template settings =======================

setup.template.settings:
  index.number_of_shards: 1
  #index.codec: best_compression
  #_source.enabled: false


# ================================== General ===================================
logging.level: info
logging.to_files: true
logging.files:
  path: C:/Program Files/Winlogbeat/logs
  name: winlogbeat
  keepfiles: 7

setup.kibana:

  
#output.elasticsearch:
  # Array of hosts to connect to.
tags: ["winsrv"]
#output.elasticsearch:
output.logstash:
  # Array of hosts to connect to.
  hosts: ["elkls01:5044", "elk:5044"]
loadbalance: true





# ================================= Processors =================================
processors:
  - add_host_metadata:
      when.not.contains.tags: forwarded
  - add_cloud_metadata: ~


перезагружаем службу

настройка на самом сервере файл /etc/logstash/conf.d/logstash.conf

  GNU nano 4.8                                                                                        /etc/logstash/conf.d/logstash.conf
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

input {
  beats {
    port => 5044
  }
}
 filter {
 if "winsrv" in [tags] {
        elasticsearch {
             hosts => ["http://elkes01:9200", "http://msk-elkes02:9200", "http://elkes03:9200"]
            index    => "winsrv-%{+YYYY.MM.dd}"
        }
    }
    else {
        elasticsearch {
            hosts => ["http://elkes01:9200", "http://msk-elkes02:9200", "http://elkes03:9200"]
            index    => "unknown_messages"
        }
    }

            }
output {
  elasticsearch {
    hosts => ["http://elkes01:9200", "http://elkes02:9200", "http://elkes03:9200"]
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
}

 

перезапуск

sudo service logstash restart

 

После этого идём на kibana и добавляем индекс.

Как установить winlogbeat для elk kibana на windows server

Как установить winlogbeat для elk kibana на windows server

Нажимаем Create index pattern

После этого водим winlog

Как установить winlogbeat для elk kibana на windows server

нажимаем next

Как установить winlogbeat для elk kibana на windows server

После этого жмём create index.

Идём в discovery  и там новый индекс наш

Как установить winlogbeat для elk kibana на windows server

В конфигурации я сделал tags что бы легче было фильтровать в kibana

Как установить winlogbeat для elk kibana на windows server

Similar Posts: