一:准备工作

1.准备一台虚拟机

192.168.175.222      elk-node2

2.关闭防火墙以及selinux

命令:systemctl stop firewalld       #关闭firewall防火墙

命令:iptables  -F                        #清除iptables防火墙规则

命令:setenforce 0      #临时有效,重启无效

命令:vim /etc/selinux/config         #selinux的配置文件路径

3.部署java环境

将tar包解压到 /usr/local下 版本为jdk-8u211-linux-x64.tar.gz     #路径为/usr/local/jdk1.8.0_211(解包后自动生成)

命令:wget http://192.168.130.150/jdk/jdk-8u211-linux-x64.tar.gz       #下载需要的安装包(可以自己去下载)

命令:tar xf jdk-8u211-linux-x64.tar.gz -C /usr/local/         #解包到/usr/local,意思是本机用户环境启动

命令:echo "export JAVA_HOME=/usr/local/jdk1.8.0_211" >> /etc/profile.d/jdk8.sh        #在配置文件里声明路径(指定路径)

命令:echo "export CLASS_PATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/jar/tools.jar:\$JAVA_HOME/jre/lib" >> /etc/profile.d/jdk8.sh       #在配置文件里声明Java变量环境

命令:echo "export PATH=\$JAVA_HOME/bin:\$JAVA_HOME/jre/bin:\$PATH" >> /etc/profile.d/jdk8.sh         #在配置文件里声明启动Java变量环境

命令:echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/apr/lib" >> /etc/profile.d/jdk8.sh            #在配置文件里声明启动Java变量环境路径

命令:chmod +x /etc/profile.d/jdk8.sh       #给Java变量环境添加执行权限

命令:source /etc/profile.d/jdk8.sh          #重启环境

命令:java -version            #查看Java变量环境

(注意:上面的命令可以直接做成脚本,不过执行完脚本之后,要重新source一下才可以,因为脚本内的java环境已经重启,本地电脑的环境并没有重启)

现在准备工作已经差不多了,接下来就是搭建elk

二:搭建elk

搭建elasticsearch

1.配置yum源

导入GPG key    #GPG公钥

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch         #检查机制(类似密钥)

命令:yum update curl              #如果报错执行一下这个 刷新yum源

命令:vim /etc/yum.repos.d/elasticsearch.repo        #自定义yum源文件名

[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum         #指定包路径
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch     #检查机制
enabled=1
autorefresh=1
type=rpm-md

安装目录:

命令:mkdir /usr/share/elasticsearch     #意思是本机用户共用一定放在这

命令:yum -y  install elasticsearch         #yum源安装

2.配置文件的修改

命令:chkconfig --add elasticsearch     #配置自动启动

命令:mkdir -p /data/elasticsearch/lib     #指定数据文件路径

命令:mkdir -p /data/elasticsearch/log      #指定日志文件路径

命令:chmod 777 -R /data/elasticsearch     #添加目录以及子目录权限,可以让任何数据和日志文件都能收集到

命令:vim /etc/elasticsearch/elasticsearch.yml           #修改elasticsearch配置文件

path.data: /data/elasticsearch/lib               #指定数据路径

path.logs: /data/elasticsearch/log              #指定日志文件路径

network.host: 0.0.0.0                                 #打开连接端口,允许所有

修改配置文件

命令:vim /etc/security/limits.conf          #设置连接次数

* soft nofile 65536
* hard nofile 65536          #放在文件最后

修改配置文件

命令:vim  /etc/elasticsearch/jvm.options        #设置内存大小配置文件

-Xms8g
-Xmx8g                #需要根据自己虚拟机的配置修改,内存的大小

启动服务service elasticsearch

命令:service elasticsearch start

注意:如果启动失败

请输入命令:tail -F /var/log/messages

which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)

解决办法:

命令:vim /etc/sysconfig/elasticsearch

在配置文件里添加   JAVA_HOME=/usr/local/jdk1.8.0_211   #指定java环境路径

然后再重启服务

命令:service elasticsearch restart       #重启

验证安装:

命令:curl -X GET "localhost:9200/"

看见这些就证明验证成功了

端口配置
iptables -I INPUT -p tcp --dport 9200 -j ACCEPT            #允许端口9200通过,若清空了防火墙,就无需配置
service iptables save
service iptables restart

好了,现在elasticsearch已经搭建完成了,接下来搭建Logstash

三:搭建Logstash

1.先配置yum源

导入GPG key           #官方签名机制

命令:rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch     #下载机制

注意:如果报错,就不用下载了,前面已经下载一次了,如果安装失败,重新下载一次

如果还是报错

解决方案:

命令:wget https://packages.elastic.co/GPG-KEY-elasticsearch --no-check-certificate     #查找相应的GPG密钥,并导入到RPM

