半全场:半全场

當前位置:半全场 > 新聞動態 > Linux > 正文

ELK使用之-elasticsearch安裝部署—1

半全场 www.zzlvt.com 什么是ELK? 通俗來講,ELK是由Elasticsearch、Logstash、Kibana 、filebeat三個開源軟件的組成的一個組合體,這三個軟件當中,每個軟件用于完成不同的功能,ELK 又稱為ELK stack,官方域名為stactic.co,ELK stack的主要優點有如下幾個: 處理方式靈活: elasticsearch是實時全文索引,具有強大的搜索功能 配置相對簡單:elasticsearch全部使用JSON 接口,logstash使用??榕渲?,kibana的配置文件部分更簡單。 檢索性能高效:基于優秀的設計,雖然每次查詢都是實時,但是也可以達到百億級數據的查詢秒級響應。 集群線性擴展:elasticsearch和logstash都可以靈活線性擴展 前端操作絢麗:kibana的前端設計比較絢麗,而且操作簡單 什么是Elasticsearch: 是一個高度可擴展的開源全文搜索和分析引擎,它可實現數據的實時全文搜索搜索、支持分布式可實現高可用、提供API接口,可以處理大規模日志數據,比如Nginx、Tomcat、系統日志等功能。 什么是Logstash 可以通過插件實現日志收集和轉發,支持日志過濾,支持普通log、自定義json格式的日志解析。 什么是kibana: 主要是通過接口調用elasticsearch的數據,并進行前端數據可視化的展現。 為什么使用 ELK? ELK組件在海量日志系統的運維中,可用于解決以下主要問題: 分布式日志數據統一收集,實現集中式查詢和管理 故障排查 安全信息和事件管理 報表功能 ELK組件在大數據運維系統中,主要可解決的問題如下: 日志查詢,問題排查,故障恢復,故障自愈 應用日志分析,錯誤報警 性能分析,用戶行為分析 一:elasticsearch部署: 1.1:環境初始化: IP:192.168.1.58
主機名:node-1
系統:CentOS 7
Java:1.8.0_201
elasticsearch:6.6.0 1.2: 獲取elasticsearch-6.6.0 https://www.elastic.co/downloads/ 下載安裝ELK組件 [[email protected] data]# wget https://artifacts.elastic.co/downloads/logstash/logstash-6.6.0.tar.gz
[[email protected] data]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.6.0-linux-x86_64.tar.gz
[[email protected] data]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz 安裝部署elasticsearch-6.6.0 [[email protected] data]# yum install -y java-1.8.0-openjdk-devel java-1.8.0-openjdk
[[email protected] data]# tar xf elasticsearch-6.6.0.tar.gz
[[email protected] data]# cd elasticsearch-6.6.0/config
[[email protected] config]# grep -vE “^$|^#” elasticsearch.yml
cluster.name: my-ELK
node.name: node-1
path.data: /data/ELK/elasticsearch/data
path.logs: /data/ELK/elasticsearch/log
network.host: 192.168.1.58
http.port: 9200
discovery.zen.ping.unicast.hosts: [“192.168.1.58”]
http.cors.enabled: true # 開放插件head訪問
http.cors.allow-origin: “*” # 開放插件head訪問 修改參數 [[email protected] data]# echo “vm.max_map_count=655360″>>etc/sysctl.conf
[[email protected] data]# sysctl -p
[[email protected] data]# vim /etc/security/limits.conf
* soft nproc 1000000
* hard nproc 1000000
* soft nofile 1000000
* hard nofile 1000000 啟動訪問測試 [[email protected] config]# groupadd elsearch
[[email protected] config]# useradd elsearch -g elsearch -p elasticsearch
[[email protected] config]# chown -R elsearch:elsearch /data/ELK /data/elasticsearch-6.6.0
[[email protected] config]# su – elsearch
[[email protected] config]# cd /data/elasticsearch-6.6.0
[[email protected] elasticsearch-6.6.0]# ./bin/elasticsearch &
[[email protected] elasticsearch-6.6.0]# curl //192.168.1.58:9200
{
“name” : “node-1”,
“cluster_name” : “my-ELK”,
“cluster_uuid” : “Frii070FSEKiOSYlE86lOg”,
“version” : {
“number” : “6.6.0”,
“build_flavor” : “default”,
“build_type” : “tar”,
“build_hash” : “a9861f4”,
“build_date” : “2019-01-24T11:27:09.439740Z”,
“build_snapshot” : false,
“lucene_version” : “7.6.0”,
“minimum_wire_compatibility_version” : “5.6.0”,
“minimum_index_compatibility_version” : “5.0.0”
},
“tagline” : “You Know, for Search”
} 安裝head插件 [[email protected] elasticsearch-6.6.0]# yum install -y npm
[[email protected] data ]# git clone https://github.com/mobz/elasticsearch-head.git
[[email protected] data ]# cd elasticsearch-head/
[[email protected] elasticsearch-head]# npm install -g grunt-cli
[[email protected] elasticsearch-head]# npm install
修改配置文件:
Gruntfile.js
connect: {
server: {
options: {
port: 9100,
hostname: “*”, # 新增
base: ‘.’,
keepalive: true
}
}
}

});
_site/app.js
this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “//192.168.1.58:9200”; # 修改為自己的服務
[[email protected] elasticsearch-head]# grunt server #啟動
測試訪問:”//192.168.1.58:9100 elasticsearch和插件部署完畢

{ganrao}