联系管理员

开通文章发布权限

扫码 添加微信
微信图片
电话:18888888888 QQ:

ELK集群搭建全解:从零到生产环境的标准化实践

ELK 是由 Elasticsearch、Logstash 和 Kibana 组成的强大开源日志分析平台。Elasticsearch 提供分布式搜索和数据分析,Logstash 负责从多个源收集和处理数据,而 Kibana 则用来可视化数据,帮助用户进行深入分析。ELK 广泛应用于日志分析、系统监控、实时数据处理和安全管理等领域,帮助企业提升数据处理效率,快速诊断和解决问题。

1、环境相关

1.1环境简介

系统版本软件版本部署方式部署路径数据路径日志路径
Centos 7.67.10.1yum/data/elasticsearch/data/elasticsearch/lib/data/elasticsearch/log

1.2资源规划

主机名IPCPU内存磁盘模式
test-elk-0110.24.1.148200集群
test-elk-0210.24.1.248200集群
test-elk-0310.24.1.348200集群

2、安装准备

2.1安装依赖

jdk1.8.0

2.2配置依赖

将tar包解压到 /usr/local下 版本为jdk-8u211-linux-x64.tar.gz ; #路径为/usr/local/jdk1.8.0_211(解包后自动生成)
解包到/usr/local,意思是本机用户环境启动

tar xf jdk-8u211-linux-x64.tar.gz -C /usr/local

在配置文件里声明路径(指定路径)

echo ''export JAVA_HOME=/usr/local/jdk1.8.0_211'' >> /etc/profile.d/jdk8.sh

在配置文件里声明Java变量环境

echo "export CLASS_PATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/jar/tools.jar:\$JAVA_HOME/jre/lib" >> /etc/profile.d/jdk8.sh

在配置文件里声明启动Java变量环境

echo "export PATH=\$JAVA_HOME/bin:\$JAVA_HOME/jre/bin:\$PATH" >> /etc/profile.d/jdk8.sh

在配置文件里声明启动Java变量环境路径

echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/apr/lib" >> /etc/profile.d/jdk8.sh

给Java变量环境添加执行权限

chmod +x /etc/profile.d/jdk8.sh

重启环境

source /etc/profile.d/jdk8.sh

查看Java变量环境

java -version

3、安装步骤

3.1安装elasticsearch

搭建elasticsearch

3.1.1.配置yum源

导入GPG key    #GPG公钥

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch         #检查机制(类似密钥)

如果报错执行一下这个 刷新yum源

yum update curl 

自定义yum源文件名

vim /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum         #指定包路径gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch     #检查机制
enabled=1
autorefresh=1
type=rpm-md

图片#B #S #R #60% #auto

3.1.1安装elasticsearch

安装目录: 

mkdir /usr/share/elasticsearch     #意思是本机用户共用一定放在这

查看elasticsearch版本

命令 yum list elasticsearch --showduplicates | sort –r

图片#B #S #R #60% #auto
选择版本命令:yum install elasticsearch-7.10.1-1.x86_64       #yum源安装
图片#B #S #R #60% #auto

3.2安装Logstash

搭建Logstash

3.2.1.先配置yum源

导入GPG key           #官方签名机制

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch     #下载机制

注意:如果报错,就不用下载了,前面已经下载一次了,如果安装失败,重新下载一次
如果还是报错

解决方案:

wget https://packages.elastic.co/GPG-KEY-elasticsearch --no-check-certificate     #查找相应的GPG密钥,并导入到RPM
rpm --import GPG-KEY-elasticsearch       #利用RPM下载密钥

3.2.2.新建repo文件

