===============================================

2018/9/21_第5次修改                       ccb_warlock

更新说明:

2018/9/21:修改了3.1 es获取rpm包地址错误的问题

2017/12/24:补全部署内容;

2017/12/25:修改部署存在的问题,修改描述不合理的内容;

2017/5/7:修改4.2描述错误的内容;

===============================================

ELK(elasticsearch、logstash、kibana)可以作为日志收集及分析的一整套系统,通过阿里的普及也有越来越多的公司在使用,使用下来功能还可以,这里整理记录一个部署手册。

为了方便,将ELK都部署在一台os里。


一、环境准备

操作系统:centos7(CentOS-7-x86_64-Minimal-1708)

CPU:1核

内存:4G

可以在你的windows上安装Bitvise SSH Client远程执行命令行和传输文件。

1.1 安装vim、wget

yum install -y vim wget

二、安装Java环境

根据官方的描述,

Elasticsearch要求是java8以上。

Logstash要求是Java 8,不支持Java 9。

官网:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

进入后,选择“Accept License Agreement”, 在自己电脑下载“jdk-8u151-linux-x64.rpm”,通过Bitvise SSH Client上传到/root目录下。

# 安装

cd
rpm -ivh jdk-8u151-linux-x64.rpm

# 可以用下面的命令查看java的环境变量是否生效

java -version

出现下面的内容就说明java的jdk已经部署完成。

 2.3 删除/root下的安装包(非必要,用于生产环境建议删除) 

rm -rf /root/jdk-8u151-linux-x64.tar.gz

三、部署elasticsearch

 3.1 yum安装elasticsearch

# 获取rpm包

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.0.rpm

# 安装

rpm -ivh elasticsearch-6.1.0.rpm

#查找安装路径

rpm -ql elasticsearch

一般是装在/usr/share/elasticsearch/下。

 3.2 设置data的目录

# 创建/data/es-data目录,用于elasticsearch数据的存放

mkdir -p /data/es-data

# 修改该目录的拥有者为elasticsearch

chown -R elasticsearch:elasticsearch /data/es-data

 3.3 设置log的目录

#  创建/data/es-log目录,用于elasticsearch日志的存放

mkdir -p /log/es-log

# 修改该目录的拥有者为elasticsearch

chown -R elasticsearch:elasticsearch /log/es-log

 3.4 修改配置文件elasticsearch.yml

vim /etc/elasticsearch/elasticsearch.yml

根据下面的内容进行修改,wq保存。

#设置data存放的路径为/data/es-data
path.data: /data/es-data #设置logs日志的路径为/log/es-log
path.logs: /log/es-log #设置内存不使用交换分区
bootstrap.memory_lock: false
#配置了bootstrap.memory_lock为true时反而会引发9200不会被监听,原因不明 #设置允许所有ip可以连接该elasticsearch
network.host: 0.0.0.0 #开启监听的端口为9200
http.port: 9200 #增加新的参数,为了让elasticsearch-head插件可以访问es (5.x版本,如果没有可以自己手动加)
http.cors.enabled: true
http.cors.allow-origin: "*"

 3.5 启动elasticsearch

# 启动

systemctl start elasticsearch

# 查看状态

systemctl status elasticsearch

# 设置开机启动

systemctl enable elasticsearch

 3.6 开启9200端口

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

 3.7 测试安装是否成功

# 安装net-tools

yum install -y net-tools

# 检查9200是否有监听

netstat -antp |grep 9200

curl http://127.0.0.1:9200

有下面类似的内容才说明elasticsearch正常启动。


四、部署logstash

 4.1 yum安装logstash

# 获取rpm包

wget https://artifacts.elastic.co/downloads/logstash/logstash-6.1.0.rpm

# 安装

rpm -ivh logstash-6.1.0.rpm

 4.2 设置data的目录

# 创建/data/ls-data目录,用于logstash数据的存放

mkdir -p /data/ls-data

# 修改该目录的拥有者为logstash

chown -R logstash:logstash /data/ls-data

 4.3 设置log的目录

