ElasticSearch
ELK准备
添加源
具体可以参考https://www.elastic.co/guide/en/logstash/7.16/installing-logstash.html#_yum
debian系
|
|
centos系
|
|
Logstash
安装
debian系
|
|
centos系
|
|
ElasticSearch
介绍
参考https://www.elastic.co/guide/cn/elasticsearch/guide/current/getting-started.html
elasticsearch是一个基于lucene库的实时的分布式搜索分析引擎,主要用作全文检索,结构化搜索,分析以及这三种的组合
常见的应用场景有系统日志分析、应用数据分析、安全审计、关键词搜索等
es是面向文档的,对于复杂关系,比如地理信息日期等对象都可以保存,这是相比较于关系型数据库优势的地方
安装
|
|
启动
|
|
可能报错:
启动报错了 failed; error='Not enough space' (errno=12) 修改下es的启动参数
|
|
测试
|
|
代表es数据成功写入
集群搭建
参考集群搭建,
三台服务器
RESTful API with JSON over http
通过9200交互
liuliancao@liuliancao-dev:~/projects/lion$ sudo lsof -i:9200 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 50762 elasticsearch 284u IPv6 141518 0t0 TCP localhost:9200 (LISTEN) java 50762 elasticsearch 285u IPv6 141519 0t0 TCP localhost:9200 (LISTEN)
Curl, Groovy, Javascript, .NET, PHP, Perl, Python, Ruby (https://www.elastic.co/guide/en/elasticsearch/client/index.html)
Curl
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
查询集群中文档数量
curl -XGET 'http://localhost:9200/_count?pretty' -d ' { "query": { "match_all": {} } } ' 实际执行结果是 liuliancao@liuliancao-dev:~/projects/lion$ curl -XGET 'http://localhost:9200/_count?pretty' -d ' { "query": { "match_all": {} } } ' { "error" : "Content-Type header [application/x-www-form-urlencoded] is not supported", "status" : 406 } ..., 需要调整下header, 这个结果代表我们没有分片和文档存在 liuliancao@liuliancao-dev:~/projects/lion$ curl -XGET -H 'Content-Type: application/json' 'http://localhost:9200/_count?pretty' -d ' { "query": { "match_all": {} } } ' { "count" : 0, "_shards" : { "total" : 0, "successful" : 0, "skipped" : 0, "failed" : 0 } }
JSON形式保存对象
一些es中的概念
索引
类型
Q***** 属性
集群状态查看
|
|
列出所有index
|
|
模糊删除index
|
|
DSL
Query查询
一个典型的查询 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-filter-context.html
|
|
指定正则匹配
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html
|
|
聚合查询
聚合里面进行count排序
|
|
kibana
测试使用
浏览器访问服务器地址:5601端口 建议通过nginx+ssl配置,会比较安全
参考文档
- logstash yum安装 https://www.elastic.co/guide/en/logstash/7.13/installing-logstash.html#_yum
- logstash主页 https://www.elastic.co/cn/logstash/
- logstash配置 https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html
- logstash input https://www.elastic.co/guide/en/logstash/current/input-plugins.html
- logstash output https://www.elastic.co/guide/en/logstash/current/output-plugins.html
- logstash filter https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
- logstash 中文文档 https://www.kancloud.cn/aiyinsi-tan/logstash/849518
- 中文文档