vim /etc/yum.repos.d/logstash.repo
[logstash-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

图片#B #S #R #60% #auto

3.2.3.安装logstash

查看版本命令:

yum list logstash ndash;showduplicates | sort -r

图片#B #S #R #60% #auto

选择版本命令:

yum install logstash-7.10.1-1.x86_64

图片#B #S #R #60% #auto

3.2.4.测试加启动

需要持续的启动

/usr/share/logstash/bin/logstash -e 'input { stdin { } } output {stdout {} }'   #测试logstash

图片#B #S #R #60% #auto
看看服务是否启动

ps aux | grep logstash

图片#B #S #R #60% #auto

3.3安装Kibana

导入GPG Key命令:

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

如果失败,就将网站链接在浏览器上输入一遍,然后会自动弹出对话框,然后点击保存文件,
在命令行内再次输入

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

3.3.1.新建repo文件:

vim  /etc/yum.repos.d/kibana.repo
[kibana-7.x]
name=Kibana repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

图片#B #S #R #60% #auto

3.3.2安装kibana

kibana 版本查看:

yum list kibana --showduplicates | sort –r

图片#B #S #R #60% #auto
安装kibana

yum -y  install kibana 

4、服务配置

4.1 elasticsearch修改配置文件

配置自动启动

chkconfig --add elasticsearch

指定数据文件路径

mkdir -p /data/elasticsearch/lib

指定日志文件路径

mkdir -p /data/elasticsearch/log

添加目录以及子目录权限,可以让任何数据和日志文件都能收集到

chmod 777 -R /data/elasticsearch 

修改elasticsearch配置文件

vim /etc/elasticsearch/elasticsearch.yml
path.data: /data/elasticsearch/lib               #指定数据路径
path.logs: /data/elasticsearch/log              #指定日志文件路径
network.host: 0.0.0.0                                 #打开连接端口,允许所有

图片#B #S #R #60% #auto
修改配置文件

vim /etc/security/limits.con

设置连接次数

* soft nofile 65536
* hard nofile 65536          #放在文件最后

图片#B #S #R #60% #auto
修改配置文件

vim  /etc/elasticsearch/jvm.options

设置内存大小配置文件

-Xms8g
-Xmx8g                #需要根据自己虚拟机的配置修改,内存的大小

图片#B #S #R #60% #auto

4.2 logstash修改配置文件

 创建日志收集规则

vim /root/file.conf
input {    
    file {
        path => "/var/log/messages"
        type => "system"
        start_position => "beginning"
         }
}                               #输入规则
output {
    elasticsearch {
        hosts => ["xxx.xxx.xxx.xxx:9200"]
        index => "system-%{+YYYY.MM.dd}"
        }
    }                             #输出规则

图片#B #S #R #60% #auto

4.3 kibana修改配置文件

vim /etc/kibana/kibana.yml
server.port: 5601             #打开kibana端口 
server.host: "0.0.0.0"              #可以收集所有网段的ip  
elasticsearch.hosts: ["http://localhost:9200"]           #打开节点端口  
i18n.locale: "zh-CN" #最后一行汉化                #可以支持中文,当然了,英语好的不用修改

5、启动配置

5.1命令启动

启动服务service elasticsearch

service elasticsearch start

启动服务service logstash

/usr/share/logstash/bin/logstash -f /etc/logstash/con.d/*.conf

/usr/share/logstash/bin/logstash -f / etc/logstash/con.d/* &              #后台登录

启动服务service kibana

命令:/usr/share/kibana/bin/kibana             #启动服务
命令:systemctl restart kibana                    #持续开启服务

5.2配置开机启停文件

6、服务验证

6.1验证端口或者进程

查看端口:

netstat -anpo | grep 9200

查看端口:

netstat -anpo | grep 5601

127.0.0.1:9200
127.0.0.1:5601

7、服务卸载

yum remove elasticsearch
yum remove logstash
yum remove kibana

相关文章

neo4j部署手册
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
DataX和DataX-WEB 安装步骤
DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、 MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。
K8S集群搭建手册(集群版)
kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
Apollo部署手册
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

评论

快捷导航

把好文章收藏到微信

打开微信,扫码查看

关闭

还没有账号?立即注册