欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

windows2016_x64搭建ELK(datasource->filebeat->logstash->elasticsearch->kibana)

程序员文章站 2022-03-18 14:01:41
windows2016_x64搭建ELK(datasource filebeat logstash elasticsearch kibana) 1. 本文示例日志程序基于asp.net core 3.0+nlog 2. ELK相关程序如下图: 3. 日志组件推荐: 客户端安装和运行 1. 下载fil ......

windows2016_x64搭建elk(datasource->filebeat->logstash->elasticsearch->kibana)

  1. 本文示例日志程序基于asp.net core 3.0+nlog
  2. elk相关程序如下图:

    windows2016_x64搭建ELK(datasource->filebeat->logstash->elasticsearch->kibana)
  3. 日志组件推荐:
java: logback、lo4j
asp.net: log4net、nlog

客户端安装和运行

  1. 下载filebeat安装包
    windows2016_x64搭建ELK(datasource->filebeat->logstash->elasticsearch->kibana)
  2. 编辑filebeat.yml,简易版配置如下:
filebeat.inputs:
- type: log
  enabled: true
  paths:
    #- /var/log/*.log
    - f:\logs\xxx\*.log

filebeat.config.modules:
  # glob pattern for configuration loading
  path: ${path.config}/modules.d/*.yml

  # set to true to enable config reloading
  reload.enabled: false

output.logstash:
  # logstash地址和端口
  hosts: ["192.168.3.43:5044"]

processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~
  - add_docker_metadata: ~
  - add_kubernetes_metadata: ~
  1. 运行程序并生成日志(window7_x64|192.168.3.42:8090),日志文件名:log-2020-01-08.log
2012-01-08 10:21:41.5296|0|info|logfile|windows service start... 
2012-01-08 11:03:03.5926|0|info|logfile|windows service end... 
2012-01-08 11:04:18.2756|0|info|logfile|windows service start... 
2012-01-08 11:04:26.7556|0|info|logfile|测试0 
  1. filebeat包文件根目录执行程序:filebeat -e -c filebeat.yml
d:\devops\filebeat-7.5.1-windows-x86_64>filebeat -e -c filebeat.yml
...
2020-01-08t14:06:16.038+0800    info    [monitoring]...
  1. 更多信息详见

    服务端安装和运行

  • 安装 elasticsearch
  1. 安装jdk并配置环境变量,本文elasticsearch版本7.5.1需jdk11+。jdk11
java_home: c:\program files\jdk-11.0.5
classpath: .;%java_home%\lib;%java_home%\lib\tools.jar;%java_home%\lib\dt.jar
path追加: %java_home%\bin;%java_home%\jre\bin;
  1. cmd-> java -version 检测jdk
java version "11.0.5" 2019-10-15 lts
java(tm) se runtime environment 18.9 (build 11.0.5+10-lts)
java hotspot(tm) 64-bit server vm 18.9 (build 11.0.5+10-lts, mixed mode)
  1. 配置elasticsearch环境变量
es_home:c:\program files\elasticsearch-7.5.1
path追加:%es_home%\bin;
  1. 编辑/config/elasticsearch.yml,简易版配置如下:
cluster.name: elasticsearch-application
node.name: node-1
network.host: 192.168.3.41
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
# 配置head cors
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true

5.运行 elasticsearch7.5.1\bin\elasticsearch.bat, 访问 192.168.3.41:9200, 显示如下json字符串表示部署成功。

{
  "name" : "node-1",
  "cluster_name" : "elasticsearch-application",
  "cluster_uuid" : "muonu8jbtte7bt1ru3vb7q",
  "version" : {
    "number" : "7.5.1",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "3ae9ac9a93c95bd0cdc054951cf95d88e1e18d96",
    "build_date" : "2019-12-16t22:57:37.835892z",
    "build_snapshot" : false,
    "lucene_version" : "8.3.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "you know, for search"
}
  • 安装 elasticsearch-head插件
  1. es5以上版本安装head需要安装node和grunt。下载并安装。
  2. 添加nodejs环境变量
path追加:c:\program files\nodejs\;
  1. 安装完成用cmd执行 node -v可查看版本号->v10.15.0
  2. 执行 npm install -g grunt-cli 安装grunt ,安装完成后执行grunt -version查看是否安装成功,会显示安装的版本号
  3. 在中下载head插件,选择下载zip
  4. 解压到指定文件夹下,g:\elasticsearch-7.5.1\elasticsearch-head-master 进入该文件夹,编辑gruntfile.js 在对应的位置加上hostname:'*'
connect: {
    server: {
        options: {
            hostname:"*",
            port: 9100,
            base: '.',
            keepalive: true
        }
    }
}
  1. 在d:\elasticsearch-7.5.1\elasticsearch-head-master 下执行npm install 安装完成后(receiving 100%)。
    windows2016_x64搭建ELK(datasource->filebeat->logstash->elasticsearch->kibana)
  2. 执行grunt server 或者npm run start 运行head插件,如果不成功重新安装grunt。
    windows2016_x64搭建ELK(datasource->filebeat->logstash->elasticsearch->kibana)
  3. 重新运行 elasticsearch7.5.1\bin\elasticsearch.bat,访问192.168.3.41:9100 出现elasticsearch head 页面则表示安装成功,如下图:
    windows2016_x64搭建ELK(datasource->filebeat->logstash->elasticsearch->kibana)
  • 安装kibana
  1. 编辑/kibana-7.5.1-windows-x86_64/config/kibana.yml,简易版配置如下:
server.port: 9101
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.3.41:9200"]
  1. 运行kibana-7.5.1-windows-x86_64\bin\kibana.bat,访问192.168.3.40:9101,成功出现kibana页面则表示部署成功。
  • 安装logstash
  1. 在windows中logstash执行路径不能有空格
  2. 编辑d:/logstash-7.5.1/config/logstash-sample.conf文件,简易版如下:
input {
  beats {
    port => 5044
  }
}

output {
  elasticsearch {
    hosts => ["http://192.168.3.41:9200"]
    index => "log-%{+yyyy.mm.dd}"
  }
}
  1. 复制logstash-sample.conf至bin根目录下,执行命令:logstash -f logstash-sample.conf --config.reload.automatic

    运行

  2. 依次运行elasticsearch、kibana、logstash、filebeat、日志log
  3. 在kibana->disconver中创建日志索引

其他搭建方式

  • datasource->logstash->elasticsearch->kibana
  • datasource->filebeat->kafka->logstash->elasticsearch->kibana
  • datasource->filebeat->logstash->redis/kafka->logstash-> elasticsearch->kibana