ELK 安装部署(入门必备)

一、简介

ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。

Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。

Logstash是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。

Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据

官网权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
安装指南:https://www.elastic.co/guide/en/elasticsearch/reference/7.x/rpm.html

二、环境准备

jdk1.8.0_201(自行百度安装)
链接: https://pan.baidu.com/s/1XFAeaQp2WTCAYcfJznSKCw 提取码: n8gq

elasticsearch-7.9.3
kibana-7.9.3
logstash-7.9.3
链接: https://pan.baidu.com/s/1i54lIGVyNSFAj6XIclFraw 提取码: k4sk

主机三台

	10.0.128.207
	10.0.128.208
	10.0.128.210(主)

每台主机创建目录elk

	mkdir /opt/elk
	mkdir /var/log/elk/es7
	mkdir /data/es7

创建elk用户

	useradd elk

解压相关文件

	#三个节点都需要
	tar -zxf elasticsearch-7.9.3-linux-x86_64.tar.gz  -C /opt/elk/
	#主节点
	tar -zxf kibana-7.9.3-linux-x86_64.tar.gz -C /opt/elk/
	tar -zxf logstash-7.9.3.tar.gz -C /opt/elk/
	tar -zxf elasticsearch-head-master.tar.gz -C /opt/elk/

修改目录权限

	chown -R elk:elk /opt/elk
	chown -R elk:elk /var/log/elk
	chown -R elk:elk /data/es7

三、开始安装配置

3.1 安装elasticsearch

#1、修改elasticsearch.yml配置文件
	vim /opt/elk/elasticsearch-7.9.3/config/elasticsearch.yml
	# ---------------------------------- Cluster -----------------------------------
	cluster.name: bigdata-elk
	# ------------------------------------ Node ------------------------------------
	node.name: bigdata210
	# ----------------------------------- Paths ------------------------------------
	path.data: /data/es7
	path.logs: /var/log/elk/es7
	# ---------------------------------- Network -----------------------------------
	network.host: 0.0.0.0
	transport.host: 0.0.0.0
	network.publish_host: 10.0.128.210
	http.port: 9200
	# --------------------------------- Discovery ----------------------------------
	discovery.seed_hosts: ["10.0.128.210", "10.0.128.208","10.0.128.207"]
	cluster.initial_master_nodes: ["bigdata210", "bigdata208", "bigdata207"]
	# ---------------------------------- Various -----------------------------------
	http.cors.enabled: true          
	http.cors.allow-origin: "*"        
	bootstrap.memory_lock: false
	bootstrap.system_call_filter: false
#2、修改系统参数,不修改可能达到系统瓶颈,导致软件崩溃
	echo "vm.max_map_count=655360" >> /etc/sysctl.conf
	sysctl -p
		报错:sysctl: cannot stat /proc/sys/–p: No such file or directory
		执行以下命令:
		1、  modprobe br_netfilter
	 	2ls /proc/sys/net/bridge
		3、  sysctl -p
		
	vim /etc/security/limits.conf
	* soft nofile 65536
	* hard nofile 65536
	* soft nproc  65536
	* hard nproc  65536
	
	echo "elk     soft    nproc       65536" >> /etc/security/limits.d/20-nproc.conf
#3、切换用户elk来运行elasticsearch
	su elk
	/opt/elk/elasticsearch-7.9.3/bin/elasticsearch -d
#4、检查elasticsearch状态,如下则表示正常运行
	[elk@bigdata210 config]$ curl http://10.0.128.210:9200
	{
	  "name" : "bigdata210",
	  "cluster_name" : "bigdata-elk",
	  "cluster_uuid" : "_na_",
	  "version" : {
	    "number" : "7.9.3",
	    "build_flavor" : "default",
	    "build_type" : "tar",
	    "build_hash" : "c4138e51121ef06a6404866cddc601906fe5c868",
	    "build_date" : "2020-10-16T10:36:16.141335Z",
	    "build_snapshot" : false,
	    "lucene_version" : "8.6.2",
	    "minimum_wire_compatibility_version" : "6.8.0",
	    "minimum_index_compatibility_version" : "6.0.0-beta1"
	  },
	  "tagline" : "You Know, for Search"
	}
