精华内容
下载资源
问答
  • ELK 6.7.0三件套 下载地址:https://www.elastic.co/cn/downloads/ windows环境下默认已配置jdk1.8(默认你们有一定的开发经验) 1、解压 下载好的文件夹最好放在一个单独的文件夹以便管理(请暂时忽略截图中的...

    安装环境环境准备

    第一次写博文,排版比较乱,理解万岁

    ELK 6.7.0三件套 下载地址:https://www.elastic.co/cn/downloads/

    windows环境下默认已配置jdk1.8(默认你们有一定的开发经验)

    1、解压

    下载好的文件夹最好放在一个单独的文件夹以便管理(请暂时忽略截图中的elasticsearch-head文件夹)

    2、安装

    注意:在使用命令提示符时,请使用cmd命令弹出,然后同过cd路径的方式转到对应的目录,如果使用右键弹出PowerShell的方式可能会出现找不到命令的情况,区别如下图所示

     

     

     elasticsearch-6.7.0安装

    cd 至elasticsearch-6.7.0/bin 目录 运行elasticsearch-service install 命令

    service.bat 在新版本更改为了elasticsearch-service.bat

    启动成功你可以在服务里面找到

    双击点开操作界面,点击启动然后确定

    上面操作成功的话在浏览器窗口输入localhost:9200会出现下面界面

     

     

     下面进行logstash的配置

    将config目录下的logstash-sqmple.conf改成logstash.conf

    里面已经有了基础配置。

     

     命令提示符窗口下cd到logstash的bin目录 

     运行 logstash.bat -f config\logstash.conf命令

     网上有使用logstash.bat agent -f config\logstash.conf命令。我试过了去掉agent才可以执行成功

    kibana-6.7.0运行

    这个比较简单

    命令提示符窗口下cd到kibana目录 

     

    访问http://localhost:5601地址可以看到下面的界面

    至此,你已经成功安装了ELK运行环境

     

    转载于:https://www.cnblogs.com/RunisRun/p/10648724.html

    展开全文
  • ELK本地(win10)搭建

    2020-01-07 16:37:21
    ELK本地(win10)搭建下载ElasticSearch安装Elasticsearch核心概念Logstash安装Kibana安装 下载 ElasticSearch 分布式、RESTful风格的搜索和分析的全文检索引擎 Kibana 实现数据可视化 Logstash 采集日志输出到...

    下载

    • ElasticSearch 分布式、RESTful风格的搜索和分析的全文检索引擎
    • Kibana 实现数据可视化
    • Logstash 采集日志输出到ElasticSearch

    ElasticSearch安装

    • ElasticSearch
      Window版的ElasticSearch的安装很简单,解压后的目录如下:
      在这里插入图片描述
      修改elasticsearch配置文件:config/elasticsearch.yml,增加以下两句命令:允许elasticsearch跨越访问
    http.cors.enabled: true
    http.cors.allow‐origin: "*"
    

    运行ElasticSearch/bin目录下的elasticsearch.bat启动es
    在这里插入图片描述
    注意:9300是tcp通讯端口,集群间和TCPClient都执行该端口,9200是http协议的RESTful接口 。
    通过浏览器访问http://localhost:9200/ 可查看到ElasticSearch服务器的json信息

    Elasticsearch核心概念

    • 索引 index

    一个索引就是一个拥有相似特征文档的集合。
    比如:用户数据索引,订单数据索引等。索引必须全部是小写字母。

    • 类型 type

    在一个索引中,你可以定义一种或多种类型。
    一个类型是你的索引的一个逻辑上的分类/分区,其语义完全由你来定。通常,会为具有一组共同字段的文档定义一个类型。

    • 字段 field

    相当于是数据表的字段,对文档数据根据不同属性进行的分类标识

    • 映射 mapping

    mapping是处理数据的方式和规则方面做一些限制,如某个字段的数据类型、默认值、分析器、是否被索引等等。
    这些都是映射里面可以设置的,其它就是处理es里面数据的一些使用规则设置也叫做映射,按着最优规则处理数据
    对性能提高很大,因此才需要建立映射,并且需要思考如何建立映射才能对性能更好。

    • 文档 document

    一个文档是一个可被索引的基础信息单元。
    比如,你可以拥有某一个客户的文档,某一个产品的一个文档,某个订单的一个文档。
    文档以JSON(Javascript Object Notation)格式来表示
    在一个index/type里面,你可以存储任意多的文档。注意,尽管一个文档,物理上存在于一个索引之中,文档必须被索引/赋予一个索引的type。

    • 接近实时 NRT

    Elasticsearch是一个接近实时的搜索平台。
    这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒以内)

    • 集群 cluster

    一个集群就是由一个或多个节点组织在一起,它们共同持有整个的数据,并一起提供索引和搜索功能。
    一个集群由一个唯一的名字标识,这个名字默认就是“elasticsearch”。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群

    • 节点node

    一个节点是集群中的一个服务器,作为集群的一部分,它存储数据,参与集群的索引和搜索功能。
    和集群类似,一个节点也是由一个名字来标识的,默认情况下,这个名字是一个随机的漫威漫画角色的名字,这个名字会在启动的时候赋予节点。
    这个名字对于管理工作来说挺重要的,因为在这个管理过程中,你会去确定网络中的哪些服务器对应于Elasticsearch集群中的哪些节点。
    一个节点可以通过配置集群名称的方式来加入一个指定的集群。
    默认情况下,每个节点都会被安排加入到一个叫做“elasticsearch”的集群中,这意味着,如果你在你的网络中启动了若干个节点,并假定它们能够相互发现彼此,它们将会自动地形成并加入到一个叫做“elasticsearch”的集群中。
    在一个集群里,只要你想,可以拥有任意多个节点。而且,如果当前你的网络中没有运行任何Elasticsearch节点,这时启动一个节点,会默认创建并加入一个叫做“elasticsearch”的集群。

    • 分片和复制 shard&replicas

    一个索引可以存储超出单个结点硬件限制的大量数据。
    比如,一个具有10亿文档的索引占据1TB的磁盘空间,而任一节点都没有这样大的磁盘空间;或者单个节点处理搜索请求,响应太慢。为了解决这个问题,Elasticsearch提供了将索引划分成多份的能力,这些份就叫做分片。
    当你创建一个索引的时候,你可以指定你想要的分片的数量。
    每个分片本身也是一个功能完善并且独立的“索引”,这个“索引”可以被放置到集群中的任何节点上。
    分片很重要,主要有两方面的原因:
    1)允许你水平分割/扩展你的内容容量。
    2)允许你在分片(潜在地,位于多个节点上)之上进行分布式的、并行的操作,进而提高性能/吞吐量。
    至于一个分片怎样分布,它的文档怎样聚合回搜索请求,是完全由Elasticsearch管理的,对于作为用户的你来说,这些都是透明的。
    在一个网络/云的环境里,失败随时都可能发生,在某个分片/节点不知怎么的就处于离线状态,或者由于任何原因消失了,这种情况下,有一个故障转移机制是非常有用并且是强烈推荐的。为此目的,Elasticsearch允许你创建分片的一份或多份拷贝,这些拷贝叫做复制分片,或者直接叫复制。
    复制之所以重要,有两个主要原因: 在分片/节点失败的情况下,提供了高可用性。因为这个原因,注意到复制分片从不与原/主要(original/primary)分片置于同一节点上是非常重要的。扩展你的搜索量/吞吐量,因为搜索可以在所有的复制上并行运行。总之,每个索引可以被分成多个分片。一个索引也可以被复制0次(意思是没有复制)或多次。一旦复制了,每个索引就有了主分片(作为复制源的原来的分片)和复制分片(主分片的拷贝)之别。
    分片和复制的数量可以在索引创建的时候指定。在索引创建之后,你可以在任何时候动态地改变复制的数量,但是你事后不能改变分片的数量。
    默认情况下,Elasticsearch中的每个索引被分片5个主分片和1个复制,这意味着,如果你的集群中至少有两个节点,你的索引将会有5个主分片和另外5个复制分片(1个完全拷贝),这样的话每个索引总共就有10个分片。

    Logstash安装

    Logstash 安装也是非常简单的,解压后,为了方便,在bin目录下新建config文件
    config文件格式:

    # 输入
    input {
      ...
    }
    
    # 过滤器
    filter {
      ...
    }
    
    # 输出
    output {
      ...
    }
    

    例如:
    我要收集的单条日志格式为:

    "20191212","201912","2019","12","12","12","59","50","NONE","1084","40004","1084867CDE00FAA0B33C","10483306","chamholems","166","1576126798","1","测试数据","0","0","0","{352300:2:8}","","1935","40001"
    

    每条数据是用换行符隔开的,每个字段用双引号包裹,并用逗号隔开

    input {
    	file{
    		path => "E:/temp/*.log"  				# 要导入的文件的位置,可以使用*通配符
    		start_position => beginning 		# 从文件开始的位置开始读
    	}
     }  
      
    filter {
        # grok插件的正则捕获
    	grok {
    		match =>{ "message" => "\"%{INT:log_ymd}\",\"%{INT:log_ym}\",\"%{YEAR:year}\",\"%{MONTHNUM:month}\",\"%{INT:day}\",\"%{INT:hour}\",\"%{INT:minute}\",\"%{INT:week}\",\"%{DATA:app_channel}\",\"%{INT:channel_id}\",\"%{INT:server}\",\"%{DATA:account_id}\",\"%{INT:role_id}\",\"%{DATA:role_name}\",\"%{INT:role_level}\",\"%{INT:reason_time}\",\"%{INT:change}\",\"%{DATA:reason}\",\"%{INT:bonus_money}\",\"%{INT:bonus_free_zuanshi}\",\"%{INT:bonus_zuanshi}\",\"%{DATA:bonus_item}\",\"%{DATA:bonus_qingyuan}\",\"%{INT:appid}\",\"%{INT:msid}\""
    		}		
    		}
    	mutate{
    		remove_field => ["host","path","message","@timestamp","@version"] 	 # 移除自动生成的字段
    	}
    }
      
    output {  
    	elasticsearch { hosts => localhost
    					index => "bi"								# 表名导入的索引库,不存在会自动创建
    					document_type =>"resource"}    # type字段,表明导入的日志类型
    	
    	stdout { codec => rubydebug } 
    }
    

    grok正则测试地址
    例子:
    input:

    "20191212","201912","2019","12","12","12","0","50","NONE","1070","20024","1053o0tUK57xJJnp592vHjt25K0UU8m4","10365089","香蕉布呐呐","294","1576123202","1","帮会篝火掉落","0","0","0","{4:1800:40021963}","","1935","20022"
    

    pattern:

    \"%{INT:log_ymd}\",\"%{INT:log_ym}\",\"%{YEAR:year}\",\"%{MONTHNUM:month}\",\"%{INT:day}\",\"%{INT:hour}\",\"%{INT:minute}\",\"%{INT:week}\",\"%{DATA:app_channel}\",\"%{INT:channel_id}\",\"%{INT:server}\",\"%{DATA:account_id}\",\"%{INT:role_id}\",\"%{DATA:role_name}\",\"%{INT:role_level}\",\"%{INT:reason_time}\",\"%{INT:change}\",\"%{DATA:reason}\",\"%{INT:bonus_money}\",\"%{INT:bonus_free_zuanshi}\",\"%{INT:bonus_zuanshi}\",\"%{DATA:bonus_item}\",\"%{DATA:bonus_qingyuan}\",\"%{INT:appid}\",\"%{INT:msid}\"
    

    在这里插入图片描述
    配置好文件后,使用cmd命令启动logstash

    logstash.bat -f 配置文件名.conf
    

    启动后,logstash会读取你path => “E:/temp/*.log” 文件下的文件,并且监听这些文件,当写入新数据时,会自动加载到es服务器。

    在这里插入图片描述

    Kibana安装

    Kibana 的安装同样简单,直接运行bin文件下的bat文件即可,可视化界面还不熟悉,暂时不写了

    展开全文
  • ELK 安装过程

    2019-02-21 15:12:00
    ELK6.5.4安装文档 1.本地环境介绍 IP 用户 组件 192.168.10.124 elk elasticsearch ,head 192.168.10.184 elk kibana,kibana汉化 192....

    ELK6.5.4安装文档

    1.本地环境介绍

     

    IP   

    用户

    组件  

    192.168.10.124

    elk

    elasticsearch head

    192.168.10.184

    elk

    kibanakibana汉化

    192.168.10.116

    elk

    logstash,测试日志

     

     

    2. Elasticsearch

    2.1 elasticsearch基本概念

    Index

     

      类似于mysql数据库中的database

      

    Type

     

      类似于mysql数据库中的table表,es中可以在Index中建立typetable),通过mapping进行映射。

      

    Document

     

      由于es存储的数据是文档型的,一条数据对应一篇文档即相当于mysql数据库中的一行数据row,一个文档中可以有多个字段也就是mysql数据库一行可以有多列。

      

    Field

      es中一个文档中对应的多个列与mysql数据库中每一列对应

      

    Mapping

     

      可以理解为mysql或者solr中对应的schema,只不过有些时候es中的mapping增加了动态识别功能,感觉很强大的样子,其实实际生产环境上不建议使用,最好还是开始制定好了对应的schema为主。

      

     

    indexed

     

      就是名义上的建立索引。mysql中一般会对经常使用的列增加相应的索引用于提高查询速度,而在es中默认都是会加上索引的,除非你特殊制定不建立索引只是进行存储用于展示,这个需要看你具体的需求和业务进行设定了。

     

    Query DSL

     

      类似于mysqlsql语句,只不过在es中是使用的json格式的查询语句,专业术语就叫:QueryDSL

     

    GET/PUT/POST/DELETE

     

      分别类似与mysql中的select/update/delete......

      

    2.2 JDK安装

    需要jdk1.8以上版本,网上下载

    配置环境变量:

    ***************************************************

    JAVA_HOME=/root/baiyang/jdk1.7.0_80 #jdk安装路径

    PATH=$JAVA_HOME/bin:$PATH

    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    export JAVA_HOME

    export PATH

    export CLASSPATH

    ***************************************************

    2.3 Elasticsearch6.5.4 安装

    2.3.1 安装

    下载地址:https://www.elastic.co/cn/downloads

    #Elasticsearch 默认不允许用root用户登录,会报错,如果真想用root需要进行配置

    1.创建用户useradd ekl

    2.修改密码:root 用户下 passwd elk

    3.上传压缩包到/home/elk

    4.Tar -zxvf elasticsearch-6.5.4.tar.gz

    5.系统启动:[elk@myhost bin]$ ./elasticsearch ,

    后台启动 nohup ./elasticsearch &

    1. 配置文件修改

    *****************************************************

    #集群地址

    discovery.zen.ping.unicast.hosts: ["192.168.10.124", "127.0.0.1"]

    #主节点数

    discovery.zen.minimum_master_nodes: 1

    #集群名称

    cluster.name: my-application

    #节点名称

    node.name: node-1

    #日志路径

    path.data: /home/elk/elasticsearch-6.5.4/data

    path.logs: /home/elk/elasticsearch-6.5.4/log

    #监听ip端口

    network.host: 192.168.10.124

    http.port: 9200

    bootstrap.memory_lock: false

    bootstrap.system_call_filter: false

    http.cors.enabled: true

    http.cors.allow-origin: "*"

    *****************************************************

    2.3.2 主机参数修改

    修改参数是为了解决es启动时的这三个报错

    [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

    [2]: memory locking requested for elasticsearch process but memory is not locked

    [3]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

     

     

    vi /etc/sysctl.conf 

    添加下面配置:

    *********************************

    vm.max_map_count=655360

    *********************************

    并执行命令:

    sysctl -p

     

    vi /etc/security/limits.con

    #正常只需要修改此文件就OKelk soft nofile    65536,此处elk可以改为*,但是部分系统如unbuntu会有bug*不好使,所以可以指定用户

    *********************************

    *          soft    nproc     4096

    *          hard    nproc     4096

    root       soft    nproc     unlimited

    elk soft nofile    65536

    elk hard nofile    65536

    *********************************

     

    #如果上面修改没有生效,那么修改下面文件,系统会优先加载下面文件,并且会覆盖上面文件,如果使上面文件生效,可以直接清空下面文件

    Vi /etc/security/limits.d/90-nproc.conf

    *********************************

    *          soft    nproc     65535

    elk          soft    nproc     65535

    *********************************

     

    2.4 head插件安装

    2.4.1  Head 插件简介

     

    就是一个界面化的es集群调试工具,没有这个也可以通过命令调试,但是非常非常麻烦

     

     

    2.4.2  head插件安装

    手动下载:下载地址:https://github.com/mobz/elasticsearch-head;点击clone or download按钮,点击download zip进行下载。下载完毕后解压放在elasticsearch平级路径上。

    说明:5.6版本不能用/bin/plugin -install mobz/elasticsearch-head安装了好像5.x之前的版本可以这么安装

    也可以在命令下载

     

    2.4.3 node.js安装

    这个比较容易,下载后除路径自己填写外,其他直接nextOK了。下载地址:https://nodejs.org/en/download/ 

    源码安装方法:

    yum -y install gcc make gcc-c++ openssl-devel wget

    下载源码及解压: wget http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz

     tar -zvxf node-v0.10.26.tar.gz

    编译及安装: cd node-v0.10.26

    make && make install

    验证是否安装配置成功: node -v

    2.4.3 grunt安装

    cd elasticsearch-head-master

    npm install -g grunt-cli  //执行后会生成node_modules文件夹

    npm install

     

    修改 vim _site/app.js 文件:修改head的连接地址:
    this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “http://localhost:9200“;
    修改成ElasticSearch的机器地址
    this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “http://192.168.0.153:9200“;

     

    修改完成你就可以启动head插件了:在 elasticsearch-head-master下启动服务

    cd  elasticsearch-head-master

    grunt server &  #后台启动

     

    3. Logstash

    3.1安装

    下载,上传,解压,无特殊说明

    3.2配置

    *************************************************

    node.name: logstash.node1

    #path.data: /home/elk/elk/logstash-6.5.4/data

    #pipeline.workers: 2

    #pipeline.output.workers: 1

    #pipeline.batch.size: 125

    #path.config: /

    #config.reload.automatic: true

    #onfig.reload.interval: 60

    #path.logs: /home/elk/elk/logstash-6.5.4/log

    #http.host: 192.168.10.170

    #http.port: 5000-9700

    #log.level: info

    #log.format: * plain*

    #path.plugins

    *************************************************

    3.3调试

    屏幕调试模式:

    单机调试:logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'

    连接远程elasticsearch调试:

    [elk@myhost bin]$ ./logstash -e 'input {

    stdin{}

    }

     

    output{

    elasticsearch{ hosts=>["http://192.168.10.124:9200"]}

    }'

     

    ------------------------------------------------------------------------------------------

     

    input {

    beats {

      port => 5044

     }

     file {

    #日志路径

      path => ["/data/*"]

    #日志类型 kibana能用到,logstash也能用到这个参数

      type => "system"

                      start_position => "beginning"

      }

    }

    output {

      elasticsearch {

        hosts =>["http://192.168.10.124:9200"]

        index =>"data_log-%{+YYYY.MM.dd}"

       }

     

    stdout {

    codec=>"rubydebug"

    }

    }

     

    ------------------------------------------------------------------------------------------

     

    可以将上面配置写入一个配置文件 xxx.conf

    Logstash/Bin ./logstash -f xxx.comf

    3.4.插件简解

    3.4.1File插件

    使用,输入,读取日志位置

     

     

     

    File插件讲解:beginning ,会从path 路径文件头开始读取,会把读取位置存储到本地数据库

     

    /home/elk/elk/logstash-6.5.4/data/plugins/inputs/file

    下次继续从该位置开始读取

    想要从新读取,删除数据库文件

    3.4.2multline插件

     

     

    正则表达式过滤,将 [ 开头视为一行的开始

    3.4.3Grop kv插件

    过滤,拆分

     

     

    Filter 过滤器参数和在线调试工具

     

     

     

    3.4.4Json 插件

     

    读取json格式文件

     

     

     

     

    3.4.5Geoip 插件

    通过ip,判断ip来源,属于哪个地方,哪个城市

     

     

     

    4、Kibana

    4.1安装

    启动 bin目录下 ./kabana

     

     

    配置文件修改conf目录下,kibana.yml

     

    server.port : 5601

    server.host : 192.168.10.184  #本机

    elasticsearch.url : http://192.168.10.124:9200 

     

    下面配置测试未生效

    ********************************

    #解决页面访问Kibana server is not ready yet

    kibana.index: ".newkibana"

    xpack.security.enabled: false

    npm update caniuse-lite browserslist

    ********************************

     

    启动报错:如报错末尾出现[waring] 具体内容忘了,提示等待或者重启kinaba

    需要在elasticsearch -head 插件界面 删除kinaba的索引并重启kibana

    命令行应该也能删除,可惜不会

     

     

    4.2 Kibana汉化

     

    启动:bin目录下./kibana

    kibana [kɪbana]

    需要安装python环境

     

    # 下载并解压 wget https://github.com/anbai-inc/Kibana_Hanization/archive/master.zip 

    unzip master.zip

    cd master

    # 汉化 python main.py Kibana目录

    将索引变为非只读,解决kibana启动时报错,报错具体内容忘了,大概意思就是索引加载失败

     

     

     

     

    5.ELK的访问认证

    建议用ng代理实现,找人配置

    6.ELK环境信息收集

    1.ELK主机环境,cpu,内存,磁盘,主机个数

    2.日志收集方式,文件,端口。。。

    3.日志类别,系统日志,服务日志,ng日志。。。

    4.日志服务器个数,cpu,内存

    5.日志过滤规则

    6.日志收集规则,全部收集,部分收集

    7.ELK 目标要求,具体做什么

    8.日志大小,单位时间大小

    9.日志留存规则,留存时间,备份数目

    7.ELK性能优化,参数配置

    以下为网上搜索来的,原链接都在下面

    ------------------------------------------------ES优化-----------------------------------------------

     

    参考文档https://blog.csdn.net/cjfeii/article/details/79771409

     

    Index 月为单位做索引

    Cluster 3

    index.number_of_shards 分片大小32G(预估一下)左右,数量<50

    index.number_of_replicas 2(2个副本加上自己就三个)

    index.translog.durability:async 异步持久化

    index.translog.sync_interval:60s 1分钟一写入

    index.refresh_interval 索引刷新时间,默认1s,写入慢可以加长

    client: Bulk write 

    4. ElasticSearch

     

    index.number_of_shards:36

    index.number_of_replicas:0

    index.refresh_interval:60s

    index.translog.durability:async

    index.translog.sync_interval:60s

    Mapping.all.enabled:false

    client: Bulk write

    bulk写入能成倍的提升写入性能

    建议的bulk大小是:5-15MB,这个写入能力是根据logstash 日志大小,单位写入数量来计算

     

     

    --------------------------------logstash优化-------------------------------------------------

     

    worker: 40

    batch_size: 150

    Input.consumer_threads:5

    Output.flush_size:1500

    Output.idle_flush_time:30

    Output.workers: 20

    Filter.grok

    单机写入提升: 2000/s -> 18000/s

    worker

    logstash worker的数量,默认是机器cpu的核心数

    logstash的瓶颈一般都在filter上,增大worker的数量,可以有效提升filter的效率

    可以设置为略高于CPU核心数

    ./bin/logstash -w 48 ...

    batch_size

    表示worker一次批量处理的数据条数,默认是150

    ES的bulk写入有关系:worker * batch_size / flush_size = ES bulk index api 调用次数

    ./bin/logstash -w 48 -b 300 ...

    Input.consumer_threads

    该参数用于标识消费者的线程数,是在logstash.conf中指定的

    该参数标识至少会占用kafka的partition的数目

    配置的时候需要注意,避免占用过多的partition,导致其他logstash进程饿死

    Output.flush_size&Output.idle_flush_time

    用来表示flush的大小以及频率

    控制着bulk的大小

    Filter.grok

    grok是logstash的filter插件中的功能,用来对日志数据进行正则匹配实现各个字段的切割

    增加锚点可以有效提升性能,比如:^、$等

    使用合适的类型去分割字段,尽量避免使用DATA

    ------------------------------------------------------------------------------------------

    ElasticSearch配置文件说明

    1、cluster.name:elasticsearch

    配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。

    2、node.name:”FranzKafka”

    节点名,默认随机指定一个name列表中名字,该列表在es的jar包中config文件夹里name.txt文件中,其中有很多作者添加的有趣名字。

    3、node.master:true

    指定该节点是否有资格被选举成为node,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master。

    4、node.data:true

    指定该节点是否存储索引数据,默认为true。

    5、index.number_of_shards:5

    设置默认索引分片个数,默认为5片。

    6、index.number_of_replicas:1

    设置默认索引副本个数,默认为1个副本。

    7、path.conf:/path/to/conf

    设置配置文件的存储路径,默认是es根目录下的config文件夹。

    8、path.data:/path/to/data

    设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开,例:path.data:/path/to/data1,/path/to/data2

    9、path.work:/path/to/work

    设置临时文件的存储路径,默认是es根目录下的work文件夹。

    10、path.logs:/path/to/logs

    设置日志文件的存储路径,默认是es根目录下的logs文件夹

    11、path.plugins:/path/to/plugins

    设置插件的存放路径,默认是es根目录下的plugins文件夹

    12、bootstrap.mlockall:true

    设置为true来锁住内存。因为当jvm开始swapping时es的效率会降低,所以要保证它不swap,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。同时也要允许elasticsearch的进程可以锁住内存,linux下可以通过ulimit-l unlimited命令。

     

    13、network.bind_host:192.168.0.1

    设置绑定的ip地址,可以是ipv4或ipv6的,默认为0.0.0.0。

    14、network.publish_host:192.168.0.1

    设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址。

    15、network.host:192.168.0.1

    这个参数是用来同时设置bind_host和publish_host上面两个参数。

    16、transport.tcp.port:9300

    设置节点间交互的tcp端口,默认是9300。

    17、transport.tcp.compress:true

    设置是否压缩tcp传输时的数据,默认为false,不压缩。

    18、http.port:9200

    设置对外服务的http端口,默认为9200。

    19、http.max_content_length:100mb

    设置内容的最大容量,默认100m

    20、http.enabled:false

    是否使用http协议对外提供服务,默认为true,开启。

    21、gateway.type:local

    gateway的类型,默认为local即为本地文件系统,可以设置为本地文件系统,分布式文件系统,hadoop的HDFS,和amazon的s3服务器,其它文件系统的设置方法下次再详细说。

    22、gateway.recover_after_nodes:1

    设置集群中N个节点启动时进行数据恢复,默认为1。

    23、gateway.recover_after_time:5m

    设置初始化数据恢复进程的超时时间,默认是5分钟。

    24、gateway.expected_nodes:2

    设置这个集群中节点的数量,默认为2,一旦这N个节点启动,就会立即进行数据恢复。

    25、cluster.routing.allocation.node_initial_primaries_recoveries:4

    初始化数据恢复时,并发恢复线程的个数,默认为4。

    26、cluster.routing.allocation.node_concurrent_recoveries:2

    添加删除节点或负载均衡时并发恢复线程的个数,默认为4。

    27、indices.recovery.max_size_per_sec:0

    设置数据恢复时限制的带宽,如入100mb,默认为0,即无限制。

    28、indices.recovery.concurrent_streams:5

    设置这个参数来限制从其它分片恢复数据时最大同时打开并发流的个数,默认为5。

    29、discovery.zen.minimum_master_nodes:1

    设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)

    30、discovery.zen.ping.timeout:3s

     

    设置集群中自动发现其它节点时ping连接超时时间,默认为3秒,对于比较差的网络环境可以高点的值来防止自动发现时出错。

    31、discovery.zen.ping.multicast.enabled:false

    设置是否打开多播发现节点,默认是true。

    32、discovery.zen.ping.unicast.hosts:[“host1”, “host2:port”,”host3[portX-portY]”]

    设置集群中master节点的初始列表,可以通过这些节点来自动发现新加入集群的节点

     

    参考文档

    Es分片和副本操作https://blog.csdn.net/jiao_fuyou/article/details/50501717

    Es 配置文件中文详解https://blog.csdn.net/baicd1990/article/details/79287517

     

    外部无法访问解决办法

    需要修改network.host为实际ip0.0.0.0,还无法连接应该是端口被防火墙拦截,建议使用方法一开启相关端口

    方法一:开始相关端口

    1. 编辑/etc/sysconfig/iptables文件:vi /etc/sysconfig/iptables
        加入内容并保存:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
       2.重启服务:/etc/init.d/iptables restart
       3.查看端口是否开放:/sbin/iptables -L -n

    方法二:命令行开启防火墙

    1.开启防火墙:systemctl start firewalld.service

    2.开启5601端口:firewall-cmd --permanent --zone=public --add-port=5601/tcp

    3.重启防火墙:firewall-cmd –reload

    方法三:关闭防火墙

    1) 重启后生效 
    开启: chkconfig iptables on 
    关闭: chkconfig iptables off 

    2) 即时生效,重启后失效 
    开启: service iptables start 
    关闭: service iptables stop 

     

    转载于:https://www.cnblogs.com/by1994/p/10412709.html

    展开全文
  • ELK本地单机部署流程

    2020-07-24 15:36:43
    前言介绍 当前流程采用软件版本: Elasticsearch 7.6.0 Analysis-ik ...Elasticsearch安装配置 解压文件 将相应的安装包上传到服务器 解压Elasticsearch安装包到指定位置(如解压到/opt.

    目录

    前言介绍

    软件下载链接

    Elasticsearch安装配置

    解压文件

    添加ES用户

    对es用户授权

    修改配置信息

    jvm配置文件

    elasticsearch.yml

    修改本机配置文件

    启动测试

    ik分词器安装

    github下载获取压缩包方法

    解压

    修改ik配置文件

    测试

    Kibana安装配置

    解压

    修改配置

    启动测试


    前言介绍

    当前流程采用软件版本:

    Elasticsearch 7.6.0

    Analysis-ik

    7.4.0
    kibana 7.6.0

    软件下载链接

    网盘链接

    链接:https://pan.baidu.com/s/13z70deCHmC5r4BluTcWuGg 

    提取码:2m5r

    csdn同步资源,可下载

    Elasticsearch安装配置

    解压文件

    将相应的安装包上传到服务器

    解压Elasticsearch安装包到指定位置(如解压到/opt下)

    tar -zxvf elasticsearch-7.6.0-linux-x86_64.tar.gz -C /opt

    添加ES用户

    创建es用户,并设置密码es123456

    usradd es

    passwd es

    对es用户授权

    在root用户下,对es用户进行文件夹授权

    chown es:es -R elasticsearch-7.6.0

    修改配置信息

    使用es用户,在/config目录下进行修改

    jvm配置文件

    vim jvm.options

    1g修改为512m

    elasticsearch.yml

    vim elasticsearch.yml
    
    ----- 在最后添加 -----
    
    # 数据目录位置
    path.data: /opt/elasticsearch-7.6.0/data
    # 日志目录位置
    path.logs: /opt/elasticsearch-7.6.0/logs
    # 绑定到0.0.0.0,允许任何ip来访问
    network.host: 0.0.0.0
    bootstrap.system_call_filter: false
    http.cors.enabled: true
    http.cors.allow-origin: "*"

    注:数据目录位置和日志目录位置如果没有,需要提前创建!!

    单机模式,在下图位置处,添加内容,并在node-1位置输入本机ip

    cluster.initial_master_nodes: ["10.41.11.61"]

    修改本机配置文件

    在root用户下进行!!!

    vim /etc/security/limits.conf
    
    ----- 最后添加 -----
    *       soft    nofile  65536
    *       hard    nofile  131072
    *       soft    nproc   4096
    *       hard    nproc   4096
    vim /etc/sysctl.conf
    
    ----- 最后添加 -----
    
    vm.max_map_count=655360

    执行  sysctl -p

    启动测试

    切换到es用户启动(软件目录/bin目录/elasticsearch)

    # 控制台运行
    /opt/elasticsearch-7.6.0/bin/elasticsearch
    
    # 后台运行
    /opt/elasticsearch-7.6.0/bin/elasticsearch -d

    启动成功不报错,访问 ip:9002,进行测试

    ik分词器安装

    github下载获取压缩包方法

    如果是从github上下载源文件,则需要进行 mvn install 进行编译,然后在 \target\releases 路径下可以得到压缩包

    解压

    首先,在es目录的plugins目录下,创建解压目录

    # 创建目录
    mkdir analysis-ik
    
    # 解压文件
    unzip elasticsearch-analysis-ik-7.4.0.zip -d /opt/elasticsearch-7.6.0/plugins/analysis-ik/

    修改ik配置文件

    进入到ik目录下

    vim plugin-descriptor.properties

    到最下边,将 elasticsearch.version 配置项,修改为当前已安装的elasticsearch版本

    测试

    重启elasticsearch,使用postman访问接口 ip+9002/_analyze

    http://10.41.11.61:9200/_analyze

    body内容:

    {"analyzer": "ik_max_word","text": "中华人名共和国港珠澳大桥建成通车"}

    返回结果

    Kibana安装配置

    解压

    将Kibana压缩包进行解压

    tar -zxvf kibana-7.6.0-linux-x86_64.tar.gz -C /opt
    
    # 对es用户授权
    chown es:es -R kibana-7.6.0-linux-x86_64

    修改配置

    到kibana目录的config目录下

    vim kibana.yml
    
    ----- 最后添加内容 ------
    
    #服务端口号
    server.port: 5601
    
    #Elasticsearch主机地址      
    elasticsearch.hosts: ["http://10.41.11.61:9200"]
    
    # 允许远程访问      
    server.host: "0.0.0.0"
    
    # Elasticsearch用户名 这里其实就是我在服务器启动Elasticsearch的用户名
    elasticsearch.username: "es"
    
    # Elasticsearch鉴权密码 这里其实就是我在服务器启动Elasticsearch的密码
    elasticsearch.password: "es"
    
    #设置成中文模式
    i18n.locale: "zh-CN"

    启动测试

    进入bin目录下,通过es用户启动

    # 控制台启动
    ./kibana
    
    # 后台启动
    nohup ./kibana &

    启动成功后,访问 ip+5601

    展开全文
  • 最近一个客户在使用ELK(Elasticsearch、Logstash和Kibana)作为企业的日志平台,之前我们的.NET程序使用的是ApplicationInsights作为日志分析和管理的平台。这次客户要求完全on-premise部署,所以趁机研究一下近...
  • ELK安装实战

    2016-03-18 12:43:23
    ELK日志分析系统:####################################################################################################一、修改主机名,配置本地解析 hostname:linux-node1和linux-node2 192.168.11.34 linux...
  • 这里写自定义目录标题ELK简介ELK的组成windows环境安装ELK 6.3.0版本linux环境运行ELK 6.3.0版本一、ELK安装二、ELK关闭 ELK简介 一套成熟的系统日常运作过程中会产生各种日志,如系统日志、操作日志、访问日志、...
  • import os import string import re import subprocess import time ...#获取本地ip #前提先在/etc/hosts文件配好 ############### import socket local_ip = socket.gethostbyname(socket.gethostna
  • docker集群ELK部署读取本地日志–(一)Centos linux安装 环境: 3台已经通过VMware Esxi虚拟化的服务器,通过vcenter进行管理 IP:172.16.10.5 IP:172.16.10.8 IP:172.16.10.9 如果没有进行虚拟化也是没有关系的,...
  • ELK安装和使用

    2020-12-14 11:22:28
    elastic-search分为包含自带JDK和不带JDK版本,默认下载的是自带JDK版本,防止本地JDK版本不匹配(7.10默认JDK11) 选择产品-立即部署,https://www.elastic.co/cn/downloads/ 解压所有的安装包 1.elastic-...
  • ELK的简单安装使用

    2017-01-10 14:56:00
    我采用的是本地window环境; 下载的包如下: 首先安装的是jdk8,安装完成之后,设置路径, 增加一个系统变量 JAVA_HOME 值为安装的jdk目录; 编辑系统变量 PATH 在值的末尾添加 ;%JAVA_HOME%/bin 打开...
  • 深圳信狮ELK安装配置

    2020-04-02 08:58:43
    1.分别在两个ELK节点上通过本地hosts文件配置域名解析 节点1配置 setenforce 0 systemctl stop firewalld vim /etc/hostname node1 hostname node1 bash vim /etc/hosts 添加如下两行 192.168.180.101 node1 19...
  • 本地配置JAVA环境 <二> kafka源码安装 1 解压源码 tar zxvfkafka_2.11-2.0.1.tgz 2 配置文件解析 kafka需要安装zookee使用,但kafka集成zookeeper,在单机搭建时可直接使用。使用需配置kafka_2.11-...
  • 1、Ruby环境安装 清理已安装过的 #yum erase ruby ruby-libs ruby-mode ruby-rdoc ruby-irb ruby-ri ruby-docs #yum remove ruby 1.Ruby的安装 #yum install -y wget unzip #cd /usr/local #yu...
  • Logstash是一个开源的服务器端数据...安装步骤: 1. 上传logstash的安装包到linux服务器中 2. 解压 3. 在本地创建一个配置文件 logtest.conf input { # 从文件读取日志信息 输送到控制台 file { ...
  • ELK - logstash 的安装

    2019-09-09 14:46:45
    logstash 的安装 环境: 系统:centos 7.5 ...功能:将数据从 本地文件 --> mysql 安装步骤: 1. 下载 logstash wget https://artifacts.elastic.co/downloads/logstash/logstash-7.3.1.tar.g...
  • elk实践一:服务安装

    2016-06-14 18:15:12
    1、由于elk均需在jvm中运行,所以首先得给服务器安装jdk,本地下载好jdk后,准备使用rz上传,发现rz不是内部命令: 安装rz:yum -y install lrzsz
  • ELK之ubuntu16安装kibana

    2018-10-25 10:53:17
    kibana的安装基本和之前elasticsearch一样,可以看我之前的es安装的那一篇,在从官网下载并上传到服务器后。我们照样先解压。这时直接启动试试。 成功启动。然后试试用自己的浏览器访问,没成功。那么试一下在服务器...
  • elk

    2019-09-17 15:24:21
    grok debugger 本地安装 https://blog.csdn.net/qq_33588470/article/details/53079293 转载于:https://my...
  • 1、修改各个主机名并重启 172.16.10.10 机器 # hostnamectl --static set-hostname docker-manager # vim /etc/hosts 172.16.10.10 docker-manager 172.16.10.11 dcoker-worker01 ...172.16.10.12 dcoker-worker02...
  • Logstash 是一个具有 real-time pipelining功能的开源数据收集引擎。 Logstash可以动态地统一来自不同源的数据,并...任何类型的事件都可以通过广泛的输入、过滤器和输出插件数组来丰富和转换,许多本地编解码器进...
  • Grok Debugger本地安装过程

    千次阅读 2016-11-08 09:57:21
    Grok Debugger本地安装过程 标签:elk grokdebugger grok 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。...最近在使用ELK对日志进行集中管理,因为...
  • 【前言】 ...今天在上次的Linux系统(《VMware安装Centos(超详细图文教程)》)中安装了Docker环境把步骤记录下来,一是方便自己以后安装,二是可以为大家做参考共享。 【一句总结一张架构图】 一...
  • 因为工作关系,这几天明哥需要搭建ELK数据分析套件,作为日志投递工具,Filebeat的安装也是其中一步,本文中简单说明Filebeat的安装与配置。Filebeat是本地文件的日志数据采集器,可监控日志目录或特定日志文件(tail...
  • 因为工作关系,这几天明哥需要搭建ELK数据分析套件,作为日志投递工具,Filebeat的安装也是其中一步,本文中简单说明Filebeat的安装与配置。Filebeat是本地文件的日志数据采集器,可监控日志目录或特定日志文件(tail...
  • x-pack本地安装方式

    2018-12-13 16:42:00
    首先下载本地安装包,我使用的ELK是5.6.1版本:  https://artifacts.elastic.co/downloads 二.进入到elasticsearch/bin(所有节点)和kibana/bin安装x-pack:(都是非root)  bin/elasticsearch-plugin install file:/...
  • 第一次安装使用elk,做个记录,本地windows版部署使用已跑通,现在就试了下linux的,选用docker进行部署,主要原因是使用安装包部署过于麻烦,docker部署简洁,用的版本是6.8.1。 windows版elasticsearch+...
  • ELK安装好后,我们现在.net Core中使用一下,大体思路就是结合NLog日志组件将数据写入ELK中,其它语言同理。 ELK安装还是有些复杂的,我们也可以在Docker中安装ELK:docker run -it --rm -p 9200:9200 -p 5601:...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 134
精华内容 53
关键字:

elk本地安装