RHEL7搭建部署ELK Stack实时日志处理

ELK Stack是Elasticsearch,Logstash,Kibana,这三个开源软件的组合。在实时数据检索和分析场合,三者通常是配合共用.属于Elastic.co公司

  • 可视化 Kibana
  • 日志存储+搜索 Elasticsearch
  • 日志收集 Logstash

一.ElasticSearch

ElasticSearch介绍:

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

安装部署Elasticsearch

server1安装部署elasticsearch
server1安装部署elasticsearch教程参见之前博客:
https://blog.csdn.net/chaos_oper/article/details/92853719
1.server1开启elasticsearch

[root@server1 ~]# systemctl start elasticsearch.service

在这里插入图片描述
2.修改文件elasticsearch.yml

[root@server1 ~]# vim /etc/elasticsearch/elasticsearch.yml
 17 cluster.name: my-es
 23 node.name: server1
 43 bootstrap.memory_lock: true
 55 network.host: 172.25.13.1
 59 http.port: 9200
 68 discovery.zen.ping.unicast.hosts: ["server1", "server2","server3"]

3.重新启动 elasticsearch

[root@server1 ~]# systemctl restart elasticsearch.service

4.将安装包发送到server2和server3上
在这里插入图片描述
5.在server2和server3上安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.发送配置好的limits.conf到server2和server3
在这里插入图片描述
配置Server2(server3同样做相同的操作
1.内存锁定

[root@server3 ~]# vim /usr/lib/systemd/system/elasticsearch.service

在这里插入图片描述
2.swap分区卸载

[root@server2 ~]# swapoff -a
[root@server2 ~]# vim /etc/fstab 

在这里插入图片描述
3.修改elasticsearch.yml

[root@server2 ~]# vim /etc/elasticsearch/elasticsearch.yml 
 17 cluster.name: my-es
 23 node.name: server2
 43 bootstrap.memory_lock: true
 55 network.host: 172.25.13.2
 59 http.port: 9200
 68 discovery.zen.ping.unicast.hosts: ["server1", "server2","server3"]

3.启动elasticsearch服务

[root@server2 ~]# systemctl daemon-reload
[root@server2 ~]# systemctl start elasticsearch.service 

4.查看端口
在这里插入图片描述
5.浏览器访问172.25.13.2:9200
在这里插入图片描述
安装配置elasticsearch-head

ElasticSearch Head是集群管理、数据可视化、增删查改、查询语句可视化工具。
elasticsearch-head是一个界面化的集群操作和管理工具,可以对集群进行傻瓜式操作。

1.下载所需要的安装包

nodejs-9.11.2-1nodesource.x86_64.rpm
elasticsearch-head-master.zip
phantomjs-2.1.1-linux-x86_64.tar.bz2

2.安装nodejs-9.11.2-1nodesource.x86_64.rpm

[root@server1 ~]# rpm -ivh nodejs-9.11.2-1nodesource.x86_64.rpm 

在这里插入图片描述
3.server1实现可以上网
在这里插入图片描述
4.nmp镜像源管理
1)查看npm源地址
在这里插入图片描述
2)修改registry地址,比如修改为淘宝源镜像
在这里插入图片描述
5.解压elasticsearch-head-master.zip

[root@server1 ~]# yum install -y unzip
[root@server1 ~]# unzip elasticsearch-head-master.zip 

6.解压phantomjs-2.1.1-linux-x86_64.tar.bz2

[root@server1 ~]# yum install -y bzip2
[root@server1 ~]# tar jxf phantomjs-2.1.1-linux-x86_64.tar.bz2

7.将phantomjs复制到/usr/local/bin

[root@server1 ~]# cd phantomjs-2.1.1-linux-x86_64/bin/
[root@server1 bin]# ls
phantomjs
[root@server1 bin]# cp phantomjs /usr/local/bin/
[root@server1 bin]# cd /usr/local/bin/
[root@server1 bin]# ll
total 66340
-rwxr-xr-x 1 root root 67932064 Jun 27 20:32 phantomjs

8.安装

[root@server1 ~]# cd elasticsearch-head-master/
[root@server1 elasticsearch-head-master]# npm install

