elk实战,linux版docker安装elasticsearches-headlogstashkiabana入门,无坑详细图解

弘影源地 弘影源地     2022-12-28     513

关键词:

        项目需要,记录一次ELK日志分析系统无坑初始安装过程,并给大家整理出了操作elasticsearch的主要命令,elasticsearch!伙伴们都懂得哦!别的不多说,看过内容概览,直接开整!!!

一、系统调优 

1-1 修改/etc/security/limits.conf

limits.conf文件限制着用户可以使用的最大文件数,最大线程,最大内存等资源使用量,在最后追加内容: 

* hard nofile 65535  # *允许es启动用户

* soft nofile 65535

es - nproc 4096     # es可以当启动用户启动用户

说明:soft是一个警告值,而hard则是一个真正意义的阀值,超过就会报错

1-2 修改/etc/sysctl.conf 

追加内容: 

vm.max_map_count=262144

 1-3 执行下面命令,修改内核参数马上生效,

/sbin/sysctl -p

 对应的/proc/sys/vm/max_map_count会自动修改数值。

 二、Elasticsearch安装

2-1 初次创建elasticsearch容器

2-1-1 下载镜像

docker pull elasticsearch:7.3.0

 2-1-2 创建elasticsearch容器,映射9200,9300端口,指定环境变量discovery.type,这个很重要,否则无法启动

docker run -di --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" 镜像名字或ID

2-1-3 防火墙放行9200端口 

firewall-cmd --zone=public --add-port=9200/tcp --permanent

firewall-cmd --reload

firewall-cmd --list-ports

2-1-4 访问IP地址:9200,测试是否启动成功 

2-2 使9300端口有效 

2-2-1 进入容器:

docker exec -it 容器名称或者id /bin/bash

此时,我们看到elasticsearch所在的目录为/usr/share/elasticsearch

2-2-2 进入config看到了配置文件elasticsearch.yml 

此处有多种方式修改elasticsearch.yml配置文件,推荐拷贝出来到宿主机上,然后进行目录挂载

2-2-3 拷贝容器内elasticsearch.yml文件到宿主机, 前提条件是:

###容器必须是运行中

###退出容器内部

 exit

 ###宿主机的目录已经创建好

执行拷贝 

docker cp 必须是容器名称:/usr/share/elasticsearch/config/elasticsearch.yml /usr/local/elasticsearch/config/elasticsearch.yml

注意:前面的路径是容器内的,后面的路径是宿主机的

 2-2-4 停止和删除现在运行中的elasticsearch容器

 2-2-5 修改/usr/local/elasticsearch/elasticsearch.yml

cluster.name: "docker-cluster"

network.host: 0.0.0.0

http.port: 9200

transport.tcp.port: 9300

http.cors.enabled: true

http.cors.allow-origin: "*"

2-3 二次创建elasticsearch容器 

2-3-1 本地创建es挂载目录,并赋予各目录777权限

chmod 777 /usr/local/elasticsearch/plugins

chmod 777 /usr/local/elasticsearch/data

chmod 777 /usr/local/elasticsearch/config

2-3-2 二次创建elasticsearch容器 

docker run -di \\

--name elasticsearch \\

-p 9200:9200 \\

-p 9300:9300 \\

-e "discovery.type=single-node" \\

-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \\

-v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data \\

-v /usr/local/elasticsearch/plugins:/usr/share/elasticsearch/plugins \\

-v /usr/local/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \\

镜像名字或ID

2-3-3 再次访问:IP+9200 

2-4 向容器中添加ik分词器

此处要注意版本,要和elasticsearch版本一致,此处为7.3.0

2-4-1 ik分词器下载地址

和本例elasticsearch版本配套,已设置好

百度网盘链接:https://pan.baidu.com/s/1K2mWiiH_JxyXsJVaAoWcvQ

提取码:7zge

2-4-2 将ik文件夹上传至宿主机elasticsearch挂载目录

2-4-3 进入容器查看:

docker exec -it 容器名或者id /bin/bash 

2-4-4 设置自定义词库:此步骤可以根据自己的需要设定词库,如果设置的话在上传ik文件夹之前完成设置

