ELK环境搭建,手把手教程

Posted 凌晨两点二十五

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELK环境搭建,手把手教程相关的知识,希望对你有一定的参考价值。

ELK基础介绍logstash负责收集日志、elasticsearch负责存储日志、kibana负责展示日志大屏

1.基础环境安装

2.elasticsearch安装

3.logstash安装

4.kibana安装

 

 

 

1.基础环境准备两台服务器ELK-master(192.168.77.139)、ELK-slave(192.168.77.138)

1.1环境配置:ELK-master、ELK-slave如下配置,两台都需要配置

关闭防火墙:systemctl stop firewalld

关闭selinux:setenforce 0

 

1.2时间一致配置:

yum install -y ntpdate

/usr/sbin/ntpdate ntp1.aliyun.com

1.3配置DNS解析:

vim /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.77.138 ELK-slave

192.168.77.139 ELK-master

 

1.4测试DNS解析成功:ELK-slave去ping ELK-master

 

 

 

 

2.Elasticsearch部署:ELK-slave和ELK-master均需配置,负责存储logstash收集过来的日志,基于索引的存储方式,便于检索。

 

2.1下载安装GPG key:

 

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

 

2.2.添加yum仓库:

vim /etc/yum.repos.d/elk.repo

[elasticsearch-2.x]

name=Elasticsearch repository for 2.x packages

baseurl=http://packages.elastic.co/elasticsearch/2.x/centos

gpgcheck=1

gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch

enabled=1

 

2.3.安装elasticsearch:

yum install -y elasticsearch redis nginx java

 

2.4.测试java环境是否成功

java -version

 

2.5.集群配置

elk-master配置:

mkdir -p /data/es-data #自定义数据存放位置

chown -R elasticsearch.elasticsearch /data/  



vim /etc/elasticsearch/elasticsearch.yml #修改配置文件,加上以下内容,注意冒号后面有空格

cluster.name: ES-cluster    #设置es集群的名称

node.name: ELK-master       #节点名称,建议和主机名一致

path.data: /data/es-data    #文件存放路径

path.logs: /var/log/elasticsearch     #日志存放路径

bootstrap.mlockall: true              #锁住内存,不被使用到交换分区去(内存不足时,休眠程序内存的信息会交换到交换分区)

network.host: 0.0.0.0                 #网络设置,可以通过127.0.0.1和本机ip访问

http.port: 9200                       #端口号

discovery.zen.ping.multicast.enabled: false    #关闭组播

discover.zen.ping.unicast.hosts: ["192.168.77.138","192.168.77.139"]   #开启单播,这里分别是slave和master的ip



启动服务:

systemctl start elasticsearch      #开启

systemctl enable elasticsearch     #开机自启

systemctl status elasticsearch     #查看状态

测试:

浏览器中输入http://192.168.77.139:9200/ 

 

或者命令行测试:

curl 192.168.77.139:9200

 

elk-slave配置:

mkdir -p /data/es-data #自定义数据存放位置

chown -R elasticsearch.elasticsearch /data/

vim /etc/elasticsearch/elasticsearch.yml #修改配置文件,加上以下内容,注意冒号后面有空格

cluster.name: ES-cluster                 #设置集群名称

node.name: ELK-slave                     #设置节点名称

path.data: /data/es-data                 #指定数据存放路径

path.logs: /var/log/elasticsearch        #日志存放路径

bootstrap.mlockall: true                 #锁定内存

network.host: 0.0.0.0                    #设置网路

http.port: 9200                          #端口

discovery.zen.ping.multicast.enabled: false   #关闭组播

discover.zen.ping.unicast.hosts: ["192.168.77.138","192.168.77.139"]    #设置集群ip

启动服务:

systemctl start elasticsearch          #开启

systemctl enable elasticsearch         #开机自启

systemctl status elasticsearch         #查看状态

测试:

curl 192.168.77.138:9200

 

 

 

