天天看点

windows&Linux安装部署ELKELK

文章目录

  • ELK
    • ELK介绍
      • Elasticsearch
      • Logstash
      • kibana
    • 安装
      • JDK
      • 软件包
      • Elasticsearch
        • 配置elasticsearch
        • 启动elasticsearch
          • windows启动
          • linux启动
      • logstash
        • 解压
        • 配置logstash
        • 启动logstash
          • windows启动
          • linux启动
      • Kibana
        • linux 解压kibana
        • windows启动
        • 进入kibana bin文件中执行
        • 运行kibana

ELK

ELK介绍

ELK由Elasticsearch、Logstash和Kibana三部分组件组成;

Elasticsearch

lasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash

是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用

kibana

一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志

安装

尝试了 几个版本的安装方式都是差不多的。

本人服务器不行,故以windows安装了。。。

https://www.elastic.co/downloads 官网

下载安装的elk一定要是相同版本的。

windows&Linux安装部署ELKELK

JDK

yum install -y java-1.8.0-openjdk   --安装jdk (会自动安装jdk相关的配置)
           
windows&Linux安装部署ELKELK

软件包

将下载的elk上传到服务器

windows&Linux安装部署ELKELK

Elasticsearch

cd	/usr/local/tools
tar	zxf elasticsearch-6.5.0.tar.gz    --解压elasticsearch
mv elasticsearch-5.4.1 /usr/local/elasticsearch  --将elasticsearch重命名移动到其它目录
cd /usr/local/elasticsearch/config/
           

配置elasticsearch

编辑elasticsearch.yml

windows&Linux安装部署ELKELK

正常配置 服务器更改ip以及data&logs 路径

discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-3"] --参数设置一系列符合主节点条件的节点的主机名或 IP 地址来引导启动集群
path.data: D:/search7.12.0/elasticsearch-7.12.0/data --数据存储路径
path.logs: D:/search7.12.0/elasticsearch-7.12.0/logs --日志存储路径 
bootstrap.memory_lock: false       --为true锁定内存地址&false不锁定
bootstrap.system_call_filter: false
node.name: node-3     --节点名
node.master: true     --是否为主节点
network.host: 127.0.0.1   --ip
http.cors.enabled: true  --是否支持跨域,默认为false不支持
http.cors.allow-origin: "*"  --当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址
           

可选配置

http.cors.allow-methods	--允许跨域的请求方式,默认OPTIONS,HEAD,GET,POST,PUT,DELETE
http.cors.allow-headers	--跨域允许设置的头信息,默认为X-Requested-With,Content-Type,Content-Length
http.cors.allow-credentials	--是否返回设置的跨域Access-Control-Allow-Credentials头,如果设置为true,那么会返回给客户端。
           

配置完成之后启动elasticsearch

启动elasticsearch

windows启动

windows点击bin目录下的

linux启动
./bin/elasticsearch &      --启动es
           
windows&Linux安装部署ELKELK
windows&Linux安装部署ELKELK

启动成功之后访问

windows&Linux安装部署ELKELK

logstash

linux再将lonstash解压到对应目录下之后

解压

tar –zxvf logstash-7.12.0.tar.gz   
           
windows&Linux安装部署ELKELK

配置logstash

在bin新建一个.conf文件,输入以下配置信息

input {
    jdbc {
      # 数据库
      jdbc_connection_string => "jdbc:mysql://59.110.240.77:3306/infomation"
      jdbc_user => "fetter"
      jdbc_password => "fetter"
      # mysql驱动解压的位置
      jdbc_driver_library => "E:/Download/mysql/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar"
       # mysql驱动类
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
      #可以使用sql文件的方式
      #statement_filepath => ""
      #要同步的表
      statement => "select id,username,password,dev_mac from user"
      schedule => "* * * * *"
      #索引type
      type => "tag"
      #索引设置时区
      jdbc_default_timezone => "Asia/Shanghai"
    }
}

output {
    elasticsearch {
        hosts => "http://127.0.0.1:9200"
	#索引名称
        index => "myindex"
        document_id => "%{id}"
	#输出的索引type此处表示上面的tag
       "document_type" => "%{type}"
    }
    stdout {
        codec => json_lines
    }
}
           
windows&Linux安装部署ELKELK

下面的输出会将对应的日志输出到对应ip的es之上。

启动logstash

windows启动

windows下cmd执行bin目录之下创建.conf文件启动

windows&Linux安装部署ELKELK
linux启动
./bin/logstash -f bin/pg.conf &  --加& 表示离线运行
nohup ./bin/logstash -f bin/pg.conf &  --加nohup表示扔到后台运行
           
windows&Linux安装部署ELKELK

启动成功之后查看logstash

http://localhost:9100

windows&Linux安装部署ELKELK

Kibana

linux 解压kibana

windows&Linux安装部署ELKELK

这里的配置不用修改,直接默认启动。

windows启动

windows直接点击bin目录之下的kibana.bat

windows&Linux安装部署ELKELK
windows&Linux安装部署ELKELK

linux启动

进入kibana bin文件中执行

./bin/kibana &  --&表示kibana后台运行
           

运行kibana

访问默认的5601端口,上面能看到采集到的日志

http://localhost:5601

windows&Linux安装部署ELKELK
windows&Linux安装部署ELKELK
elk