centos7下安装配置elk 7.2.1版本教程

ELK简介

官网地址:https://www.elastic.co/cn/

官网权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

 

ELKElasticsearchLogstashKibana的简称,这三者是核心套件,但并非全部。

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

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

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

部署规划

计划在三台CentOS7机器上部署ELK,其中一台机器作为ELK的服务节点,IP192.168.1.185;另外两台作为客户节点,IP192.168.1.186/187
其中服务节点部署ElasticsearchLogstashKibana三个组件,客户节点部署Logstash
centos7下安装配置elk 7.2.1版本教程_第1张图片

服务节点部署

环境准备

默认root用户下操作,其他用户请在命令前添加sudo

  1. 安装JDK
 

yum -y install java-1.8.0-openjdk

2、关闭防火墙。

 

systemctl stop firewalld
systemctl disable firewalld

或者设置防火墙规则:



 

firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --add-port=9300/tcp --permanent
firewall-cmd --add-port=5601/tcp --permanent
firewall-cmd --reload

3、添加ELK仓库









 

cat > /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=0
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

5、更新yum

 

yum clean all
yum makecache

Elasticsearch

  1. 安装Elasticsearch
    yum install -y elasticsearch

如果yum 下载慢,使用下面安装方法上传完成后,执行安装:
wget –c  https://mirrors.huaweicloud.com/elasticsearch/7.2.1/elasticsearch-7.2.1-x86_64.rpm

rpm -ivh elasticsearch-7.2.1-x86_64.rpm
2、确认Elasticsearch的安装信息
# rpm -qi elasticsearch

Name        : elasticsearch
Epoch       : 0
Version     : 7.2.1
Release     : 1
Architecture: x86_64
Install Date: Thu 11 Jun 2020 10:16:45 AM CST
Group       : Application/Internet
Size        : 535521434
License     : Elastic License
Signature   : RSA/SHA512, Thu 25 Jul 2019 03:39:33 AM CST, Key ID d27d666cd88e42b4
Source RPM  : elasticsearch-7.2.1-1-src.rpm
Build Date  : Thu 25 Jul 2019 02:08:59 AM CST
Build Host  : packer-virtualbox-iso-1559162487
Relocations : /usr 
Packager    : Elasticsearch
Vendor      : Elasticsearch
URL         : https://www.elastic.co/
Summary     : Distributed RESTful search engine built for the cloud
Description :
Reference documentation can be found at
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
and the 'Elasticsearch: The Definitive Guide' book can be found at
https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html

3、启动Elasticsearch并设置开机启动

systemctl daemon-reload
systemctl start elasticsearch
systemctl enable elasticsearch.service


4、查看Elasticsearch运行状态
 

systemctl status elasticsearch
ps -ef | grep elasticsearch
netstat -nlpt

5、尝试请求
# curl localhost:9200

 

