Elastic Search 安裝與執行
阿新 • • 發佈:2018-11-29
1.Elastic Search 安裝與執行
- 獲取elastic search
(需要安裝wget)
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
- 解壓elasticsearch
tar zxvf elasticsearch-6.2.4.tar.gz
- 執行elasticsearch
bin/elasticsearch
訪問:127.0.0.1:9200
- 出現以下資訊
{
"name" : "YSApVRi", //node名
"cluster_name" : "elasticsearch", //叢集名稱
"cluster_uuid" : "LpM-q8GQSam1T5IEkZHXcg",
"version" : {
"number" : "6.2.4",
"build_hash" : "ccec39f",
"build_date" : "2018-04-12T20:37:28.497551Z",
"build_snapshot" : false,
"lucene_version" : "7.2.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search" //產品說明
}
elasticsearch配置說明:
- 配置檔案位於config目錄中
- elasticsearch.yml es的相關配置
i. cluster.name叢集名稱,以此作為是否同一叢集的判斷條件
ii. node.name節點名稱,一次作為叢集中不同節點的區分條件
iii. network.host/http.port網路地址和埠,用於http和transport服務使用
iv. path.data資料儲存地址
v. path.log日誌儲存地址 - jvm.options jvm的相關引數
- log4j2.properties 日誌相關配置
- Development 與Production模式說明
i. 以transport的地址是否繫結再localhost為標準判斷network.host
ii. Development模式下啟動時會以warning方式提示配置檢查異常
iii. Production模式下啟動時會以error的方式提示配置檢查異常並退出
Elasticsearch本地啟動叢集的方式
1. bin/elasticsearch
2. bin/elasticsearch -Ehttp.port=8200 -Epath.data=node2
3. bin/elasticsearch -Ehttp.port=7200 -Epath.data=node3
訪問: 127.0.0.1:8200/_cat/nodes?v 檢視節點資訊
訪問: 127.0.0.1:8200/_custer/stats 檢視叢集資訊
kibana 下載安裝和簡介(安裝同elasticsearch)
- kibana配置
i. 配置位於config資料夾中
ii. server.host/server.port訪問kibana用的地址和埠
iii. elasticsearch,url 待訪問elasticsearch的地址 kibana常用功能說明
i. Discover資料搜尋檢視
ii. Visualize圖表製作
iii. Dashboard儀表盤製作
iv. Timelion時序資料的高階視覺化分析
v. DevTools開發者工具
vi. Management配置Elasticsearch常用術語
i. Document文件資料
ii. Index索引
iii. Type索引中的資料型別
iv.Field欄位,文件的屬性
v. Query Dsl 查詢語法ElasticSearch CRUD
在kibana中的devToos
建立
POST /accounts/person/1 //accounts:index, person type, 1 id
{
"name":"John", //
"lastname":"Doe",
"job_description":"Systems administrator and linux specialit"
}
返回結果
{
"_index":"accounts",
"_type":"person",
"_id":"1",
"_version":"1",
"_shards":{
"total":2,
"successful":1,
"failed":0
}
"created":true
}
//讀取文件
Get accounts/person/1
//更新語法
POST /accounts/person/1/_update
{
"doc":{
"job_description":"Systems update"
}
}
//刪除
DELETE accounts/person/1
- Elasticsearch Query
Query String
GET /accounts/person/_search?q=john
Query DSL 更強大
GET /accounts/person/_search
{
"query" :{
"match":{
"name":"john"
}
}
}
Beats簡介
- Lightweight Data Shipper
- Filebeat 日誌檔案
- Metricbeat 度量資料
- Packetbeat 網路資料
- Winlogbeat Windows資料
- Heartbeat 健康檢查
- Filebeat input 配置
- Filebeat Output 配置
- Filebeat Filter 配置
i. Input時處理
ii. Output前處理 Filebeat+Elasticsearch Ingest Node
- Filebeat缺乏資料轉換能力
- Elasticsearch Ingest Node
i. 新增的node型別
ii. 在資料寫入es前對資料進行處理轉換
iii. pipeline api
- Filebeat Module簡介
- 解決Filebeat配置複雜
- 對於社群常見需求進行配置封裝增加易用性 i. nginx ii. apache iii. mysql
封裝內容 i.filebeat.yml配置
ii. ingest node pipeline 配置 iii. kibana dashboard 配置- Packetbeat簡介
i.實時抓取網路包 ii.自動解析應用協議:http, - Logstash入門
i. etl,Extract,Transform,Load
存在資料流 input, filter,output
非結構化資料轉換成結構化資料
- Packetbeat簡介
實戰
- 收集Elasticsearch叢集的查詢語句
- 分析查詢語句的常用語句,響應時長等
- 方案
- production cluster(業務叢集) –>Packetbeat 抓包–>Logstash –> Monitoring cluster –>kibana(視覺化分析)