windows&Linux安装部署ELK

ELK

ELK介绍

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

Elasticsearch

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

Logstash

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

kibana

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

安装

尝试了 几个版本的安装方式都是差不多的。
本人服务器不行,故以windows安装了。。。
https://www.elastic.co/downloads 官网

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

在这里插入图片描述

JDK

yum install -y java-1.8.0-openjdk   --安装jdk (会自动安装jdk相关的配置)

在这里插入图片描述

软件包

将下载的elk上传到服务器

在这里插入图片描述

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

在这里插入图片描述

正常配置 服务器更改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

在这里插入图片描述
在这里插入图片描述

启动成功之后访问

在这里插入图片描述

logstash

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

解压
 tar –zxvf logstash-7.12.0.tar.gz   

在这里插入图片描述

配置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
    }
}

在这里插入图片描述

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

启动logstash
windows启动

windows下cmd执行bin目录之下创建.conf文件启动
在这里插入图片描述

linux启动
./bin/logstash -f bin/pg.conf &  --加& 表示离线运行
nohup ./bin/logstash -f bin/pg.conf &  --加nohup表示扔到后台运行

在这里插入图片描述

启动成功之后查看logstash

http://localhost:9100

在这里插入图片描述

Kibana

linux 解压kibana

在这里插入图片描述

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

windows启动

windows直接点击bin目录之下的kibana.bat
在这里插入图片描述
在这里插入图片描述

linux启动

进入kibana bin文件中执行
./bin/kibana &  --&表示kibana后台运行
运行kibana

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

http://localhost:5601
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以回答这个问题。用Docker部署ELK(Elasticsearch、Logstash和Kibana)的步骤如下: 1. 安装Docker和Docker Compose。在Linux上,可以通过包管理器安装Docker和Docker Compose。在Windows和Mac上,可以从Docker官网下载安装程序。 2. 创建一个名为`docker-elk`的文件夹,用于存放Docker Compose配置文件和数据。 3. 在`docker-elk`文件夹创建一个名为`docker-compose.yml`的文件,并将以下内容复制到文件: ``` version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.2 environment: - node.name=elasticsearch - discovery.seed_hosts=elasticsearch - cluster.initial_master_nodes=elasticsearch - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - ./data:/usr/share/elasticsearch/data ports: - 9200:9200 - 9300:9300 networks: - elk logstash: image: docker.elastic.co/logstash/logstash:7.14.2 volumes: - ./config/logstash.yml:/usr/share/logstash/config/logstash.yml - ./pipeline:/usr/share/logstash/pipeline ports: - 5000:5000 - 9600:9600 environment: LS_JAVA_OPTS: "-Xmx256m -Xms256m" networks: - elk kibana: image: docker.elastic.co/kibana/kibana:7.14.2 ports: - 5601:5601 networks: - elk networks: elk: driver: bridge ``` 4. 在`docker-elk`文件夹创建一个名为`config`的文件夹,并在其创建一个名为`logstash.yml`的文件,并将以下内容复制到文件: ``` http.host: "0.0.0.0" ``` 5. 在`docker-elk`文件夹创建一个名为`pipeline`的文件夹,用于存放Logstash的管道配置文件。 6. 运行以下命令启动ELK容器: ``` docker-compose up ``` 7. 等待一段时间,直到ELK容器启动完毕。然后,在浏览器打开`http://localhost:5601`,即可访问Kibana的Web界面。 这样,你就成功地用Docker部署ELK
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值