{
  "name" : "node-1",
  "cluster_name" : "my-application",
  "cluster_uuid" : "zxkahIszSWahBps7ozbGEg",
  "version" : {
    "number" : "7.2.1",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "fe6cb20",
    "build_date" : "2019-07-24T17:58:29.979462Z",
    "build_snapshot" : false,
    "lucene_version" : "8.0.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

6、设置允许其他机器访问
当前只能响应本机的请求,想要其他机器也能访问的话,那么需要修改elasticsearch的配置。

vim /etc/elasticsearch/elasticsearch.yml,如下修改:









 

# line 17, uncomment
cluster.name: my-application
# line 22, uncomment and change
node.name: node-1
# line 55, uncomment and change
network.host: 0.0.0.0
# line 59, uncomment
http.port: 9200
# line 72, uncomment and change
cluster.initial_master_nodes: ["node-1", "node-2"]

7、重启Elasticsearch



 

systemctl stop elasticsearch
systemctl start elasticsearch
# 启动后稍等一会
netstat -nlpt

如果可以看到:::9200,就可以通过外部浏览器访问Elasticsearch服务了,至此Elasticsearch安装配置完成。

Kibana

1、安装Kibana
yum install -y kibana
同样的,如果下载速度缓慢,那么可以通过浏览器下载 https://mirrors.huaweicloud.com/kibana/7.2.1/kibana-7.2.1-x86_64.rpm ,然后上传到服务节点,上传后执行安装:
rpm -ivh kibana-7.2.1-x86_64.rpm

2、确认Kibana的安装信息
rpm -qi kibana

Name        : kibana
Version     : 7.2.1
Release     : 1
Architecture: x86_64
Install Date: Thu 11 Jun 2020 10:44:13 AM CST
Group       : default
Size        : 557832921
License     : Elastic License
Signature   : RSA/SHA512, Thu 25 Jul 2019 03:42:35 AM CST, Key ID d27d666cd88e42b4
Source RPM  : kibana-7.2.1-1.src.rpm
Build Date  : Thu 25 Jul 2019 02:35:36 AM CST
Build Host  : packer-virtualbox-iso-1559162487
Relocations : / 
Packager    : Kibana Team 
Vendor      : Elasticsearch, Inc.
URL         : https://www.elastic.co
Summary     : Explore and visualize your Elasticsearch data
Description :
Explore and visualize your Elasticsearch data

3、启动Kibana并设置开机启动

 

systemctl start kibana
systemctl enable kibana

4、查看Kibana运行状态


 

systemctl status kibana
ps -ef | grep kibana
netstat -nlpt

5、测试访问
# curl localhost:5601 -L

 

6、设置允许其他机器访问
# vim /etc/kibana/kibana.yml,如下修改:





 

# line 2, uncomment and change
server.port: 5601
# line 7, uncomment and change
server.host: "0.0.0.0"
# line 28, uncomment
elasticsearch.hosts: ["http://localhost:9200"]

7、重启Kibana



 

systemctl stop kibana
systemctl start kibana
# 启动后稍等一会
netstat -nlpt

如果可以看到0.0.0.0:5601,就可以通过外部浏览器访问Kibana服务了,至此Kibana安装配置完成。
centos7下安装配置elk 7.2.1版本教程_第2张图片

Logstash

1、安装Logstash
yum install -y logstash
也可以通过浏览器下载 https://mirrors.huaweicloud.com/logstash/7.2.1/logstash-7.2.1.rpm ,然后上传到服务节点,上传后执行安装:
rpm -ivh logstash-7.2.1.rpm

2、确认Logstash的安装信息
# rpm -qi logstash

Name        : logstash
Epoch       : 1
Version     : 7.2.1
Release     : 1
Architecture: noarch
Install Date: Thu 11 Jun 2020 10:50:36 AM CST
Group       : default
Size        : 299656320
License     : Elastic License
Signature   : RSA/SHA512, Thu 25 Jul 2019 03:43:37 AM CST, Key ID d27d666cd88e42b4
Source RPM  : logstash-7.2.1-1.src.rpm
Build Date  : Thu 25 Jul 2019 03:26:03 AM CST
Build Host  : packer-virtualbox-iso-1559162487
Relocations : / 
Packager    : 
Vendor      : Elasticsearch
URL         : http://www.elasticsearch.org/overview/logstash/
Summary     : An extensible logging pipeline
Description :
An extensible logging pipeline

3、启动Logstash

 

systemctl start logstash

4、查看Logstash运行状态


 

systemctl status logstash
ps -ef | grep logstash
netstat -nlpt

启动成功了,然后呢?怎么使用?

5Logstash hello world

systemctl stop logstash
/usr/share/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }'

输入启动命令后,耐心等待服务启动,直到出现Successfully started Logstash API endpoint。输入“hello world”回车,即可打印出输出。

centos7下安装配置elk 7.2.1版本教程_第3张图片


logstash通过管道来处理数据,标准的管道包含inputfilteroutput。以上命令,指定了一个管道的参数,没有filterinput是控制台标准输入,output是控制台标准输出。

6、管道配置写入文件
在当前用户目录,新建配置文件std.conf,内容为:





 

input {
    stdin { }
}
output {
    stdout {}
}

7、测试配置文件并启动

 

/usr/share/logstash/bin/logstash --path.settings /etc/logstash -f ~/std.conf

8、从文件中读取信息
1)新建/usr/local/test.log文件,内容为:

 