在这里插入图片描述
9.修改app.js
[root@server1 elasticsearch-head-master]# vim _site/app.js
在这里插入图片描述
10.开启
[root@server1 elasticsearch-head-master]# npm run start &
11.浏览器访问172.25.13.1:9100
在这里插入图片描述
12.修改elasticsearch.yml

[root@server1 elasticsearch]# vim elasticsearch.yml 
[root@server1 elasticsearch]# systemctl restart elasticsearch.service 

在这里插入图片描述
13.浏览器访问172.25.13.1:9100
在这里插入图片描述
部署elasticsearch

主机名 功能和作用
server1 master
server2 data
server3 data

1.配置server1

[root@server1 elasticsearch]# vim elasticsearch.yml 

在这里插入图片描述

[root@server1 elasticsearch]# systemctl restart elasticsearch.service

2.配置server2

[root@server2 ~]# vim /etc/elasticsearch/elasticsearch.yml 

在这里插入图片描述

[root@server2 ~]# systemctl restart elasticsearch.service 

3.配置server3

[root@server3 ~]# vim /etc/elasticsearch/elasticsearch.yml

在这里插入图片描述

[root@server3 ~]# systemctl restart elasticsearch.service

二.Logstash

Logstash介绍

LogStash由JRuby语言编写,基于消息(message-based)的简单架构,并运行在Java虚拟机(JVM)上。不同于分离的代理端(agent)或主机端(server),LogStash可配置单一的代理端(agent)与其它开源软件结合,以实现不同的功能。

安装部署logstash

1.安装logstash-6.6.1.rpm

[root@server2 ~]# rpm -ivh logstash-6.6.1.rpm 
[root@server2 ~]# ll /usr/share/logstash/bin/system-install 
-rwxr-xr-x 1 logstash logstash 3547 Feb 14 01:58 /usr/share/logstash/bin/system-install
[root@server2 ~]# yum install -y ruby

2.查看

[root@server2 ~]# rpm -qa | grep logstash
logstash-6.6.1-1.noarch

3.运行logstash管道来测试安装
在这里插入图片描述
4.解决上述问题方法将解除内存锁定和swap分区
5.重新运行logstash管道测试安装

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

在这里插入图片描述
6.每次在终端输入命令太麻烦了,写成配置文件的形式

[root@server2 ~]# cd /etc/logstash/conf.d/
[root@server2 conf.d]# vim es.conf
input {
        stdin {}
}

output {
        stdout {}

        elasticsearch {
                hosts => ["172.25.13.1:9200"]
                index => "logstash-%{+YYYY.MM.dd}"
        }

}

7.用配置文件的形式测试

/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/es.conf 

在这里插入图片描述
8.浏览器访问172.25.13.1:9100
在这里插入图片描述
12.上传日志
1.)修改文件es.conf

[root@server2 conf.d]# vim es.conf
input {
        file{
                path => "/var/log/elasticsearch/my-es.log"
                start_position => "beginning"
        }
}

output {
        stdout {}

        elasticsearch {
                hosts => ["172.25.13.1:9200"]
                index => "logstash-%{+YYYY.MM.dd}"
        }

}

2.)上传日志文件

/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/es.conf

3.)查看上传成功
在这里插入图片描述
4)删除日志
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三.kibana

kibana介绍

Kibana是一个开源的分析和可视化平台,旨在与Elasticsearch合作.Kibana提供搜索,查看和存储在Elasticsearch索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表,表格和地图中可视化数据。

kibana配置部署

1.安装
在这里插入图片描述
2.修改kibana配置文件

[root@server1 ~]# cd /etc/kibana/
[root@server1 kibana]# vim kibana.yml 
  2 server.port: 5601
  7 server.host: "172.25.13.1"
 28 elasticsearch.hosts: ["http://172.25.13.1:9200"]
 37 kibana.index: ".kibana"

3.启动kibana

[root@server1 kibana]# systemctl start kibana.service 

4.查看端口号
在这里插入图片描述
5.访问kibana
在这里插入图片描述

发布了108 篇原创文章 · 获赞 127 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/chaos_oper/article/details/94395633