真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

搭建辦公環(huán)境ElasticSearch日志分析系統(tǒng)

搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

? 計(jì)劃將公司的防火墻+交換機(jī)+服務(wù)器(centos7)+ Vmware+Windows server納入到監(jiān)控范圍,所以開啟了ELK監(jiān)控之旅。

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的精河網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

? 本文采用ELK架構(gòu)棧進(jìn)行組建,萬(wàn)丈高樓平地起,雖然開始比較簡(jiǎn)陋,后期會(huì)不斷完善這個(gè)日志分析系統(tǒng)。

? 全文框架如下:

? Hillstone: syslog→logstash→elasticsearch→kibana

? H3C: syslog→logstash→elasticsearch→kibana

? ESXI: syslog→logstash→elasticsearch→kibana

? Vcenter: syslog→logstash→elasticsearch→kibana

? Windows server: winlogbeat→logstash→elasticsearch→kibana

? linux server: filebeate→lasticsearch→kibana

? ELK說(shuō)明:

? ELK1: 192.168.20.18:9200

? ELK2: 192.168.20.19:9200

? 規(guī)劃:

? Logstash: 192.168.20.18

? 不同服務(wù)根據(jù)端口不同進(jìn)行標(biāo)記,創(chuàng)建不同的索引。

?

1 Hillstone部分

1.1 Hillstone配置

1.1.1 配置步驟

? 本文通過(guò)web界面配置,當(dāng)然也能進(jìn)行命令行配置,具體配置請(qǐng)參考鏈接。

? 找到Stoneos-日志管理-log配置-日志管理器,配置服務(wù)器日志:
? 主機(jī)名: 192.168.20.18
? 綁定方式: 虛擬路由器 trust-vr
? 協(xié)議: UDP
? 端口: 514

? //我使用的root運(yùn)行,非root賬號(hào)使用端口在1024以上。

? 搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

1.1.2 參考鏈接

elk收集數(shù)據(jù)中心網(wǎng)絡(luò)設(shè)備日志

hillstone常見配置命令

1.2 添加logstash 配置文件