2-4-5 从新启动容器

 三、elasticsearch-header安装

3-1 下载镜像

docker pull wallbase/elasticsearch-head:6-alpine

3-2 修改/usr/local/elasticsearch/elasticsearch.yml文件,添加跨域支持,本例前面已经添加过,没有添加的可以在此处补上 

#开启cors跨域访问支持,默认为false

http.cors.enabled: true

#跨域访问允许的域名地址,(允许所有域名)以上使用正则

http.cors.allow-origin: /.*/

3-3 创建elasticsearch-head容器

docker run -di --name=elasticsearch-head -p 9100:9100 容器名称或ID

3-4 访问IP+9100

四、Logstash安装 

4-1 拉取镜像

docker pull logstash:7.3.0

4-2 创建容器并启动logstash 

docker run -di -p 5044:5044 -p 9600:9600 --name logstash 容器名称或ID

4-3 拷贝容器内的config文件夹到到宿主机,以便将来在宿主机中直接修改logstash配置 

语法:docker cp 容器名称或ID:容器内路径 宿主机路径

docker cp logstash:/usr/share/logstash/config/ /usr/local/logstash/

 本例侧重先把logstash部署起来,故先只修改一个配置文件logstash.yml,其它配置文件的修改,在以后的logstash具体配置时详述

 http.host: "0.0.0.0"

xpack.monitoring.elasticsearch.hosts: [ "http://自己的elasticsearch的ip:9200" ]

 4-4 删除容器

4-5 再次创建带宿主机配置文件的容器 

docker run \\

-di \\

--name logstash \\

-p 5044:5044 \\

-p 9600:9600 \\

-v /usr/local/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml \\

-v /usr/local/logstash/config/jvm.options:/usr/share/logstash/config/jvm.options \\

-v /usr/local/logstash/config/logstash-sample.conf:/usr/share/logstash/config/logstash-sample.conf \\

-v /usr/local/logstash/config/pipelines.yml:/usr/share/logstash/config/pipelines.yml \\

容器名称或id

4-6 查看logstash启动成功信息

docker logs -f logstash

五、kibana安装 

5-1 拉取镜像

docker pull kibana:7.3.0

5-2 创建容器 

docker run -di --name kibana -e ELASTICSEARCH_URL=http://192.168.0.142:9200 -p 5601:5601 kibana:7.3.0

本例没有进行配置文件挂载,采取的创建容器添加环境变量-e的方式直接指定elasticsearch的ip

5-3 修改配置文件

进入容器config目录下进行kibana.yml文件修改,把elasticsearch的地址修改成部署的elasticsearch地址

 docker exec -it --user root kibana bash

vi kibana.yml

5-4 退出并重启kibana容器

5-5 访问地址

 http://192.168.0.142:5601/

至此,完成elasticsearch、logstash、kibana基础安装,后续将会对ELK进行深入配置。 

六、操作elasticsearch主要命令

6-1 操作-索引及映射

注释

#

创建索引

PUT /索引名称

空索引,没有设置和映射

PUT /索引名称

  "settings":

    设置内容

  ,

  "mappings":

    "properties":

      字段设定

   

 

不推荐:带设置和映射的索引

PUT /索引名称

  "settings":

    设置内容

  ,

  "mappings":

    "properties":

      "字段名":

        "type": "数据类型",

        "analyzer": "分词器类型"

     

   

 

推荐:设置+映射+字段指定分词器的索引

分词器类型---内置

standard:英文按照单词切分,并小写处理

whitespace:按照空格切分,不转小写

keyword:不分词,直接将输入作为分词

分词器类型---插件---ik分词器

ik_smart:粗颗粒度分词

ik_max_word:细颗粒度分词

查看索引

GET /索引名称

查看索引映射

GET /索引名称/_mapping

查看所有索引

GET /_cat/indices

?v:以表格形式查看

删除索引

DELETE /索引名称