命令:rpm --import GPG-KEY-elasticsearch       #利用RPM下载密钥

2.新建repo文件

命令:vim /etc/yum.repos.d/logstash.repo

[logstash-6.x]
name=Elastic repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

3.安装
命令:yum -y install logstash

4.测试 加启动 并且 需要持续的启动

命令:/usr/share/logstash/bin/logstash -e 'input { stdin { } } output {stdout {} }'   #测试logstash

报错:WARNING:Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash.You can specify the path using --path.settings.

Continuing using the defaults             #找不到logstash.yml,它通常位于$LS_HOME/config或/etc/logstash中

报错:Could not find log4j2 configuration at path /usr/share/logstash/cinfig/log4j2.properties. Using default config which logs errors to the console

#在路径/usr/share/logstash/config/log4j2.properties.中找不到log4j2配置文件,无法建立控制台,找到log4j2配置文件放入上面路径即可解决报错

解决办法:

命令:find / -name logstash.yml -type f           #利用find查找logstash.yml文件所在地

命令:find / -name log4j2.properties -type f        #利用find查找log4j2.properties文件所在地

命令:cp -r /etc/logstash/logstash.yml   /usr/share/logstash/config/                  #将配置logstash.yml文件复制到 /usr/share/logstash/config/

命令:cp -r /etc/logstash/log4j2.properties  /usr/share/logstash/config/                 #将配置log4j2.properties文件复制到 /usr/share/logstash/config/

命令:vim /usr/share/logstash/config/logstash.yml

path.data: /data/elasticsearch/lib            #指定文件路径

path.logs: /data/elasticsearch/log           #指定日志文件路径

5.创建日志收集规则

命令:vim /root/file.conf

input {
    file {
      path => "/var/log/messages"
      type => "system"
      start_position => "beginning"
    }
}                               #输入规则

output {
    elasticsearch {
       hosts => ["192.168.1.151:9200"]
       index => "system-%{+YYYY.MM.dd}"
    }
}                             #输出规则

6.按照配置好的收集日志的规则去启动logstash

命令:/usr/share/logstash/bin/logstash -f /root/file.conf

命令:/usr/share/logstash/bin/logstash -f /root/file.conf &              #后台登录

注意:配置文件默认目录配置文件拷贝到这下面(/etc/logstash/conf.d/)执行 systemctl restart logstach 是不行的

只能指定文件启动

输入命令:ps aux | grep logstash看看服务是否启动

好了,接下来就安装kibana

四:安装 Kibana

导入GPG Key
命令:rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

如果失败,就将网站链接在浏览器上输入一遍,然后会自动弹出对话框,然后点击保存文件,

在命令行内再次输入rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch就可以了

1.新建repo文件:

命令:vim  /etc/yum.repos.d/kibana.repo
[kibana-6.x]
name=Kibana repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

2安装
命令:yum -y  install kibana

3.配置
命令:vim /etc/kibana/kibana.yml
   server.port: 5601             #打开kibana端口
   server.host: "0.0.0.0"              #可以收集所有网段的ip
   elasticsearch.hosts: ["http://localhost:9200"]           #打开节点端口
   i18n.locale: "zh-CN" #最后一行汉化                #可以支持中文,当然了,英语好的不用修改

4.启动服务

命令:/usr/share/kibana/bin/kibana             #启动服务

命令:systemctl restart kibana                    #持续开启服务

温馨提示:elasticsearch,logstash,kibana启动服务的时候命令行会一直停在那,不能结束,否则后续步骤不能进行,多开几个界面就行了

或者可以放在后台启动也行,不过个人建议多开几个界面,如果某个服务停了,利于排查故障

5.在浏览器上访问http://192.168.175.100:5601

温馨提示:kibana支持很多可视图插件,如:elasticsearch-head-master,elasticsearch-kopf-master,bigdesk-master(集群插件),根据自己需要安装

添加索引

温馨提示:因为是刚刚搭建完毕,所以里面并没有什么数据,只能通过系统文件建立索引,只是为了演示

温馨提示:kibana的功能很多这里就不一一说明了,最好就是搭建完毕之后,自己随便点点试试,自己摸索摸索,我也在摸索中

总结:。。。。。。。。。。。(此处省略一万字)

我每次搭建的时候都会有一些报错,还次次不一样,上面是我总结的常见报错,如果有其他报错,欢迎留言,多多交流