1.2.1 創(chuàng)建配置測(cè)試文件
cat  > /data/config/test-hillstone.config << EOF
input{
        udp {port => 518 type => "Hillstone"}
}
output {
    stdout { codec=> rubydebug }
}
EOF
logstash -f test-hillstone.config
1.2.2 選取其中一條日志進(jìn)行分析調(diào)試。
<190>Nov 29 17:24:52 1404726150004842(root) 44243624 Traffic@FLOW: SESSION: 10.6.2.43:49608->192.168.20.160:11800(TCP), application TCP-ANY, interface tunnel6, vr trust-vr, policy 1, user -@-, host -, send packets 1,send bytes 74,receive packets 1,receive bytes 110,start time 2019-11-29 17:24:50,close time 2019-11-29 17:24:52,session end,TCP RST\n\u0000
1.2.3Logstash分析說(shuō)明
    可以通過(guò)grok debug網(wǎng)站進(jìn)行自動(dòng)匹配(https://grokdebug.herokuapp.com/discover?#),再根據(jù)分析出來(lái)的日志,進(jìn)行二次調(diào)整。
    同樣晚上有很多案例進(jìn)行參考,可以先去參考別人想法,再補(bǔ)充自己的想法。
    關(guān)于grok部分詳細(xì)講解,請(qǐng)參考https://coding.imooc.com/class/181.html,老師講的很棒,當(dāng)然吾愛破解論壇和B站,有免費(fèi)版。
1.2.4 Logstash綜合配置

? 只選取了會(huì)話+NAT部分

cat  > /data/config/hillstone.config<< EOF
input{
        udp {
        port => 518 
        type => "hillstone"
        }

}
filter {
    grok {
##流量日志

#SESSION會(huì)話結(jié)束日志
        match => { "message" => "\<%{BASE10NUM:syslog_pri}\>%{SYSLOGTIMESTAMP:timestamp}\ %{BASE10NUM:serial}\(%{WORD:ROOT}\) %{DATA:logid}\ %{DATA:Sort}@%{DATA:Class}\: %{DATA:module}\: %{IPV4:srcip}\:%{BASE10NUM:srcport}->%{IPV4:dstip}:%{WORD:dstport}\(%{DATA:protocol}\), application %{USER:app}\, interface %{DATA:interface}\, vr %{USER:vr}\, policy %{DATA:policy}\, user %{USERNAME:user}\@%{DATA:AAAserver}\, host %{USER:HOST}\, send packets %{BASE10NUM:sendPackets}\,send bytes %{BASE10NUM:sendBytes}\,receive packets %{BASE10NUM:receivePackets}\,receive bytes %{BASE10NUM:receiveBytes}\,start time %{TIMESTAMP_ISO8601:startTime}\,close time %{TIMESTAMP_ISO8601:closeTime}\,session %{WORD:state}\,%{GREEDYDATA:reason}"}
#SESSION會(huì)話開始日志
        match => { "message" => "\<%{BASE10NUM:syslog_pri}\>%{SYSLOGTIMESTAMP:timestamp}\ %{BASE10NUM:serial}\(%{WORD:ROOT}\) %{DATA:logid}\ %{DATA:Sort}@%{DATA:Class}\: %{DATA:module}\: %{IPV4:srcip}\:%{BASE10NUM:srcport}->%{IPV4:dstip}:%{WORD:dstport}\(%{DATA:protocol}\), interface %{DATA:interface}\, vr %{DATA:vr}\, policy %{DATA:policy}\, user %{USERNAME:user}\@%{DATA:AAAserver}\, host %{USER:HOST}\, session %{WORD:state}%{GREEDYDATA:reason}"}
#SNAT日志
        match => { "message" => "\<%{BASE10NUM:syslog_pri}\>%{SYSLOGTIMESTAMP:timestamp}\ %{BASE10NUM:serial}\(%{WORD:ROOT}\) %{DATA:logid}\ %{DATA:Sort}@%{DATA:Class}\: %{DATA:module}\: %{IPV4:srcip}\:%{BASE10NUM:srcport}->%{IPV4:dstip}:%{WORD:dstport}\(%{DATA:protocol}\), %{WORD:state} to %{IPV4:snatip}\:%{BASE10NUM:snatport}\, vr\ %{DATA:vr}\, user\ %{USERNAME:user}\@%{DATA:AAAserver}\, host\ %{DATA:HOST}\, rule\ %{BASE10NUM:rule}"}
#DNAT日志
                match => { "message" => "\<%{BASE10NUM:syslog_pri}\>%{SYSLOGTIMESTAMP:timestamp}\ %{BASE10NUM:serial}\(%{WORD:ROOT}\) %{DATA:logid}\ %{DATA:Sort}@%{DATA:Class}\: %{DATA:module}\: %{IPV4:srcip}\:%{BASE10NUM:srcport}->%{IPV4:dstip}:%{WORD:dstport}\(%{DATA:protocol}\), %{WORD:state} to %{IPV4:dnatip}\:%{BASE10NUM:dnatport}\, vr\ %{DATA:vr}\, user\ %{USERNAME:user}\@%{DATA:AAAserver}\, host\ %{DATA:HOST}\, rule\ %{BASE10NUM:rule}"}
    }
    mutate {
                lowercase => [ "module" ]
                remove_field => ["host", "message", "ROOT", "HOST", "serial", "syslog_pri", "timestamp", "mac", "AAAserver", "user"]
        }
}
output {
    elasticsearch {
    hosts => "192.168.20.18:9200"  #elasticsearch服務(wù)地址
    index => "logstash-hillstone-%{module}-%{state}-%{+YYYY.MM.dd}"
    }
}
EOF
3.1.2.3 參考文件

hillstone中l(wèi)ogstash配置參考

elk收集數(shù)據(jù)中心網(wǎng)絡(luò)設(shè)備日志

山石hillstone Logstash配置流程

ELK從入門到實(shí)踐

2 H3C交換機(jī)部分

2.1 H3C Syslog轉(zhuǎn)發(fā)

2.1.1 H3C交換機(jī)配置

? 本文通過(guò)命令行進(jìn)行配置,具體配置請(qǐng)參考鏈接。

  • ? 將交換機(jī)的時(shí)間設(shè)置正確

    clock datetime hh:mm:ss year/month/day
    save force
  • 設(shè)置交換機(jī)syslog轉(zhuǎn)發(fā)。

    system-view
    info-center enable // 開啟info-center
    info-center loghost 192.168.20.18 port 516 facility local8 // 設(shè)置日志主機(jī)/端口/日志級(jí)別
    info-center source  default  loghost  level   informational  //設(shè)置日志級(jí)別
    save force
    
2.1.2 參考鏈接

? H3C設(shè)置時(shí)間

? H3C網(wǎng)絡(luò)日志轉(zhuǎn)發(fā)

? H3C配置日志主機(jī)

2.2 添加logstash 配置文件

2.2.1 創(chuàng)建配置測(cè)試文件
cat  > /data/config/test-h4c.congfig << EOF
input{
        udp {port => 516 type => "h4c"}
}
output {
    stdout { codec=> rubydebug }
}
EOF
2.2.2 選取一條日志進(jìn)行分析調(diào)試。
<190>Nov 30 16:27:23 1404726150004842(root) 44243622 Traffic@FLOW: SESSION: 10.6.4.178:48150->192.168.20.161:11800(TCP), interface tunnel6, vr trust-vr, policy 1, user -@-, host -, session start\n\u0000
2.2.3 mutate基本用法說(shuō)明

? 參考鏈接: https://blog.csdn.net/qq_34624315/article/details/83013531

2.2.4 綜合配置。
cat > H3C.conf < { "message" => "\<%{BASE10NUM:syslog_pri}\>%{SYSLOGTIMESTAMP:timestamp}\ %{DATA:year} %{DATA:hostname} \%\%%{DATA:ddModuleName}\/%{POSINT:severity}\/%{DATA:brief}\: %{GREEDYDATA:reason}" }       
        add_field => {"severity_code" => "%{severity}"}          
        }
    mutate {    
        gsub => [
            "severity", "0", "Emergency",
            "severity", "1", "Alert",
            "severity", "2", "Critical",
            "severity", "3", "Error",
            "severity", "4", "Warning",
            "severity", "5", "Notice",
            "severity", "6", "Informational",
            "severity", "7", "Debug"
        ]
        remove_field => ["message", "syslog_pri"]
        }
}
output {
    stdout { codec=> rubydebug }
#    elasticsearch {
#    hosts => "192.168.20.18:9200"  #elasticsearch服務(wù)地址
#    index => "logstash-h4c-%{+YYYY.MM.dd}"
#    }
}
EOF
2.2.5 參考文件

