@ELK集群环境部署搭建
文章目录
- ELK部署搭建
- 1.ELK简述
- 2.ELK功能介绍
- 3.ELK组件官方下载
- 4.ELK部署安装
- 1)elk组件下载
- 2)es部署安装
- 3)kibana部署安装
- 4)Logstash部署安装
ELK部署搭建
1.ELK简述
ELK概述:
ELK是三个开源软件的缩写简称 ,分别为:Elasticsearch , Logstash, Kibana , 它们都是开源软件;
ELK作为一个日志收集和检索系统,ELK 平台可以用于实现日志收集、日志搜索和日志分析;
elk集群还可以包含FileBeat组件,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具
ELK相关组件详解:
- Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
- Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
- Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。
- Filebeat隶属于Beats。目前Beats包含四种工具:
Packetbeat(搜集网络流量数据)
Topbeat(搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据)
Filebeat(搜集文件数据)
Winlogbeat(搜集 Windows 事件日志数据
ELK 的使用流程为:
系统种的服务及应用产生的数据,logstash 从应用收集数据,将数据放入 es,使用 kibana 进行数据展示以及分析。
2.ELK功能介绍
ELK是一套完整的集中式日志分析方案,需要包含以下几个主要特点:
收集-能够采集多种来源的日志数据
传输-能够稳定的把日志数据传输到中央系统
存储-如何存储日志数据
分析-可以支持 UI 分析
警告-能够提供错误报告,监控机制
ELK提供了一整套解决方案,并且全部是开源软件,组件之间互相配合使用,完美衔接,高效的满足了很多场合的应用,目前主流的一种日志系统方案
3.ELK组件官方下载
相关组件:
【Filebeat】
【Logstash】
【Elasticsearch】
【Kibana】
官方文档:
【中文社区 】
# 相关组件详细文档:
https://www.elastic.co/guide/en/elasticsearch/reference/5.6/index.html
https://www.elastic.co/guide/en/beats/filebeat/5.6/index.html
https://www.elastic.co/guide/en/logstash/5.6/index.html
https://www.elastic.co/guide/en/kibana/5.5/index.html
ELK集群组件安装:
4.ELK部署安装
1)elk组件下载
#elk部署软件包,官方下载(当前为elk8.3.1版本)
wget https://artifacts.elastic.co/downloads/logstash/logstash-8.3.1-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.3.1-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.3.1-linux-x86_64.tar.gz、#查看下载安装包
ll -h |grep 8.3
-rw-r--r-- 1 root root 515M 6月 30 21:41 elasticsearch-8.3.1-linux-x86_64.tar.gz
-rw-r--r-- 1 root root 258M 6月 30 21:50 kibana-8.3.1-linux-x86_64.tar.gz
-rw-r--r-- 1 root root 326M 6月 30 21:53 logstash-8.3.1-linux-x86_64.tar.gz
2)es部署安装
#创建es安装工作目录
mkdir -p /usr/local/elk
ls -d /usr/local/elk
/usr/local/elk#把下载的安装包解压到指定的目录(解压到创建的es共组目录)
tar zxvf elasticsearch-8.3.1-linux-x86_64.tar.gz -C /usr/local/elk/#查看es服务文件
ls /usr/local/elk
elasticsearch-8.3.1
ls /usr/local/elk/elasticsearch-8.3.1/
bin config data jdk lib LICENSE.txt logs modules NOTICE.txt plugins README.asciidoc#es不能以root用户去启动,创建es管理用户
useradd es#es文件修改所属用户
chown -R es:es /usr/local/elk#切换用户,查看文件
su - es
ll -ld /usr/local/elk/
drwxr-xr-x 3 es es 33 7月 3 23:56 /usr/local/elk/#使用es用户,查看es文件所属用户及所属组
ll -h /usr/local/elk/elasticsearch-8.3.1/
总用量 880K
drwxr-xr-x 2 es es 4.0K 6月 30 02:46 bin
drwxr-xr-x 4 es es 253 7月 4 00:10 config
drwxrwxr-x 5 es es 87 7月 4 01:04 data
drwxr-xr-x 8 es es 96 6月 30 02:46 jdk
drwxr-xr-x 5 es es 4.0K 6月 30 02:46 lib
-rw-r--r-- 1 es es 3.8K 6月 30 02:39 LICENSE.txt
drwxr-xr-x 2 es es 4.0K 7月 4 00:58 logs
drwxr-xr-x 66 es es 4.0K 6月 30 02:47 modules
-rw-r--r-- 1 es es 855K 6月 30 02:43 NOTICE.txt
drwxr-xr-x 2 es es 6 6月 30 02:44 plugins
-rw-r--r-- 1 es es 2.7K 6月 30 02:39 README.asciidoc#修改es启动配置文件(启用如下配置即可)
egrep "^[^#]" /usr/local/elk/elasticsearch-8.3.1/config/elasticsearch.yml
cluster.name: my-es
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]#启动es服务
/usr/local/elk/elasticsearch-8.3.1/bin/elasticsearch
安装es时,未对系统配置文件做优化调整,会出现以下错误:
ERROR: [2] bootstrap checks failed. You must address the points described in the following [2] lines before starting Elasticsearch.
bootstrap check failure [1] of [2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
具体问题解析如下所示:
#问题一:主要是文件权限配置的问题
es用户拥有的可创建文件描述的权限太低,至少需要如错误问题所述的65536
问题解决:
使用root用户,添加如下内容,配置最小文件权限
egrep "^[^#]" /etc/security/limits.conf
* hard nofile 65536
* soft nofile 65536
es - nproc 65536
#查看确认修改配置是否生效
ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 3818
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 65536 #确认到配置已生效
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited#问题二:主要时虚拟内存大小的问题
max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量
问题解决:
使用root用户,添加如下配置,配置虚拟内存大小
egrep "^[^#]" /etc/sysctl.conf
vm.max_map_count=262144
修改配置文件立即生效
sysctl -p
vm.max_map_count = 262144
或者
echo 262144 > /proc/sys/vm/max_map_count#重新启动es服务(启动后服务正常启动,使用web方式却时无法连接的)
/usr/local/elk/elasticsearch-8.3.1/bin/elasticsearch
.........
......
...
[2022-07-04T22:31:39,486][INFO ][o.e.i.g.DatabaseNodeService] [node-1] successfully loaded geoip database file [GeoLite2-Country.mmdb]
[2022-07-04T22:31:39,649][INFO ][o.e.i.g.DatabaseNodeService] [node-1] successfully loaded geoip database file [GeoLite2-ASN.mmdb]
[2022-07-04T22:31:40,826][INFO ][o.e.i.g.DatabaseNodeService] [node-1] successfully loaded geoip database file [GeoLite2-City.mmdb]#测试es服务(出现如下状态,需更改es的web认证方式)
curl 127.0.0.1:9200
curl: (52) Empty reply from server
问题发现:
[node-1] received plaintext http traffic on an https channel, closing connection Netty4HttpChannel{localAddress=/127.0.0.1:9200, remoteAddress=/127.0.0.1:56878}
出现如上问题,需要修改es生成的基本配置文件
#问题原因:是因为ES8默认开启了ssl认证,修改es的yml配置文即可
xpack.security.enabled: false
egrep "^[^#]" /usr/local/elk/elasticsearch-8.3.1/config/elasticsearch.yml
cluster.name: my-es
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
xpack.security.enabled: false
xpack.security.enrollment.enabled: true
xpack.security.http.ssl:enabled: truekeystore.path: certs/http.p12
xpack.security.transport.ssl:enabled: trueverification_mode: certificatekeystore.path: certs/transport.p12truststore.path: certs/transport.p12#修改es配置后,重新测试,如下状态出现elasticsearch的版本信息,同时,我们还可以使用浏览器访问,至此,我们的elasticsearch就安装并启动完成了
curl 127.0.0.1:9200
{"name" : "node-1","cluster_name" : "my-es","cluster_uuid" : "TH4isYRERIe-qd7JBCO3Og","version" : {"number" : "8.3.1","build_type" : "tar","build_hash" : "b9a6b2867996ba92ceac66cb5bafc6db25e7910e","build_date" : "2022-06-29T18:39:55.731992798Z","build_snapshot" : false,"lucene_version" : "9.2.0","minimum_wire_compatibility_version" : "7.17.0","minimum_index_compatibility_version" : "7.0.0"},"tagline" : "You Know, for Search"
}#web浏览器测试
http://192.168.1.10:9200/
3)kibana部署安装
#kibana服务文件指定解压到之前的工作目录即可
tar zxvf kibana-8.3.1-linux-x86_64.tar.gz -C /usr/local/elk/#查看kibana服务文件
ls /usr/local/elk/kibana-8.3.1/
bin config data LICENSE.txt logs node node_modules NOTICE.txt package.json plugins README.txt src x-pack#修改kibana配置文件(默认无配置,启用以下配置即可)
egrep "^[^#]" /usr/local/elk/kibana-8.3.1/config/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]#创建用户(默认不要使用root用户直接启动)
useradd kibana#kibana服务文件授权
chown kibana:kibana -R /usr/local/elk/kibana-8.3.1/
ll -h /usr/local/elk/kibana-8.3.1/
总用量 1.2M
drwxr-xr-x 2 kibana kibana 146 6月 29 20:33 bin
drwxr-xr-x 2 kibana kibana 44 7月 4 23:13 config
drwxr-xr-x 2 kibana kibana 6 6月 29 20:33 data
-rw-r--r-- 1 kibana kibana 3.8K 6月 29 20:33 LICENSE.txt
drwxr-xr-x 2 kibana kibana 6 6月 29 20:33 logs
drwxr-xr-x 6 kibana kibana 108 6月 29 20:33 node
drwxr-xr-x 677 kibana kibana 20K 6月 29 20:33 node_modules
-rw-r--r-- 1 kibana kibana 1.1M 6月 29 20:33 NOTICE.txt
-rw-r--r-- 1 kibana kibana 738 6月 29 20:33 package.json
drwxr-xr-x 2 kibana kibana 6 6月 29 20:33 plugins
-rw-r--r-- 1 kibana kibana 3.9K 6月 29 20:33 README.txt
drwxr-xr-x 11 kibana kibana 177 6月 29 20:33 src
drwxr-xr-x 3 kibana kibana 79 6月 29 20:33 x-pack#使用kibana用户启动kibana服务
/usr/local/elk/kibana-8.3.1/bin/kibana#web浏览器访问kibana
http://192.168.1.10:5601/app/home#/
进入kibana后,如下所示:
4)Logstash部署安装
#logstash服务文件解压到工作目录
tar zxvf logstash-8.3.1-linux-x86_64.tar.gz -C /usr/local/elk/#查看文件
ls /usr/local/elk/logstash-8.3.1/
bin CONTRIBUTORS Gemfile jdk lib logstash-core modules tools x-pack
config data Gemfile.lock JDK_VERSION LICENSE.txt logstash-core-plugin-api NOTICE.TXT vendor#创建logstash工作用户
useradd logstash#配置文件所属用户及所属组权限
chown logstash:logstash -R /usr/local/elk/logstash-8.3.1/
ll -h /usr/local/elk/logstash-8.3.1/
总用量 576K
drwxr-xr-x 2 logstash logstash 4.0K 7月 4 23:49 bin
drwxr-xr-x 2 logstash logstash 142 7月 5 00:08 config
-rw-r--r-- 1 logstash logstash 2.3K 6月 30 02:41 CONTRIBUTORS
drwxr-xr-x 2 logstash logstash 6 6月 30 02:41 data
-rw-r--r-- 1 logstash logstash 4.0K 6月 30 02:41 Gemfile
-rw-r--r-- 1 logstash logstash 29K 6月 30 02:41 Gemfile.lock
drwxr-xr-x 9 logstash logstash 121 7月 4 23:49 jdk
-rw-r--r-- 1 logstash logstash 18 6月 30 02:41 JDK_VERSION
drwxr-xr-x 6 logstash logstash 84 7月 4 23:49 lib
-rw-r--r-- 1 logstash logstash 14K 6月 30 02:41 LICENSE.txt
drwxr-xr-x 4 logstash logstash 90 7月 4 23:49 logstash-core
drwxr-xr-x 3 logstash logstash 86 7月 4 23:49 logstash-core-plugin-api
drwxr-xr-x 4 logstash logstash 55 7月 4 23:49 modules
-rw-r--r-- 1 logstash logstash 509K 6月 30 02:41 NOTICE.TXT
drwxr-xr-x 3 logstash logstash 30 7月 4 23:49 tools
drwxr-xr-x 4 logstash logstash 33 7月 4 23:49 vendor
drwxr-xr-x 9 logstash logstash 193 7月 4 23:49 x-pack#配置logstash数据和日志存储路径
#创建用于存储logstash数据目录
mkdir -p /data/logstash/data
#修改目录权限
chown -R logstash:logstash /data/logstash/data
#创建日志目录
mkdir -p /data/logstash/log
#修改目录权限
chown -R logstash:logstash /data/logstash/log#修改logstash配置文件
#设置data存储目录
path.data: /data/logstash/data
#设置配置文件目录
path.config: /usr/local/elk/logstash-8.3.1/config/
#设置日志存储目录
path.logs: /data/logstash/logegrep "^[^#]" /usr/local/elk/logstash-8.3.1/config/logstash.yml
path.data: /logstash/data
path.config: /usr/local/elk/logstash-8.3.1/config/
path.logs: /data/logstash/log#使用logstash用户启动logstash服务
/usr/local/elk/logstash-8.3.1/bin/logstash
@ELK集群环境部署搭建相关推荐
- 现学现用大数据分布式集群环境部署
导读: 随着大数据时代的到来,传统的GIS分析工具越来越难以满足对超大体量空间数据的分析需求.SuperMap iServer 9D(本文简称iServer)实现了地理信息服务的分布式集 ...
- Hadoop集群环境配置搭建
一.简单介绍 Hadoop最早诞生于Cutting于1998年左右开发的一个全文文本搜索引擎 Lucene,这个搜索引擎在2001年成为Apache基金会的一个子项目,也是 ElasticSearch ...
- kafka 基础知识梳理及集群环境部署记录
一.kafka基础介绍 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特 ...
- APACHE-TOMCAT集群环境部署
APACHE-TOMCAT集群环境部署 -----------------–Shanks ---------------------------------------- 本集群不涉及session同 ...
- centos6.5环境下zookeeper-3.4.6集群环境部署及单机部署详解
centos6.5环境下Zookeeper-3.4.6集群环境部署 [系统]Centos 6.5 集群部署 [软件]准备好jdk环境,此次我们的环境是open_jdk1.8.0_101 zookeep ...
- SUSE11 Oracle11gR2 RACASM双机集群环境部署
Oracle RAC集群环境部署 一. 安装前准备 (1) Linux系统版本 SUSE Linux Enterprise Server 11 (x86_64) (2) Oracle database ...
- 科普扫盲---centos7 集群环境的搭建指南
一般集群所需要的到底是什么环境?,需要明白的一件事,集群是由一个个单例服务通过各个单例服务之间的socket通信,从而规避一些性能瓶颈,达到1+1大于2的效果. 常见的集群有:weblogic集群,r ...
- docker-Consul的概述及consul集群环境的搭建
目录 一.概述 Consul的作用 二.搭建consul集群环境 1.安装Consul 2.配置容器服务自动加入nginx集群 (1)安装Gliderlabs/Registrator (2)测试服务 ...
- Pinpoint 集群环境部署
前期准备 节点准备 本次节点列表如下: Ip Hostname 角色 192.168.2.131 pinpointNode1 hbase master节点:NameNode:pinpoint coll ...
最新文章
- SAP QM 权限控制可以到Inspection Type上
- 基于SSM实现餐饮管理系统
- sdut-1153 C语言实验——求两个整数之中较大者
- Spring Boot-Spring Tool Suit + Gradle 构建第一个Spring Boot 项目02
- 数据结构一:链表(循环链表)
- f2812的c语言与标准c语言,关于F2812中用C语言来实现中断的说明
- ACL 2020 | 基于多级排序学习的层次化实体标注
- LeetCode 罗马数字与阿拉伯数字的转换
- android 4.4 OpenGL实现库的加载规则
- dart系列之:在dart中使用生成器
- 牛客小白月赛12 D	月月给华华出题 (欧拉函数,数论,线筛)
- MassTransit中RequestResponse基本使用
- sstv解码_SSTV通联活动:ISS国际空间站2020年1月30日和1月31日
- mocano editor中使用代码比对功能
- ArcGIS按属性选择多个地类
- 从App直接打开小程序
- 3 Layer and 3 Tier
- 可用c语言编程的科学计算器,一个用C语言实现的科学计算器
- 2019年安徽省模块七满分多少_2019年安徽中考总分是多少 考试科目及分值
- win10系统安装器使用教程