ELK日志框架笔记-elasticseach、elasticseach-head、kibana安装--临时记录 待完善

ELK简介:

        E:elasticseach 全文检索框架,实时分布式搜索和分析引擎,用于全文搜索、结构化搜索以及分析,接口友好,支持json。

        L:logstash 日志数据收集框架,实时渠道能力的数据收集引擎,几乎可以冯文任何数据,可以和多种外部应用结合,支持弹性扩展

                logstash 有三部分组成:

                        

        K:kibana 报表展示层

        使用logstash来采集数据存储到es中,使用kibana展示es索引库中的数据

elasticseach 与关系型数据库对比

传统数据库:

        DB(数据库服务)--databases(库)-- tables(表) -- rows(行) -- columns(列)

elasticseach:

elasticseach--indices(索引库)-- types(类似于表)-- documents (文档对象)-- fields(文件)

ES的核心概念:

        index:索引库,我们在ES中创建的一个个索引库类似于我们在mysql创建的数据库。

        type:类型,在索引库下边创建的类型,类似于mysql的表。

        document:文档,es中一条数据就是一个doucment。

        filed:字段,一条document的数据由多个字段组成。

        mappings:映射关系,映射filed字段的类型,字段的分词、索引、存储特性。

        settings:设置es索引库当中数据的分片数以及副本数。

        node:每一个es节点叫做node。

        cluster:集群,所有的node组织起来就是集群的概念

es集群安装

es不能使用root启动,添加普通用户
#创建用户
useradd es
#创建用户目录
mkdir -p /home/es
#把用户目录给到改用户
chown -R es /home/es
#设置密码
passwd es  根据提示设置密码
给用户sudo权限,让用户可以执行所有命令
visudo 

找到 root   ALL。。。。。在下边添加 es    ALL=(ALL)      ALL    保存

ELK日志框架笔记-elasticseach、elasticseach-head、kibana安装--临时记录 待完善_第1张图片

下载地址:

wget https://mirrors.huaweicloud.com/elasticsearch/6.7.0/elasticsearch-6.7.0.tar.gz

解压到安装目录:

   tar -zxf elasticsearch-6.7.0.tar.gz -C /home/es/elasticsearch

进入安装目录创建数据文件夹

 cd /home/es/elasticsearch/elasticsearch-6.7.0/

mkdir datas

修改安装目录下的配置文件  elasticsearch.yml

安装目录的config目录下

 cd /home/es/elasticsearch/elasticsearch-6.7.0/config

#集群名称
cluster.name: my-application
#节点名称
node.name: node01
#数据路径
path.data: /home/es/elasticsearch/elasticsearch-6.7.0/datas
#日志路径
path.logs: /home/es/elasticsearch/elasticsearch-6.7.0/logs
#本机IP
network.host: 192.168.135.131
#访问端口
http.port: 9200
#含哪些集群节点
#改成IP端口 -- 这样写需要配置hosts
discovery.zen.ping.unicast.hosts: ["node01","node02","node03"]
#解决esbug
bootstrap.system_call_filter: false
#是否锁定内存
bootstrap.memory_lock: false
#是否允许跨越
http.cors.enabled: true
http.cors.allow-origin: "*"

启动ES

        cd /home/es/elasticsearch/elasticsearch-6.7.0 

sudo sysctl -w vm.max_map_count=262144  ##在启动前先调大虚拟内存加速

       nohup sh bin/elasticsearch 2>1&       

访问地址:

        http://192.168.135.131:9200/

http://192.168.135.132:9200/

http://192.168.135.134:9200/

elasticSeach-head安装

        需要先装nodejs环境

        下载地址:wget https://npm.taobao.org/mirrors/node/v8.1.0/node-v8.1.0-linux-x64.tar.gz

解压到对应目录

tar -zxvf node-v8.1.0-linux-x64.tar.gz -C /home/es/

创建两个软连接

sudo ln -s /home/es/node-v8.1.0-linux-x64/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm
sudo ln -s /home/es/node-v8.1.0-linux-x64/bin/node /usr/local/bin/node

配置环境变量

export NODE_HOME=/home/es/node-v8.1.0-linux-x64
export PATH=:$PATH:$NODE_HOME/bin

head启动命令   

前端启动:npm run start

守护进程启动:nohup npm run-script start & 

kibana 启动nohup sh bin/kibana 2>1 &

nohup sh bin/kibana 2>1 &

//创建一个索引库 blog01

put /blog01?pretty

curl -XPUT http://127.0.0.1:9200/blog01/article/1?pretty -d '{"id":"1","title":"What is lucene"}' -H "Content-Type:application/json"

PUT /blog01/article/1?pretty {"id":"1","title":"What is lucene"}

blog01 索引库

article 表

1 系统id

-d 插入一条数据

-H "Content-Type:application/json" 指定数据类型

//查询

curl -XGET http://localhost:9200/blog01/article/1

GET /blog01/article/1

//搜索 关键字 _search

GET /blog01/article/_search?q=title:What is lucene

删除数据 delete /blog01/article/1

删除索引库 delete /blog01



 

{

"took" : 29, 查询时长

"timed_out" : false, 是否查询超时

"_shards" : { 查询了哪些分片

"total" : 1,

"successful" : 1,

"skipped" : 0,

"failed" : 0

},

"hits" : { 得到哪些数据

"total" : { 一共几条数据

"value" : 1,

"relation" : "eq"

},

"max_score" : 0.5469647,

"hits" : [ 实际数据数组

{

"_index" : "blog01", 索引库

"_type" : "article", 表

"_id" : "2", id

"_score" : 0.5469647,

"_source" : { --数据内容

"id" : "1",

"title" : "What is lucene"

}

}

]

}

}

批量添加 POST /school/student/_bulk

关键字post /库/表/_bulk 批量添加 {"index":{"_id":1}} 数据

{"index":{"_id":1}}

{"name":"haha","age":"20","sex":"boy","about":"I like diaocan he girl"}

{"index":{"_id":2}}

{"name":"diaochan","age":"40","sex":"girl","about":"I like haha he boy"}

{"index":{"_id":3}}

{"name":"haha2","age":"20","sex":"boy","about":"I like diaocan he girl"}


 

//查询所有

GET /school/student/_search?pretty

{

"query":{

"match_all": {}

}

}

#关键字查询

GET /school/student/_search?pretty

{

"query":{

"match": {

"about": "diaocan"

}

}

}

#复合查询

GET /school/student/_search?pretty

{

"query":{

"bool": {

"must": [

{"match": {

"about": "girl"

}},{"match": {

"sex": "boy"

}}

]

}

}

}

你可能感兴趣的:(elk,elk,笔记)