如何在CentOS 7上安装Elasticsearch,Logstash和Kibana

如何在CentOS 7上安装Elasticsearch,Logstash和Kibana,第1张

您的ELK服务器将需要的CPU,RAM和存储量取决于您要收集的日志的卷。在本教程中,我们将使用具有以下规格的VPS用于我们的ELK服务器:

OS: CentOS 7

RAM: 4GB

CPU: 2

注:根据自己的服务器资源分配各个节点的资源

安装 Java 8

Elasticsearch和Logstash需要Java,所以我们现在就安装它。我们将安装最新版本的Oracle Java 8,因为这是Elasticsearch推荐的版本。

注:建议本地下载完最新版的JDK,然后上传到服务器的/usr/local/src目录

# JDK下载地址:

http://www.oracle.com/technetwork/java/javase/downloads

123123

然后使用此yum命令安装RPM(如果您下载了不同的版本,请在此处替换文件名):

yum -y localinstall jdk-8u111-linux-x64.rpm

# or

rpm -ivh jdk-8u111-linux-x64.rpm123123

现在Java应该安装在/usr/java/jdk1.8.0_111/jre/bin/java,并从/usr/bin/java 链接。

安装 Elasticsearch

Elasticsearch可以通过添加Elastic的软件包仓库与软件包管理器一起安装。

运行以下命令将Elasticsearch公共GPG密钥导入rpm:

# https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.html

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

在基于RedHat的发行版的/etc/yum.repos.d/目录中创建一个名为elasticsearch.repo的文件,其中包括:

echo '[elasticsearch-5.x]

name=Elasticsearch repository for 5.x packages

baseurl=https://artifacts.elastic.co/packages/5.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md

' | sudo tee /etc/yum.repos.d/elasticsearch.repo123456789123456789

Elasticsearch 源创建完成之后,通过makecache查看源是否可用,然后通过yum安装Elasticsearch :

yum makecache

yum install elasticsearch -y1212

要将Elasticsearch配置为在系统引导时自动启动,请运行以下命令:

sudo /bin/systemctl daemon-reload

sudo /bin/systemctl enable elasticsearch.service1212

Elasticsearch可以按如下方式启动和停止:

sudo systemctl start elasticsearch.service

sudo systemctl stop elasticsearch.service1212

这些命令不会提供有关Elasticsearch是否已成功启动的反馈。相反,此信息将写入位于/ var / log / elasticsearch /中的日志文件中。

默认情况下,Elasticsearch服务不会记录systemd日志中的信息。要启用journalctl日志记录,必须从elasticsearch中的ExecStart命令行中删除–quiet选项。服务文件。

# 注释24行的 --quiet \

vim /etc/systemd/system/multi-user.target.wants/elasticsearch.service1212

当启用systemd日志记录时,使用journalctl命令可以获得日志记录信息:

使用tail查看journal:

sudo journalctl -f11

要列出elasticsearch服务的日记帐分录:

sudo journalctl --unit elasticsearch11

要从给定时间开始列出elasticsearch服务的日记帐分录:

sudo journalctl --unit elasticsearch --since "2017-1-4 10:17:16"

# since 表示指定时间之前的记录123123

使用man journalctl 查看journalctl 更多使用方法

检查Elasticsearch是否正在运行

您可以通过向localhost上的端口9200发送HTTP请求来测试Elasticsearch节点是否正在运行:

curl -XGET 'localhost:9200/?pretty'

1212

我们能得到下面这样的回显:

{

"name" : "De-LRNO",

"cluster_name" : "elasticsearch",

"cluster_uuid" : "DeJzplWhQQK5uGitXr8jjA",

"version" : {

"number" : "5.1.1",

"build_hash" : "5395e21",

"build_date" : "2016-12-06T12:36:15.409Z",

"build_snapshot" : false,

"lucene_version" : "6.3.0"

},

"tagline" : "You Know, for Search"

}1234567891011121312345678910111213

配置 Elasticsearch

Elasticsearch 从默认的/etc/elasticsearch/elasticsearch.yml加载配置文件,

配置文件的格式考:

https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html

[root@linuxprobe ~]# egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.yml

[root@linuxprobe ~]# egrep -v "^#|^$" /etc/elasticsearch/elasticsearch.yml

node.name: node-1

path.data: /var/lib/elasticsearch

path.logs: /var/log/elasticsearch

network.host: 10.1.1.53 # 默认localhost,自定义为ip

http.port: 920012345671234567

RPM还具有系统配置文件(/etc/sysconfig/elasticsearch),允许您设置以下参数:

[root@linuxprobe elasticsearch]# egrep -v "^#|^$" /etc/sysconfig/elasticsearch

ES_HOME=/usr/share/elasticsearch

JAVA_HOME=/usr/java/jdk1.8.0_111

CONF_DIR=/etc/elasticsearch

DATA_DIR=/var/lib/elasticsearch

LOG_DIR=/var/log/elasticsearch

PID_DIR=/var/run/elasticsearch12345671234567

日志配置

Elasticsearch使用Log4j 2进行日志记录。 Log4j 2可以使用log4j2配置。属性文件。 Elasticsearch公开单个属性$ {sys:es。日志},可以在配置文件中引用以确定日志文件的位置这将在运行时解析为Elasticsearch日志文件的前缀。