DELETE /* 删除所有索引,慎用,会导致kibana不能用,重启后才可用

6-2 操作-文档

注释

#

插入一条文档

PUT /索引名称/_doc/文档id

数据定义

指定id方式

POST /索引名称/_doc/

数据定义

自动生成id方式,数据定义中不要写id字段

根据id查看文档

GET /索引名称/_doc/文档id

根据id删除文档

DELETE /索引名称/_doc/文档id

更新文档

PUT /索引名称/_doc/文档id

要更新的数据

不保留原始数据,先删除原始数据,然后再插入一条新数据

POST /索引名称/_doc/文档id/_update

  "doc":

    要更新的数据

 

保留原始数据进行更新

批量操作

POST /索引名称/_doc/_bulk

"index":id的生成方式

定义json格式数据

"index":id的生成方式

定义json格式数据

后面多条批量操作依次类推......

批量添加文档数据

6-3 操作-分词器

查看分词器效果

POST /_analyze

  "analyzer": "分词器类型",

  "text": "测试文字内容"

分词器类型---内置

standard:英文按照单词切分,并小写处理

whitespace:按照空格切分,不转小写

keyword:不分词,直接将输入作为分词

分词器类型---插件---ik分词器

ik_smart:粗颗粒度分词

ik_max_word:细颗粒度分词

6-4 操作-查询

注释

#

查询所有文档

GET /索引名称/_search

  "query": "match_all":

返回值说明:

took:查询时间,单位毫秒

_shards:分片情况

Hits:结果集数组

关键字查询

GET /索引名称/_search

  "query":

    "term":

      "字段名称":

        "value": "关键字"

     

   

 

没有使用ik分词器情况下,默认分词的关键字分词说明:

1、text类型:中文单个字进行分词,英文单个单词分词

2、不分词类型:除text类型外的其它类型都不分词,查询的话要把不同类型的关键字都写全才可以

过滤查询

GET /索引名称/_search

  "query":

    "bool":

      "must": [

       

          查询方式:全部/关键字查询...等

       

      ],

      "filter": [

       

          过滤方式:单条件/多条件…等

       

      ]

   

 

执行流程:

先过滤之后,在进行查询,适用数据量大的场景下

查询方式:

过滤方式:

elk5.5.2分布式日志实战(代码片段)

一. ELK分布式日志实战介绍  此实战方案以Elk5.5.2版本为准,分布式日志将以下图分布进行安装部署以及配置。二.Filebeat插件安装以及配置1.下载Filebeat插件5.5.2版本wgethttps://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.5.2-linux... 查看详情

linux12elk-->02elasticsearch部署(代码片段)

...#xff08;单台测试)7、启动服务二、安装集群head插件1、docker安装2、设置elasticsearch跨越访问三、部署elastics 查看详情

基于docker-compose的elk5.5.1+logback日志系统搭建

基于elastic官方docker镜像、版本5.5.1一、目录结构二、ELK的docker镜像安装1、docker-compose.ymlversion:'2'services:elasticsearch:image:docker.elastic.co/elasticsearch/elasticsearch:5.5.1environment:-"ES_JAVA_OPTS&# 查看详情

elk之elastic安装

环境:centos7jdk8elasticsearch-5.4.3.tar.gz1.下载包https://www.elastic.co/downloads2.上传并解压包cd/elktar-zxvf elasticsearch-5.4.3.tar.gz-C/elk3.创建用户及组groupaddelkuseradd-gelkelk4.变更文件宿主chown-Relk:elk e 查看详情

elk实验安装kibana

下载安装linux包wgethttps://artifacts.elastic.co/downloads/kibana/kibana-6.2.3-linux-x86_64.tar.gzshasum-a512kibana-6.2.3-linux-x86_64.tar.gztar-xzfkibana-6.2.3-linux-x86_64.tar.gzcdkibana-6.2.3-linux-x86_6 查看详情

docker搭建elk(代码片段)

...的数据变得有形有样,是一个可扩展的用户界面官网docker指导地址Elasticsearch+Kibanahttps://www.elastic. 查看详情

elk学习笔记之kibana安装

Kibana安装: 安装地址:https://www.elastic.co/downloads/kibana安装:tar-zxvfkibana-5.6.1-linux-x86_64.tar.gz非常不开心的是,安装报错:只能重新下载安装5.5.2版本:https://www.elastic.co/downloads/past-releases/kibana-5-5-2安装运行Kibana 查看详情

细做elk

...文主要介绍如何在CentOS7下安装最新版本的ELK,当然现在docker已经有完全配置成功的elk容器,安装配置非常方便,但是如果你想自己从安装jdk开始,那这篇博客将能够帮助到你。安装前了解一下操作系统及各组件版本?centos-7-x86_64?... 查看详情

基于docker-compose的elk5.5.1+logback日志系统搭建

基于elastic官方docker镜像、版本5.5.1一、目录结构二、ELK的docker镜像安装1、docker-compose.ymlversion:'2'services:elasticsearch:image:docker.elastic.co/elasticsearch/elasticsearch:5.5.1environment:-"ES_JAVA_OPTS=-Xms512m-Xmx512m"volumes:-$PWD/elasticsearch/da... 查看详情

linux安装elasticsearch7.8(代码片段)

安装参考文档:ELK官网:https://www.elastic.co/ELK官网文档:https://www.elastic.co/guide/index.htmlELK中文手册:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.htmlELK中文社区:htt 查看详情

直播:如何通过elk实战实现《长津湖》影评可视化?

1、Elastic Stack全局认知ELK是Elasticsearch、Logstash、Kibana技术栈的简称。Elastic官方已统称为:ElasticStack,翻译成:Elastic技术栈体系。单独使用Elasticsearch能应对很多业务场景,包含但不限于:全文检索场景。日志... 查看详情

elk配置笔记

filebeat安装配置1下载,安装wgethttps://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.4.3-linux-x86_64.tar.gzmvfilebeat-8.4.3-linux-x86_64.tar.gz/optcd/opttar-zxvffilebeat-8.4.3-linux-x86_64.tar.gzcd 查看详情

elk之elasticsearch

一、下载安装包:注意版本统一wgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.zipwgethttps://artifacts.elastic.co/downloads/kibana/kibana-6.3.2-linux-x86_64.tar.gzwgethttps://artifacts.el 查看详情

elk学习002:elasticsearch7.x的安装及配置

下载地址:https://www.elastic.co/cn/downloads/elasticsearch下载对应需要的ES。我这边是Linux的系统。另外ES支持Docker方式启动。另外,ES7.x不需要本地JDK环境支持:ES5,安装需要JDK8以上ES6.5,安装需要JDK11以上ES7.2.1,内置了JDK12 查看详情

elk安装配置

log服务器安装ELK,客户端安装filebeat1.下载安装包(https://www.elastic.co/downloads)elasticsearch-5.3.0.rpmjdk-8u121-linux-x64.tar.gzkibana-5.3.0-x86_64.rpmlogstash-5.3.0.rpm2.安装JDK(要求:1.8以上)安装步骤略..创建软连接:ln-s/usr/local 查看详情

elk实战-kibana安装

操作系统: centos版本7.4防火墙关闭selinux关闭kibana版本6.3.2java版本1.8server2192.168.10.127         [root@server2~]#tarzxfkibana-6.3.2-linux-x86_64.tar.gz-C/usr/local/[root@server2~]#vim/usr/local/kibana-6.3.2-linux-x86_64/config/k... 查看详情

elk集群安装教程(代码片段)

文章目录一、安装elasticsearch二、安装logstash三、安装kibana四、安装filebeat五、安装elasticsearch-analysis-ik一、安装elasticsearch从官网下载安装包elasticsearch、logstash、filebeat、kibana,版本尽量保持一致elasticsearch:https://www.elastic.co... 查看详情

elastic(elk)stack实战教程06filebeat日志收集实践(下)(代码片段)

目录一、Filebeat收集Nginx日志实践1.1为什么收集Nginx日志1.2Nginx日志收集架构图1.3Nginx日志收集实践1.3.1安装Nginx 1.3.2配置filebeat1.3.3kibana展示1.4Nginxjson日志收集实践1.4.1收集问题1.4.2解决方案1.4.3配置json1.4.4配置Filebeat1.4.5Kibana展示1.5N... 查看详情