欢迎来到李先生的博客

深山的鹿,不知归处;万般皆苦,只可自渡。
扩大
缩小

单机安装EFK(一)

 

环境信息

 
系统:AWS Centos7
IP:172.29.0.159
 
版本信息:

 

前话

去年下半年邻居介绍了一当兵的对象,当时是用生命拒绝的,然后过年回去居然鬼使神差的在一起了?过完年来,已经莫名失联十多天了,毕竟刚开始传说中的热恋就分开,心里难受!!!每天猜测这人是干嘛去了,患得患失,对于我这种一分钟不回复我消息我都觉得对方在出轨(这是被劈腿后遗症,越来越严重)。。。  这跟这篇博文有什么关系呢,没关系!

 
做运维也有两年余载,一直只知道ELK,从未去用过和研究过,现在公司有用到它,迫在眉睫需要学习他。在我的运维知识体系中,感觉所有的东西都只是入个门,没有系统的学习,没有深层次的去研究。以前一直是感觉有很多东西要学Docker、K8s、Python、微服务......,今天看一点这个明天看一点那个,到头来什么都还是原点。学这个ELK的时候本来想只是搭建完知道用然后就可以了,但是这真的是浪费时间,学习东西还是得系统的学习,你不系统的学,下次又是这个步骤,你要是系统的学习完,下次就是查漏补缺了,直接涨经验的时候了。不要贪心嘛,不要给自己定的目标太高了,不要想着今天就把他全部看完,全部看懂,一点一点来,不要急,努力和那XXX一样,要持久。
 
 
简单的了解一下EFK三个工具是干啥的?(不要问我为什么喜欢用绿色,以毒攻毒,治疗自己)
 
Elasticsearch:Elasticsearch是一个开源的高扩展全文搜索和分析引擎。它可以存储、搜索、快速的和实时的分析大量数据。他通常用作底层技术或者底层引擎,为具有复杂搜索特性和需求的应用程序提供支持。
 
Kibana:Kibana是设计用于Elasticsearch的一个开源和可视化的工具。你可以用Kibana搜索、查看和交互存在Elasticsearch索引中的数据。你可以执行数据分析和通过图表、表格、地图查看数据。
 
Filebeat:是一个轻量级的收集日志和传输日志的工具(一直以为Filebeat是存储数据,并不是的他只是做一个收集传输功能);Filebeat安装在每一个你想要收集日志的服务器上,相当于客户端。Filebeat监控你指定的日志文件或者路径,收集日志事件向Elasticsearch或者Logstach进行索引。
 
我无数次看ELK的博文的时候,开头都是看到上面这个介绍,看到就有心理抵触了,这里是我完成后面的实际操作步骤后,根据官方文档总结的,所以可以跳过,先用起来,再看他具体是干什么的,再看他的高级用法。
 
 

一、安装Elasticsearch

 

1、关闭防火墙

 
yum -y install firewalld
yum -y install iptables-services

systemctl stop firewalld
systemctl stop iptables

systemctl disable firewalld.service
systemctl disable iptables.service

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

 

2、JDK环境的配置Elasticsearch要求至少Java 8,推荐使用Oracle JDK version 1.8.0_131)
 
1)下载解压 
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/local
mv /usr/local/jdk1.8.0_131  /usr/local/java

 

2)vim /etc/profile 

export JAVA_HOME=/usr/local/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:{JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

 

使其马上生效: 
source /etc/profile

 

测试是否加入环境变量:
[root@rilo ~]# echo $PATH
/usr/local/java/bin:/usr/local/java/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

 

[root@ip-172-29-0-159 ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

  

3 、elasticsearch安装
 
1)下载、安装、启动elasticsearch
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz

tar -xvf elasticsearch-6.6.0.tar.gz

cd elasticsearch-6.6.0/bin

./elasticsearch

 

注一:
 
启动的时候会报错,是因为不能用root账号启动elasticsearch,解决办法就是先创建一个账号,然后给elasticsearch文件夹授权,切换到创建的账号启动
useradd ela
chown -R ela.ela elasticsearch-6.6.0
nohup ./elasticsearch &

 

 
 
注二:
 
启动的时候不一会儿进程会挂掉,查看日志发现如下:(这是elasticsearch的启动用户拥有的内存太小)
 
解决办法:
 
vim /etc/sysctl.conf  添加这一行
vm.max_map_count = 262144

 

并使其生效:
sysctl -p

 

4、访问
 
默认端口为:9200(可以通过配置文件修改);因为我需要外网访问,所以修改配置文件 vim config/elasticsearch.yml
network.host: 0.0.0.0

 

重启服务后,访问:http://13.250.58.192:9200/

 
 
 
 

二、安装Kibana

 
 
1、下载安装
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.6.0-linux-x86_64.tar.gz
tar -zxvf kibana-6.6.0-linux-x86_64.tar.gz
cd kibana-6.6.0-linux-x86_64

 

2、启动
nohup ./bin/kibana &

  

3、查看Kibana进程

注:使用ps -ef | grep kibana是查不到的
 
[root@ip-172-29-0-159 ~]# ps -ef |grep node
root     21374 19694  0 02:27 pts/0    00:01:00 ./../node/bin/node --no-warnings ./../src/cli
root     21817 19694  0 05:57 pts/0    00:00:00 grep --color=auto node

 

或者根据netstat根据对应的端口查看到进程号
[root@ip-172-29-0-159 ~]# netstat -anltp |grep 5601
tcp        0      0 127.0.0.1:5601          0.0.0.0:*               LISTEN      21374/./../node/bin 

 

4、访问kibana
 
默认情况下是只能 http://127.0.0.1:5601
 
外网访问的话,需修改配置文件 vim config/kibana.yml;
server.host: "0.0.0.0"

 

重启kibana后,就可以在浏览器访问,记得把安全组的端口打开(我的这里测试了很久都访问不到,后来发现是自己打开了翻墙)
 
 
 
 
注一当出现这个问题的时候,我的测试是因为要先安装elasticsearch,并且要是通的
 
 
 
 
 

三、安装FileBeats

 
1、下载安装 
 
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.6.0-linux-x86_64.tar.gz
tar xzvf filebeat-6.6.0-linux-x86_64.tar.gz

 

2、修改配置文件  vim filebeat.yml 
 
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log
setup.kibana:
    host: "localhost:5601"
output.elasticsearch:
  hosts: ["localhost:9200"]

 

3、启动
 
nohup ./filebeat &

 

 
 

四、查看

 
这里如果没有显示出任何的数据,那么把时间的范围扩大一点
 
 
 

posted on 2019-02-20 18:21  Captain_Li  阅读(1160)  评论(5编辑  收藏

导航