交換路由等網(wǎng)絡(luò)設(shè)備logstash配置

logstash配置文件

3 Vmware部分

3.1 Esxi日志收集部分

? 主要是收集ESXI機(jī)器日志,方便進(jìn)行安全日志分析;

? 主要通過(guò)syslog進(jìn)行日志收集,再通過(guò)ELK棧提供的logstash進(jìn)行分析

? ESXI-syslog--logstash--elasticsearch

3.1.1 Esxi機(jī)器syslog服務(wù)器配置
3.1.1.1 配置步驟

? 本文通過(guò)客戶端配置,當(dāng)然也能進(jìn)行web配置,方法基本一致,具體配置請(qǐng)參考鏈接。

  • ? 開啟syslog服務(wù):

    打開esxi客戶端-選擇主機(jī)-主機(jī)配置-高級(jí)設(shè)置-syslog-設(shè)置遠(yuǎn)程syslog服務(wù)器為: udp://192.168.20.18:514

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

  • 允許防火墻放行。

    打開esxi客戶端-選擇主機(jī)-主機(jī)配置-安全配置文件-防火墻-編輯-勾選syslog服務(wù)器,點(diǎn)擊確定。

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    3.1.1.2 參考鏈接

    Vmware Esxi syslog配置

    在Esxi上配置syslog

    Monitoring VMWare ESXi with the ELK Stack

    3.1.2 添加logstash 配置文件
    3.1.2.1 創(chuàng)建配置測(cè)試文件
    cat  > /data/config/test-vmware.config << EOF
    input{
          udp {port => 514 type => "Hillstone"}
    }
    output {
      stdout { codec=> rubydebug }
    }
    EOF
    logstash -f test-vmware.config
    3.1.2.2 選取其中一條日志進(jìn)行分析調(diào)試。
    <167>2019-12-03T07:36:11.689Z localhost.localdomain Vpxa: verbose vpxa[644C8B70] [Originator@6876 sub=VpxaHalCnxHostagent opID=WFU-2d14bc3d] [WaitForUpdatesDone] Completed callback\n
    3.1.2.3 結(jié)合網(wǎng)上的綜合案例對(duì)測(cè)試文件進(jìn)行配置改造。
    cat > vmware.conf < 514
          type => "vmware"
    }
    }
    
    filter {
    if "vmware" in [type] {
        grok {
            break_on_match => true
            match => [
                "message", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{SYSLOGPROG:syslog_program}: (?(?(?:\[%{DATA:message_thread_id} %{DATA:syslog_level} \'%{DATA:message_service}\'\ ?%{DATA:message_opID}])) \[%{DATA:message_service_info}]\ (?(%{GREEDYDATA})))",
                "message", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{SYSLOGPROG:syslog_program}: (?(?(?:\[%{DATA:message_thread_id} %{DATA:syslog_level} \'%{DATA:message_service}\'\ ?%{DATA:message_opID}])) (?(%{GREEDYDATA})))",
                "message", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{SYSLOGPROG:syslog_program}: %{GREEDYDATA:syslog_message}"
            ]
        }
         date {
                          match => [ "syslog_timestamp", "YYYY-MM-ddHH:mm:ss", "ISO8601" ]
                  }
        mutate {
            replace => [ "@source_host", "%{syslog_hostname}" ]
        }
        mutate {
            replace => [ "@message", "%{syslog_message}" ]
        }
        mutate {
            remove_field => ["@source_host","program","@timestamp","syslog_hostname","@message"]
        }
        if "Device naa" in [message] {
            grok {
                break_on_match => false
                match => [
                    "message", "Device naa.%{WORD:device_naa} performance has %{WORD:device_status}%{GREEDYDATA} of %{INT:datastore_latency_from}%{GREEDYDATA} to %{INT:datastore_latency_to}",
                    "message", "Device naa.%{WORD:device_naa} performance has %{WORD:device_status}%{GREEDYDATA} from %{INT:datastore_latency_from}%{GREEDYDATA} to %{INT:datastore_latency_to}"
                ]
            }
        }
        if "connectivity issues" in [message] {
            grok {
                match => [
                    "message", "Hostd: %{GREEDYDATA} : %{DATA:device_access} to volume %{DATA:device_id} %{DATA:datastore} (following|due to)"
                ]
            }
        }
        if "WARNING" in [message] {
            grok {
                match => [
                    "message", "WARNING: %{GREEDYDATA:vmware_warning_msg}"
                ]
            }
        }
    }
    }
    output {
      elasticsearch {
      hosts => "192.168.20.18:9200"  #elasticsearch服務(wù)地址
      index => "logstash-vmware-%{+YYYY.MM.dd}"
      }
    #    stdout { codec=> rubydebug }
    }
    EOF
    
    3.1.2.3 參考文件

    mutate基本用法

    基本logstash配置文件參考

    vmware and syslog

    logstash VCSA6.0

    filter plugins

    3.2 Vcenter日志收集部分

    3.2.1 Vcenter-syslog服務(wù)器配置

    ? 主要是收集vcsa機(jī)器日志,方便進(jìn)行安全日志分析;

    ? 主要通過(guò)syslog進(jìn)行日志收集,再通過(guò)ELK棧提供的logstash進(jìn)行分析

    ? VCSA-Syslog--Logstash--Elasticsearch

    3.2.1.1 配置步驟

    ? 打開VCSA的管理后臺(tái)URL: http://192.168.20.90:5480,輸入賬號(hào)和密碼(開機(jī)root和密碼)--點(diǎn)擊syslog配置中心,輸入syslog配置信息。

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    3.2.1.2 參考鏈接

    Vmware Esxi syslog配置

    VCSA 6.5 forward to multiple syslog

    VCSA syslog

    3.2.2 添加logstash 配置文件
    3.2.2.1 創(chuàng)建測(cè)試配置
    input{
          udp {
          port => 1514
          type => "vcenter"
    }
    }
    
    output {
      stdout { codec=> rubydebug }
    }
    
    3.2.2.2 選取一條日志進(jìn)行分析調(diào)試
    <14>1 2019-12-05T02:44:17.640474+00:00 photon-machine vpxd 4035 - -  Event [4184629] [1-1] [2019-12-05T02:44:00.017928Z] [vim.event.UserLoginSessionEvent] [info] [root] [Datacenter] [4184629] [User root@192.168.20.17 logged in as pyvmomi Python/3.6.8 (Linux; 3.10.0-957.el7.x86_64; x86_64)]\n
    3.2.2.3 結(jié)合網(wǎng)上的綜合案例對(duì)配置文件進(jìn)行配置改造。
    cat > vcenter.conf < 1514
          type => "vcenter"
    }
    }
    filter {
    if "vcenter" in [type] {
      }
      grok {
        break_on_match => true
        match => [
          "message", "<%{NONNEGINT:syslog_pri}>%{NONNEGINT:syslog_ver} +(?:%{TIMESTAMP_ISO8601:syslog_timestamp}|-) +(?:%{HOSTNAME:syslog_hostname}|-) +(-|%{SYSLOG5424PRINTASCII:syslog_program}) +(-|%{SYSLOG5424PRINTASCII:syslog_proc}) +(-|%{SYSLOG5424PRINTASCII:syslog_msgid}) +(?:%{SYSLOG5424SD:syslog_sd}|-|) +%{GREEDYDATA:syslog_msg}"
        ]
      }
      date {
           match => [ "syslog_timestamp", "YYYY-MM-ddHH:mm:ss,SSS", "YYYY-MM-dd HH:mm:ss,SSS", "ISO8601" ]
           #timezone => "UTC" #For vCenter Appliance
           #timezone => "Asia/Shanghai"
      }
    
     mutate {
           remove_field => ["syslog_ver", "syslog_pri"]
                          }
    
    }
    output {
      elasticsearch {
      hosts => "192.168.20.18:9200"  #elasticsearch服務(wù)地址
      index => "logstash-vcenter-%{+YYYY.MM.dd}"
      }
    #    stdout { codec=> rubydebug }
    }
    
    EOF
    
    3.2.2.4 參考文件

    mutate基本用法

    基本logstash配置文件參考

    vmware and syslog

    logstash VCSA6.0

    4 Windows server部分

    4.1 windows server日志收集部分

    ? 主要是收集AD域日志,方便進(jìn)行安全日志分析;

    ? 主要通過(guò)ELK棧提供的winlogbeat進(jìn)行收集

    ? winlogbeat--logstash--elasticsearch

    4.1.1 windows服務(wù)器配置
    • 下載安裝

    下載連接地址:https://www.elastic.co/cn/downloads/beats/winlogbeat

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    • 配置:

    將解壓后的文件放到“C:\Program Files”,重命名為winlogbeat

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    • 安裝 :

    命令安裝

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    • 編輯:

    編輯winlogbeat.yml文件

    winlogbeat.event_logs:
      - name: Application
      - name: Security
      - name: System
    
    output.logstash:
      enbaled: true
      hosts: ["192.168.20.18:5044"]
    
    logging.to_files: true
    logging.files:
      path: D:\ProgramData\winlogbeat\Logs
    logging.level: info
    • 測(cè)試配置文件
    PS C:\Program Files\Winlogbeat> .\winlogbeat.exe test config -c .\winlogbeat.yml -e
    • 啟動(dòng):

    啟動(dòng)winlogbeat

    powershell命令行啟動(dòng):

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

    powershell命令行關(guān)閉

    PS C:\Program Files\Winlogbeat> Stop-Service winlogbeat
    • 導(dǎo)入模板

    導(dǎo)入winlogindex模板,因?yàn)槲覀兪褂玫膌ogstash,所以需要手動(dòng)導(dǎo)入。

    PS > .\winlogbeat.exe setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["192.168.20.18"]'
    • 導(dǎo)入dashboard

    導(dǎo)入kibana-dashboard,因?yàn)槲覀兪褂玫膌ogstash,所以需要手動(dòng)導(dǎo)入。

    PS > .\winlogbeat.exe setup -e  -E output.logstash.enabled=false   -E output.elasticsearch.hosts=['192.168.20.18:9200']   -E setup.kibana.host=192.168.20.18:5601
    4.1.2 參考鏈接

    ? windows 上winlogbeat安裝

    ? 官方手冊(cè)分析

    4.2 添加logstash 配置文件

    4.2.1 創(chuàng)建測(cè)試配置文件
    cat  > /data/config/test-windows.config << EOF
    input {
    beats {
      port => 5044
    }
    }
    
    output {
    stdout { codec=> rubydebug }
    }
    EOF
    logstash -f test-windows.config
    4.2.2 創(chuàng)建配置文件

    創(chuàng)建正式配置文件,查看內(nèi)容(因?yàn)橐延心0?,所以不錯(cuò)其他修改處理)

    cat  > /data/config/windows.config << EOF
    input {
    beats {
      port => 5044
    }
    }
    
    output {
    elasticsearch {
      hosts => ["http:192.168.20.18:9200"]
      index => "%{[@metadata][beat]}-%{[@metadata][version]}" 
    }
    }
    EOF
    logstash -f windows.config
    
    4.2.3 參考文件

    beats input plugin

    4.3查看Discover

    ? 因?yàn)橐呀?jīng)winlogbeat是elk棧的標(biāo)準(zhǔn)模塊,已經(jīng)被定義,所以我們不再自行定義。

    ? 直接打開搜索winlogbaet*的index。

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    4.4 查看dashboard

    ? 因?yàn)橐呀?jīng)winlogbeat是elk棧的標(biāo)準(zhǔn)模塊,已經(jīng)被定義,所以我們不再自行定義。

    ? 直接打開搜索winlogbaet*的dashboard

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    5 Linux server部分

    5.1 linux 系統(tǒng)日志收集部分

    ? 主要是收集linux上的開關(guān)機(jī)日志,安全日志;

    ? 主要通過(guò)ELK棧提供的filebeat進(jìn)行收集

    ? filebeat-filebeat-module--elasticsearch

    ? 搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    5.1.1 安裝部署
    • 下載

    官網(wǎng)下載,連接地址:https://www.elastic.co/cn/downloads/beats/filebeat

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    • 安裝 :

    命令行安裝

    curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.5.0-linux-x86_64.tar.gz
    tar xzvf filebeat-7.5.0-linux-x86_64.tar.gz
    • 查看布局

    查看filebeat目錄布局

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    • 編輯:

    編輯filebeat.yml文件

    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/*.log
        #- c:\programdata\elasticsearch\logs\*
    output.elasticsearch:
      hosts: ["192.168.20.18:9200"]
    setup.kibana:
      host: "192.168.20.18:5601"
    
    • 啟動(dòng):

    運(yùn)行filebeat文件

    filebeat  -c filebeat.yml -e
    5.1.2 參考鏈接

    windows 上winlogbeat安裝

    官方手冊(cè)分析

    5.2 修改filebeat配置文件

    5.2.1索引名稱

    關(guān)閉ilm聲明周期管理

    setup.ilm.enabled: false

    更改索引名稱

    setup.template.overwrite: true
    output.elasticsearch.index: "systemlog-7.3.0-%{+yyyy.MM.dd}"
    setup.template.name: "systemlog"
    setup.template.pattern: "systemlog-*"

    修改預(yù)先構(gòu)建的kibana儀表盤

    setup.dashboards.index: "systemlog-*"
    5.2.1 開啟system模塊
    ./filebeat modules enable system
    ./filebeat modules list
    5.2.3 重新初始化環(huán)境
    ./filebeat setup --template -e -c  filebeat.yml
    5.2.4 配置模塊,修改配置文件
    filebeat.modules:
    - module: system
    syslog:
      enabled: true
    #默認(rèn)位置/var/log/messages* /var/log/syslog*
    auth:
      enabled: true
    #默認(rèn)位置/var/log/auth.log*  /var/log/secure*
    output.elasticsearch:
    hosts: ["192.168.20.18:9200"]
    setup.kibana:
    host: "192.168.20.18:5601"
    5.2.5 重新啟動(dòng)filebeats,初始化模塊
    ./filebeat setup -e -c  filebeat.yml
    5.2.6 參考文件

    beats input plugin

    filebeat模塊與配置

    system module

    5.3 查看discover

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    5.4 查看dashboard

    搭建辦公環(huán)境ElasticSearch 日志分析系統(tǒng)

    6 整合logstash配置

    6.1 整合logstash配置文件

    input{
    udp {
      port => 516
      type => "h4c"
    }
    }
    input{
    udp {
      port => 518
      type => "hillstone"
    }
    }
    input{
    udp {
      port => 514
      type => "vmware"
    }
    }
    input{
    udp {
      port => 1514
      type => "vcenter"
    }
    }
    input {
    beats {
      port => 5044
      type => "windows"
    }
    }
    filter {
    if [type] == "hillstone" {
    grok {
      match => { "message" => "\<%{BASE10NUM:syslog_pri}\>%{SYSLOGTIMESTAMP:timestamp}\ %{BASE10NUM:serial}\(%{WORD:ROOT}\) %{DATA:logid}\ %{DATA:Sort}@%{DATA:Class}\: %{DATA:module}\: %{IPV4:srcip}\:%{BASE10NUM:srcport}->%{IPV4:dstip}:%{WORD:dstport}\(%{DATA:protocol}\), application %{USER:app}\, interface %{DATA:interface}\, vr %{USER:vr}\, policy %{DATA:policy}\, user %{USERNAME:user}\@%{DATA:AAAserver}\, host %{USER:HOST}\, send packets %{BASE10NUM:sendPackets}\,send bytes %{BASE10NUM:sendBytes}\,receive packets %{BASE10NUM:receivePackets}\,receive bytes %{BASE10NUM:receiveBytes}\,start time %{TIMESTAMP_ISO8601:startTime}\,close time %{TIMESTAMP_ISO8601:closeTime}\,session %{WORD:state}\,%{GREEDYDATA:reason}"}
      match => { "message" => "\<%{BASE10NUM:syslog_pri}\>%{SYSLOGTIMESTAMP:timestamp}\ %{BASE10NUM:serial}\(%{WORD:ROOT}\) %{DATA:logid}\ %{DATA:Sort}@%{DATA:Class}\: %{DATA:module}\: %{IPV4:srcip}\:%{BASE10NUM:srcport}->%{IPV4:dstip}:%{WORD:dstport}\(%{DATA:protocol}\), interface %{DATA:interface}\, vr %{DATA:vr}\, policy %{DATA:policy}\, user %{USERNAME:user}\@%{DATA:AAAserver}\, host %{USER:HOST}\, session %{WORD:state}%{GREEDYDATA:reason}"}
      match => { "message" => "\<%{BASE10NUM:syslog_pri}\>%{SYSLOGTIMESTAMP:timestamp}\ %{BASE10NUM:serial}\(%{WORD:ROOT}\) %{DATA:logid}\ %{DATA:Sort}@%{DATA:Class}\: %{DATA:module}\: %{IPV4:srcip}\:%{BASE10NUM:srcport}->%{IPV4:dstip}:%{WORD:dstport}\(%{DATA:protocol}\), %{WORD:state} to %{IPV4:snatip}\:%{BASE10NUM:snatport}\, vr\ %{DATA:vr}\, user\ %{USERNAME:user}\@%{DATA:AAAserver}\, host\ %{DATA:HOST}\, rule\ %{BASE10NUM:rule}"}                                                                                                                                                         match => { "message" => "\<%{BASE10NUM:syslog_pri}\>%{SYSLOGTIMESTAMP:timestamp}\ %{BASE10NUM:serial}\(%{WORD:ROOT}\) %{DATA:logid}\ %{DATA:Sort}@%{DATA:Class}\: %{DATA:module}\: %{IPV4:srcip}\:%{BASE10NUM:srcport}->%{IPV4:dstip}:%{WORD:dstport}\(%{DATA:protocol}\), %{WORD:state} to %{IPV4:dnatip}\:%{BASE10NUM:dnatport}\, vr\ %{DATA:vr}\, user\ %{USERNAME:user}\@%{DATA:AAAserver}\, host\ %{DATA:HOST}\, rule\ %{BASE10NUM:rule}"}
    }
    mutate {
    lowercase => [ "module" ]
    remove_field => ["host", "message", "ROOT", "HOST", "serial", "syslog_pri", "timestamp", "mac", "AAAserver", "user"]
    }
    }
    if [type] == "h4c" {
      grok {
        match => { "message" => "\<%{BASE10NUM:syslog_pri}\>%{SYSLOGTIMESTAMP:timestamp}\ %{DATA:year} %{DATA:hostname} \%\%%{DATA:ddModuleName}\/%{POSINT:severity}\/%{DATA:brief}\: %{GREEDYDATA:reason}" }
      add_field => {"severity_code" => "%{severity}"}
    }
    mutate {
      gsub => [
    "severity", "0", "Emergency",
    "severity", "1", "Alert",
    "severity", "2", "Critical",
    "severity", "3", "Error",
    "severity", "4", "Warning",
    "severity", "5", "Notice",
    "severity", "6", "Informational",
    "severity", "7", "Debug"
    ]
      remove_field => ["message", "syslog_pri"]
    }
    }
    if [type] == "vmware" {
    grok {
    break_on_match => true
    match => [
    "message", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{SYSLOGPROG:syslog_program}: (?(?(?:\[%{DATA:message_thread_id} %{DATA:syslog_level} \'%{DATA:message_service}\'\ ?%{DATA:message_opID}])) \[%{DATA:message_service_info}]\ (?(%{GREEDYDATA})))",
    "message", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{SYSLOGPROG:syslog_program}: (?(?(?:\[%{DATA:message_thread_id} %{DATA:syslog_level} \'%{DATA:message_service}\'\ ?%{DATA:message_opID}])) (?(%{GREEDYDATA})))",
    "message", "<%{POSINT:syslog_pri}>%{TIMESTAMP_ISO8601:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{SYSLOGPROG:syslog_program}: %{GREEDYDATA:syslog_message}"
    ]
    }
    date {
    match => [ "syslog_timestamp", "YYYY-MM-ddHH:mm:ss", "ISO8601" ]
    }
    mutate {
    replace => [ "@source_host", "%{syslog_hostname}" ]
    }
    mutate {
    replace => [ "@message", "%{syslog_message}" ]
    }
    mutate {
    remove_field => ["@source_host","program","syslog_hostname","@message"]
    }
    }
    if [type] == "vcenter" {
    grok {
    break_on_match => true
    match => [
    "message", "<%{NONNEGINT:syslog_pri}>%{NONNEGINT:syslog_ver} +(?:%{TIMESTAMP_ISO8601:syslog_timestamp}|-) +(?:%{HOSTNAME:syslog_hostname}|-) +(-|%{SYSLOG5424PRINTASCII:syslog_program}) +(-|%{SYSLOG5424PRINTASCII:syslog_proc}) +(-|%{SYSLOG5424PRINTASCII:syslog_msgid}) +(?:%{SYSLOG5424SD:syslog_sd}|-|) +%{GREEDYDATA:syslog_msg}"
    ]
    }
    date {
    match => [ "syslog_timestamp", "YYYY-MM-ddHH:mm:ss,SSS", "YYYY-MM-dd HH:mm:ss,SSS", "ISO8601" ]
    }
    mutate {
    remove_field => ["syslog_ver", "syslog_pri"]
    }
    }
    }
    output {
    if [type] == "hillstone" {
    elasticsearch {
      hosts => "192.168.20.18:9200"
      index => "hillstone-%{module}-%{+YYYY.MM.dd}"
    }
    }
    if [type] == "h4c" {
    elasticsearch {
      hosts => "192.168.20.18:9200"
      index => "h4c-%{+YYYY.MM.dd}"
    }
    }
    if [type] == "vmware" {
    elasticsearch {
      hosts => "192.168.20.18:9200"
      index => "vmware-%{+YYYY.MM.dd}"
    }
    }
    if [type] == "vcenter" {
    elasticsearch {
      hosts => "192.168.20.18:9200"
      index => "vcenter-%{+YYYY.MM.dd}"
    }
    }
    if [type] == "windows" {
    elasticsearch {
      hosts => "192.168.20.18:9200"
      index => "%{[@metadata][beat]}-%{[@metadata][version]}"
    }
    }
    }
    

    6.2 配置logstash服務(wù)

    啟動(dòng)logstash服務(wù),并把mix.config 更改為logstash.conf ,放到/etc/logstash 目錄下。

    systemctl enable logstash
    systemc   start logstash
    未完待續(xù)

    推薦查看英文文檔方式

    找到一篇英文站點(diǎn),將鼠標(biāo)移動(dòng)到url開始,添加icopy.site/回車。

    ? "icopy.site/"+"https://www.elastic.co"

    例如 : 源網(wǎng)址:https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html

    ? 轉(zhuǎn)譯后網(wǎng)址:https://s0www0elastic0co.icopy.site/guide/en/logstash/current/plugins-filters-grok.html

    推薦理由:

    ? 1.比谷歌全文翻譯更準(zhǔn)確,而且關(guān)鍵代碼不翻譯。

    ? 2.如果你英文不好,或者看英文文檔太累,可以試下哦。

? 推薦學(xué)習(xí)視頻:

? ELK入門到實(shí)踐


本文標(biāo)題:搭建辦公環(huán)境ElasticSearch日志分析系統(tǒng)
分享URL:http://weahome.cn/article/ijcgod.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部