例如,如果您的日志目录是/var/log/elasticsearch并且您的集群名为production,那么$ {sys:es。 logs}将解析为/var/log/elasticsearch/production。

默认日志配置存在:/etc/elasticsearch/log4j2.properties

安装 Kibana

Kibana的RPM可以从ELK官网或从RPM存储库下载。它可用于在任何基于RPM的系统(如OpenSuSE,SLES,Centos,Red Hat和Oracle Enterprise)上安装Kibana。

导入Elastic PGP Key

我们使用d性签名密钥(PGP密钥D88E42B4,可从https://pgp.mit.edu)签名所有的包,指纹:

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

创建kibana源

echo '[kibana-5.x]

name=Kibana repository for 5.x packages

baseurl=https://artifacts.elastic.co/packages/5.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md

' | sudo tee /etc/yum.repos.d/kibana.repo123456789123456789

kibana源创建成功之后,makecache后使用yum安装kibana:

yum makecache &&yum install kibana -y11

使用systemd运行Kibana

要将Kibana配置为在系统引导时自动启动,请运行以下命令:

sudo /bin/systemctl daemon-reload

sudo /bin/systemctl enable kibana.service1212

Kibana可以如下启动和停止

sudo systemctl start kibana.service

sudo systemctl stop kibana.service1212

配置Kibana

Kibana默认从/etc/kibana/kibana.yml文件加载其配置。

参考:https://www.elastic.co/guide/en/kibana/current/settings.html

注意:本实验教程把localhost都改成服务器IP,如果不更改localhost,需要设置反向代理才能访问到kibana。

在同一服务器上安装一个Nginx反向代理,以允许外部访问。

安装nginx

配置Kibana在localhost上监听,必须设置一个反向代理,允许外部访问它。本文使用Nginx来实现发向代理。

创建nginx官方源来安装nginx

# https://www.nginx.com/resources/wiki/start/topics/tutorials/install/

echo '[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=0

enabled=1

' | sudo tee /etc/yum.repos.d/nginx.repo1234567812345678

使用yum安装nginx和httpd-tools

yum install nginx httpd-tools -y11

使用htpasswd创建一个名为“kibanaadmin”的管理员用户(可以使用其他名称),该用户可以访问Kibana Web界面:

[root@linuxprobe ~]# htpasswd -c /etc/nginx/htpasswd.users kibanaadmin

New password: # 自定义

Re-type new password:

Adding password for user kibanaadmin12341234

使用vim配置nginx配置文件

[root@linuxprobe ~]# egrep -v "#|^$" /etc/nginx/conf.d/kibana.conf

server {

listen 80

server_name kibana.aniu.co

access_log /var/log/nginx/kibana.aniu.co.access.log main

error_log /var/log/nginx/kibana.aniu.co.access.log

auth_basic "Restricted Access"

auth_basic_user_file /etc/nginx/htpasswd.users

location / {

proxy_pass http://localhost:5601

proxy_http_version 1.1

proxy_set_header Upgrade $http_upgrade

proxy_set_header Connection 'upgrade'

proxy_set_header Host $host

proxy_cache_bypass $http_upgrade

}

}12345678910111213141516171234567891011121314151617

1.进入 Oracle 官方网站 下载合适的 JDK 版本,准备安装

2.创建jdk安装目录:

mkdir /usr/local/java

把下载的文件 jdk-8u151-linux-x64.tar.gz 拷贝在/usr/local/java目录下

3.解压jdk包:

tar -zxvf jdk-8u151-linux-x64.tar.gz

4.修改 /etc/profile

vim /etc/profile

在 profile 文件中添加如下内容并保存:

export JAVA_HOME=/usr/local/java/jdk

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

执行命令使配置生效:

source /etc/profile

5.测试jdk是否安装成功:java -version

结果如下表示安装成功!

[root@iZm5ef9dh7rrcbptrvly9bZ local]# java -version

java version "1.8.0_151"

Java(TM) SE Runtime Environment (build 1.8.0_151-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

系统版本:Ubuntu 16.04

JDK版本:jdk1.8.0_121

1.官网下载JDK文件jdk-8u121-linux-x64.tar.gz

我这里下的是最新版,其他版本也可以

2.创建一个目录作为JDK的安装目录,我的目录为 /java

sudo mkdir /java

3.移动文件到/java目录下

sudo mv jdk-8u121-linux-x64.tar.gz /java

4.解压文件

tar -zxvf jdk-8u121-linux-x64.tar.gz

5.配置环境变量

sudo gedit /etc/environment

末尾加入以下配置(JAVA_HOME 后的路径就是jdk的文件位置)

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin"

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export JAVA_HOME=/java/jdk1.8.0_121

修改完成之后保存关闭,并输入以下命令使环境变量立即生效

source /etc/environment

6.输入java -version,显示JDK版本说明恭喜你,环境变量配置正确

7.但还没结束,以前按照其他人写的文章发现每次重启后就用不了了,所以还需要配置所有用户的环境变量

sudo gedit /etc/profile

在文件的最后添加以下内容:

#set Java environment

export JAVA_HOME=/dengyang/jdk1.8.0_56

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

8.同样,需要使用命令使环境变量立即生效

source /etc/profile

9.重启电脑,能正常进入系统,且java -version命令有效


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/9024638.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-24
下一篇2023-04-24

发表评论

登录后才能评论

评论列表(0条)

    保存