2.6插件安装:两台服务器都需要安装Head和Kopf插件

head安装:

/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head  #通过web可以查看es集群

chown -R elasticsearch.elasticsearch /usr/share/elasticsearch/plugins/

Kopf安装:

/usr/share/elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf #通过web可以管理和监控es集群

测试:

Head:http://192.168.77.139:9200/_plugin/head/

Kopf:http://192.168.77.139:9200/_plugin/kopf/

 

 

 

 

3.logstash安装:负责日志收集,安装在需要收集日志的服务器上

 

3.1下载gpg key:

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

 

3.2配置yum仓库:

[logstash-2.1]

name=Logstash repository for 2.1.x packages

baseurl=http://packages.elastic.co/logstash/2.1/centos

gpgcheck=1

gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch

enabled=1

 

3.3安装logstash

yum install -y logstash

测试logstash:

/opt/logstash/bin/logstash -e 'input{stdin{}} output{stdout{} elasticsearch { hosts => ["192.168.77.138:9200","192.168.77.139:9200"] }}' #input和output可以理解为日志从哪里来到哪里去;stdin为标准输入,即键盘输入的内容;stdout为标准输出,输出到屏幕,elasticsearch放在output表示输出到es集群中,hosts是elasticsearch的ip地址。

这里输入hello world!

浏览器输入:http://192.168.77.139:9200/_plugin/head 可以查看到输入到es的日志信息

 

 

3.4使用logstash收集系统日志:

vim /etc/logstash/conf.d/message.conf

input{

file {                              #日志从文件来

path => "/var/log/messages"         #文件路径

type => "system"                    #标签

start_position => "beginning"       #开始位置

}

}

output{

elasticsearch {

hosts => ["192.168.77.138:9200","192.168.77.139:9200"]      #输出到es集群

index => "system-%{+YYYY.MM.dd}"                            #索引格式

}

}



/opt/logstash/bin/logstash -f /etc/logstash/conf.d/message.conf    #执行命令

效果如下:数据浏览->system   

 

kibana安装:负责展示es中的日志信息,只需填写需要查看的es的ip即可,所以在哪台机器上都行,只要能和es通信,这里安装在master上192.168.77.139

cd /usr/local/src     #安装路径

Wget https://download.elastic.co/kibana/kibana/kibana-4.3.1-linux-x64.tar.gz #下载kibana

tar xf kibana-4.3.1-linux-x64.tar.gz  #解压

ln -s kibana-4.3.1-linux-x64 kibana   #设置软连接,kibana相当于kibana-4.3.1-linux-x64的快捷方式

 

修改kibana配置文件/usr/local/src/kibana/config/kibana.yml (就是在解压的kibana文件夹里)

vim kibana/config/kibana.yml

server.port: 5601             #端口号

server.host: "0.0.0.0"        #网络设置

elasticsearch.url: "http://192.168.77.139:9200"    #展示哪里的日志文件

kibana.index: ".kibana"                             #设置索引格式

 

启动kibana :

/usr/local/src/kibana/bin/kibana

查看kibana的展示结果:http://192.168.77.139:5601

Settings->index name->create #这里的index name需要写你想查看的日志的相关信息,本次实验是system*,和/etc/logstash/conf.d/message.conf中的type对应

discover->system->today

以上就是kibana展示的日志信息结果

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于ELK环境搭建,手把手教程的主要内容,如果未能解决你的问题,请参考以下文章

实用教程手把手教程,一文学会使用Sublime搭建轻量级的C语言gcc编译运行环境和Python运行环境(含所有配置流程及脚本)

ActiveReports 9实战教程: 手把手搭建好开发环境Visual Studio 2013 社区版

stm8用什么软件编程?stm8开发环境搭建手把手教程!

手把手从零开始搭建k8s集群超详细教程

手把手从零开始搭建k8s集群超详细教程

教程手把手教你如何搭建Hadoop单机伪集群