#5、告警:Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone.
#在文件elasticsearch.yml中加入下面的配置
xpack.security.enabled: false
3.2 安装 Logstash

logstash pipeline 包含两个必须的元素:input和output,和一个可选元素:filter。
从input读取事件源,(经过filter解析和处理之后),从output输出到目标存储库(elasticsearch或其他)。

官网:https://www.elastic.co/guide/en/logstash/7.9/index.html
ELK 安装部署(入门必备)_第1张图片
运行一个最基本的logstash测试一下

	bin/logstash -e 'input {stdin {}} output {stdout {}}'

ELK 安装部署(入门必备)_第2张图片

配置读取日志

vim config/test_file.conf
input {
    file {
        path => ["/var/log/elk/es7/bigdata-elk.log"]
        type => "bigdata-elk"
    }
}


output {
    elasticsearch {
        hosts => ["10.0.128.210:9200"]
        index => "sbigdata-elk-log-%{+YYY.MM.dd}"
    }
}

指定配置文件运行logstash

bin/logstash -f config/test_file.conf &
netstat -tulnp |grep 9600

在这里插入图片描述
ELK 安装部署(入门必备)_第3张图片

3.3 安装ES插件:elasticsearch-head

第一种:
通过chrome安装插件的方式提供一个可操作es的图形化界面
谷歌浏览器访问http://extb.cqttech.com/search/elasticsearch%2520head
ELK 安装部署(入门必备)_第4张图片
ELK 安装部署(入门必备)_第5张图片
ELK 安装部署(入门必备)_第6张图片
第二种:
1.安装node.js
官网地址:https://nodejs.org/en/download/
ELK 安装部署(入门必备)_第7张图片
下载解压

	wget https://nodejs.org/dist/v14.15.0/node-v14.15.0-linux-x64.tar.xz
	xz -d node-v14.15.0-linux-x64.tar.xz
	tar -xf node-v14.15.0-linux-x64.tar
	#或者使用
	tar -xJf node-v14.15.0-linux-x64.tar
	#phantomjs 官网	https://phantomjs.org/download.html
	wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
	#以下两个如果已经装过可忽略
	yum -y install bzip2
	yum -y install fontconfig-devel
	tar -xvjf  phantomjs-2.1.1-linux-x86_64.tar.bz2
	
	#创建软连接
	ln -s /opt/elk/node-v14.15.0-linux-x64/bin/node /usr/local/bin/node
	ln -s /opt/elk/node-v14.15.0-linux-x64/bin/npm /usr/local/bin/npm
	ln -s /opt/elk/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs
	#查看版本
	node -v
	npm -v
	phantomjs --version

2.安装head插件

cd /opt/elk/elasticsearch-head
npm install
npm run start
npm run start &

#使用grunt方式启动
npm install -g grunt-cli
grunt server &

netstat -tulnp| grep 9100

ELK 安装部署(入门必备)_第8张图片
ELK 安装部署(入门必备)_第9张图片

3.4 安装kibana
#修改配置文件
vim /opt/elk/kibana-7.9.3-linux-x86_64/config/kibana.yml
server.port: 5601
server.host: "10.0.128.210"
server.name: "bigdata-kibana"
elasticsearch.hosts: ["http://10.0.128.210:9200"]
logging.dest: /var/log/elk/kibana/kibana.log
i18n.locale: "zh-CN"
#创建日志目录
mkdir /var/log/elk/kibana
chown -R elk:elk /var/log/elk/kibana
#启动kibana
bin/kibana &

访问 http://10.0.128.210:5601/
ELK 安装部署(入门必备)_第10张图片

你可能感兴趣的:(ELK,elasticsearch,大数据)