elk搭建的详细步骤以及说明的更多相关文章

  1. 搭建SSH详细步骤及相关说明

    因为手里已有相关jar,为方便我搭建的是:Struts2.0+Hibernate3.3+Spring3.0,数据库:MySQL 如果想搭建最新的,在官网上下载最新jar即可. 这里会对比MyEclip ...

  2. vue框架搭建的详细步骤(一)

    在这里我们先快速的搭建一个vue的脚手架: (1).在安装vue的环境之前,安装NodeJS环境是必须的.可以使用node -v指令检查,需要保证安装了4.0版本以上的nodeJS环境. 没有安装的话 ...

  3. Hbase 0.98集群搭建的详细步骤

    准备工作 Hbase的搭建是依赖于Hadoop的,Hbase的数据文件实际上存储在HDFS文件系统中,所以我们需要先搭建hadoop环境,之前的博文中已经搭建过了(详见http://www.cnblo ...

  4. 利用docker搭建yii2 详细步骤

    定位镜像 在hub.docker.com 搜索yii2,并且最后定位到 https://hub.docker.com/r/codemix/yii2-base/codemix/yii2-base 然后在 ...

  5. hadoop2.6.4的HA集群搭建超详细步骤

    hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等.最新的hadoop-2.6.4又增加了YARN HA 注意:apache提供的hadoop-2.6.4的安装包是 ...

  6. 搭建zabbix详细步骤

    关闭selinux和防火墙 selinux关闭: 1 命令查看出selinux的状态sestatus -v2 临时关闭 selinuxsetenforce 03 永久关闭selinuxvi /etc/ ...

  7. vue框架搭建的详细步骤之项目结构(二)

    上一篇中简单的创建了一个脚手架,这篇简单的讲一下脚手架的项目结构:     (1).build/ 此目录包含开发服务器和生产webpack构建的实际配置.通常,您不需要触摸这些文件,除非您要自定义We ...

  8. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:SSH框架(Struts2+Spring+Hibernate)搭建整合详细步骤

    在实际项目的开发中,为了充分利用各个框架的优点,通常都会把 Spring 与其他框架整合在一起使用. 整合就是将不同的框架放在一个项目中,共同使用它们的技术,发挥它们的优点,并形成互补.一般而言,在进 ...

  9. 顶 最新简捷实用的JSP动态网站环境搭建详细步骤

    阿里西西小编给您推荐这个最新简捷实用的JSP动态网站环境搭建详细步骤讲解,这里还有关于JSP 动态网站 环境 搭建 的教程,希望您能够喜欢并学到东西提升自己的知识与技能,下面是内容详细阅读: 最新简捷 ...

随机推荐

  1. hadoop 配置注意

    到目前为止,关于配置1.*版本的hadoop书籍占多数,前面配置2.*失败以后照着书籍配置1.2.1成功. 准备工具:(注意用统一位数的,我的64位) hadoop1.2.1 jdk1.6 xshel ...

  2. Git-Runoob:Git Github

    ylbtech-Git-Runoob:Git Github 1.返回顶部 1. Git 远程仓库(Github) Git 并不像 SVN 那样有个中心服务器. 目前我们使用到的 Git 命令都是在本地 ...

  3. 什么是IntentService?有何优点?

    一.IntentService 简介 IntentService 是 Service 的子类,比普通的 Service 增加了额外的功能.先看 Service 本身存在两个问题:Service 不会专 ...

  4. GO自定义类型与指针

    指针 定义:将地址形象化的称为“指针”.将地址形象化的称为“指针”.意思是通过它能找到以它为地址的内存单元.一个指针变量指向了一个值的内存地址.意思是通过它能找到以它为地址的内存单元.一个指针变量指向 ...

  5. iOS 图表工具charts之CombinedChartView

    关于charts的系列视图介绍传送门: iOS 图表工具charts介绍 iOS 图表工具charts之LineChartView iOS 图表工具charts之BarChartView iOS 图表 ...

  6. VueLoaderPlugin作用

    在webpack配置里加入new VueLoaderPlugin, 在plugin里打断点 然后debug: 在这个地方: 可以发现,在webpack初始化的阶段..webpack.js刚开始执行的时 ...

  7. 阶段3 2.Spring_07.银行转账案例_9 基于子类的动态代理

    代理一个普通的java类 导入cglib的包 它还有一个asm的依赖.会自动加进来 创建cglib的文件夹.把proxy里面的Client和Producer复制到cglib文件夹 Producer不实 ...

  8. python—004

    一.集合(set) 1.定义:不同的元素组成,无序排列的,可哈希的值(存放不可变类型:数字.字符串.元组) s={1,2,'ww',3,4,5,6,7,8,'ee'}print (type(s))pr ...

  9. LoadRunner对sockets报文进行压力测试(脚本设计)

    1. LR新建一个windows sockets项目 2. action中写入测试代码 如: #include "lrs.h" Action() { char *recvbuf; ...

  10. JavaScript Array Reduce用于数组求和

    需求一 假设有一个数组,需要对其中的元素进行求和. const numbers = [1, -1, 2, 3]; 传统写法,使用for循环求和 const numbers = [1, -1, 2, 3 ...