hello logstash!

2)新建test.conf,内容为:













 

input {
    file {
        path => ["/usr/local/test.log"]
        sincedb_path => "/dev/null"
        start_position => "beginning"
    }
}
filter {
}
output {
    stdout {
        codec => rubydebug
    }
}

3)启动Logstash
/usr/share/logstash/bin/logstash --path.settings /etc/logstash -f ~/test.conf
 

9、写入信息到文件
1)修改test.conf为:













 

input {
    file {
        path => ["/usr/local/test.log"]
        sincedb_path => "/dev/null"
        start_position => "beginning"
    }
}
filter {
}
output {
    file {
        path => ["/usr/local/test.log.out"]
    }
}

2)启动Logstash
/usr/share/logstash/bin/logstash --path.settings  -f ~/test.conf
启动后,/usr/local/目录下多了test.log.out文件。

数据传递

Logstash收集到了数据,怎样传递给Elasticsearch显示?怎样传递给Kibana显示?
1、修改test.conf为:













 

input {
    file {
        path => ["/usr/local/test.log"]
        sincedb_path => "/dev/null"
        start_position => "beginning"
    }
}
filter {
}
output {
    elasticsearch {
        hosts => ["http://localhost:9200"]
    }
}

2、启动Logstash
/usr/share/logstash/bin/logstash -f ~/test.conf

3、查看索引
浏览器访问 http://192.168.1.185:9200/_cat/indices?v
 

其中有个索引是logstash的,这就是我们想要查看的数据索引。

4、查看数据
浏览器访问 http://192.168.1.185:9200/logstash-2020.06.11-000001/_search
 
看到了hello logstash!,说明数据已经成功传递到了Elasticsearch。链接后添加?pretty参数,可以进行格式化显示。

5Kibana添加indices
浏览器访问Kibana http://192.168.1.185:5601
 
centos7下安装配置elk 7.2.1版本教程_第4张图片
点击页面上的Logs,---》数据源按钮。

 centos7下安装配置elk 7.2.1版本教程_第5张图片centos7下安装配置elk 7.2.1版本教程_第6张图片

然后填写indices相关信息 , 最后点击Update Source,即可在页面上看到Logstash传递的信息。

centos7下安装配置elk 7.2.1版本教程_第7张图片
  

6、修改test.log
修改test.log为:

 

hello logstash!
the log has been updated.

再次查看Kibana的日志显示,可以看到更新了一条数据。
 centos7下安装配置elk 7.2.1版本教程_第8张图片

 

客户节点部署

环境准备

默认root用户下操作,其他用户请添加sudo

  1. 安装JDK

yum -y install java-1.8.0-openjdk

2、关闭防火墙。

 

systemctl stop firewalld
systemctl disable firewalld

3、添加ELK仓库









 

cat > /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
EOF

4、更新yum

 

yum clean all
yum makecache

Logstash

1、安装Logstash
yum install -y logstash
也可以通过浏览器下载 wget https://mirrors.huaweicloud.com/logstash/7.2.1/logstash-7.2.1.rpm ,然后上传到服务节点,上传后执行安装:
rpm -ivh logstash-7.2.1.rpm

2、确认Logstash的安装信息
rpm -qi logstash
 

3、创建测试文件
新建配置文件test.conf,内容为:













 

input {
    file {
        path => ["/usr/local/test.log"]
        sincedb_path => "/dev/null"
        start_position => "beginning"
    }
}
filter {
}
output {
    elasticsearch {
        hosts => ["http://192.168.1.185:9200"]
    }
}

新建/usr/local/test.log,内容为:

 

this is a log recorded by 186

4、启动logstash

 

/usr/share/logstash/bin/logstash -f ~/test.conf

5、在Kibana查看日志
刷新Kibana,即可看到客户节点的日志。
 centos7下安装配置elk 7.2.1版本教程_第9张图片

 

你可能感兴趣的:(软件教程,系统架构)