#  创建/data/ls-log目录,用于logstash日志的存放

mkdir -p /log/ls-log

# 修改该目录的拥有者为logstash

chown -R logstash:logstash /log/ls-log

 4.4 修改配置文件logstash.yml

vim /etc/logstash/logstash.yml

根据下面的内容进行修改,wq保存。

# 设置数据的存储路径为/data/ls-data
path.data: /data/ls-data # 设置管道配置文件路径为/etc/logstash/conf.d
path.config: /etc/logstash/conf.d # 设置日志文件的存储路径为/log/ls-log
path.logs: /log/ls-log

 4.5 启动logstash

# 启动

systemctl start logstash

# 查看状态

systemctl status logstash

# 设置开机启动

systemctl enable logstash

 4.6 测试安装是否成功

# 查看下logstash的安装目录

rpm -ql logstash

# 创建一个软连接,每次执行命令的时候不用在写安装路径(yum安装是在/usr/share下)

ln -s /usr/share/logstash/bin/logstash /bin/

# 执行logstash的命令

logstash -e 'input { stdin { } } output { stdout {} }'

等待片刻后出现“The stdin plugin is now waiting for input:”,输入“abc”回车,有返回的输出。

ctrl+c退出。

如果标准输出还有elasticsearch中都需要保留,看下面

# 192.168.12.16是试验elk的ip

/usr/share/logstash/bin/logstash -e 'input { stdin { } } output { elasticsearch { hosts => ["192.168.12.16:9200"] } stdout { codec => rubydebug }}'

等待片刻后出现“The stdin plugin is now waiting for input:”,输入“test”回车,返回下面标准的输出。


 五、部署kibana

 5.1 yum安装kibana

# 获取安装包

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.1.0-x86_64.rpm

# 安装

rpm -ivh kibana-6.1.0-x86_64.rpm

 5.2 修改kibana.yml

# 搜索rpm包

rpm -ql kibana

默认是装在/usr/share/kibana/下。

# 修改kibana的配置文件

vim /etc/kibana/kibana.yml

# 修改kibana.xml下面的内容,wq保存。

#kibana页面映射在5601端口
server.port: 5601

#允许所有ip访问5601端口
server.host: "0.0.0.0" #elasticsearch所在的ip及监听的地址
elasticsearch.url: "http://localhost:9200" kibana.index: ".kibana"

 5.3 启动kibana

# 启动

systemctl start kibana

# 查看状态

systemctl status kibana

# 设置开机启动

systemctl enable kibana

 5.4 开放端口5601

# 设置防火墙

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

centos7 部署 ELK 日志系统的更多相关文章

  1. 使用Docker镜像部署ELK日志系统

    使用Docker部署elasticsearch.logstash.kibana 指定版本:6.7.1 (建议使用同一的版本.屏蔽三个软件间的不兼容性) 下载镜像: docker pull elasti ...

  2. Centos6.7 ELK日志系统部署

    Centos6.7 ELK日志系统部署 原文地址:http://www.cnblogs.com/caoguo/p/4991602.html 一. 环境 elk服务器:192.168.55.134 lo ...

  3. ELK日志系统:Elasticsearch+Logstash+Kibana+Filebeat搭建教程

    ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程 系统架构 安装配置JDK环境 JDK安装(不能安装JRE) JDK下载地址:http://www.orac ...

  4. 创业公司做数据分析(四)ELK日志系统 (转)

    http://blog.csdn.net/zwgdft/article/details/53842574 作为系列文章的第四篇,本文将重点探讨数据采集层中的ELK日志系统.日志,指的是后台服务中产生的 ...

  5. ELK日志系统之通用应用程序日志接入方案

    前边有两篇ELK的文章分别介绍了MySQL慢日志收集和Nginx访问日志收集,那么各种不同类型应用程序的日志该如何方便的进行收集呢?且看本文我们是如何高效处理这个问题的 日志规范 规范的日志存放路径和 ...

  6. 【7.1.1】ELK日志系统单体搭建

    ELK是什么? 一般来说,为了提高服务可用性,服务器需要部署多个实例,每个实例都是负载均衡转发的后的,如果还用老办法登录服务器去tail -f xxx.log,有很大可能错误日志未出现在当前服务器中, ...

  7. 创业公司做数据分析(四)ELK日志系统

      作为系列文章的第四篇.本文将重点探讨数据採集层中的ELK日志系统.日志.指的是后台服务中产生的log信息,一般会输入到不同的文件里.比方Django服务下,一般会有nginx日志和uWSGI日志. ...

  8. ELK日志系统之kibana的使用操作

    1.ELK日志系统打开后,打开kibana的操作界面,第一步创建索引模式: 第2步:创建日志索引 第3步:创建成功 第4步:查看30分钟时间段内的日志数据,也可以查今天的,今月的,今年的 放牛去

  9. 03篇ELK日志系统——升级版集群之ELK日志系统整合springboot项目

    [ 前言:整个ELK日志系统已经搭建好了,接下来的流程就是: springboot项目中的logback日志配置通过tcp传输,把springboot项目中所有日志数据传到————>logsta ...

随机推荐

  1. Dubbo源码学习--服务发布(ServiceBean、ServiceConfig)

    前面讲过Dubbo SPI拓展机制,通过ExtensionLoader实现可插拔加载拓展,本节将接着分析Dubbo的服务发布过程. 以源码中dubbo-demo模块作为切入口一步步走进Dubbo源码. ...

  2. 【原创】python爬虫获取网站数据并存入本地数据库

    #coding=utf-8 import urllib import re import MySQLdb dbnumber = MySQLdb.connect('localhost', 'root', ...

  3. Mysql--单表数据记录查询

    1.简单数据记录查询 1.1 简单数据查询 1.1.1 查询所有字段数据 例子:      1.1.2 "*"符号的使用 语法: 例子: 1.1.3 查询指定字段数据 例子:   ...

  4. Spring-MVC理解之一:应用上下文webApplicationContext

    一.先说ServletContext javaee标准规定了,servlet容器需要在应用项目启动时,给应用项目初始化一个ServletContext作为公共环境容器存放公共信息.ServletCon ...

  5. AngularJS 拦截器实现全局$http请求loading效果

    日常项目开发中,当前端需要和后端进行数据交互时,为了友好的UI效果,一般都会在前端加个loading的状态提示(包括进度条或者icon显示),数据传输或交互完成之后,再隐藏/删除loading提示. ...

  6. 数据库服务器---Tps

    事务处理系统:Transactionprocessingsystems(TPS) 提高事务处理效率与保证其正确性 在数据(信息)发生处将它们记录下来 通过OLTP产生新的信息 将信息保存到数据库中供其 ...

  7. Aurora 论坛图片下载

    Aurora 论坛图片下载是一款快速下载指定网页图片的利器,还可以下载高清原图呢.现支持的网站:①蜂鸟网论坛②中关村摄影论坛③POCO摄影空间④图虫网其他摄影论坛陆续添加中... 效果图: 项目地址: ...

  8. Codeforces Round #313 (Div. 2) C

    题目链接 题意:  有一个六边形,给你6条边的长度(顺时针给出).每条边都是整数,问你它能够被切割成几个单位长度的正三角形  (题目保证给出的数据能够被切割) 思路: 六边形能够被切割成两种情况: ① ...

  9. 新书《Linux就是这个范儿》预售

    预售地址 当当 内容简单介绍 本书内容源自淘宝技术大学的培训实战.由来自阿里巴巴集团的资深Linux系统专家赵鑫磊和相同来自阿里巴巴集团的支付宝网络技术有限公司的高级专家Jie Zhang(张洁)共同 ...

  10. minicom在虚拟机(linux)安装配置过程

    1. minicom须要ncurses库的支持.否则安装会有问题. A. 下载ncurses.我选择是ncurses-5.6.tar.gz 下载地址:http://directory.fsf.org/ ...