centos7 部署 ELK 日志系统
===============================================
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 日志系统的更多相关文章
- 使用Docker镜像部署ELK日志系统
使用Docker部署elasticsearch.logstash.kibana 指定版本:6.7.1 (建议使用同一的版本.屏蔽三个软件间的不兼容性) 下载镜像: docker pull elasti ...
- Centos6.7 ELK日志系统部署
Centos6.7 ELK日志系统部署 原文地址:http://www.cnblogs.com/caoguo/p/4991602.html 一. 环境 elk服务器:192.168.55.134 lo ...
- ELK日志系统:Elasticsearch+Logstash+Kibana+Filebeat搭建教程
ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程 系统架构 安装配置JDK环境 JDK安装(不能安装JRE) JDK下载地址:http://www.orac ...
- 创业公司做数据分析(四)ELK日志系统 (转)
http://blog.csdn.net/zwgdft/article/details/53842574 作为系列文章的第四篇,本文将重点探讨数据采集层中的ELK日志系统.日志,指的是后台服务中产生的 ...
- ELK日志系统之通用应用程序日志接入方案
前边有两篇ELK的文章分别介绍了MySQL慢日志收集和Nginx访问日志收集,那么各种不同类型应用程序的日志该如何方便的进行收集呢?且看本文我们是如何高效处理这个问题的 日志规范 规范的日志存放路径和 ...
- 【7.1.1】ELK日志系统单体搭建
ELK是什么? 一般来说,为了提高服务可用性,服务器需要部署多个实例,每个实例都是负载均衡转发的后的,如果还用老办法登录服务器去tail -f xxx.log,有很大可能错误日志未出现在当前服务器中, ...
- 创业公司做数据分析(四)ELK日志系统
作为系列文章的第四篇.本文将重点探讨数据採集层中的ELK日志系统.日志.指的是后台服务中产生的log信息,一般会输入到不同的文件里.比方Django服务下,一般会有nginx日志和uWSGI日志. ...
- ELK日志系统之kibana的使用操作
1.ELK日志系统打开后,打开kibana的操作界面,第一步创建索引模式: 第2步:创建日志索引 第3步:创建成功 第4步:查看30分钟时间段内的日志数据,也可以查今天的,今月的,今年的 放牛去
- 03篇ELK日志系统——升级版集群之ELK日志系统整合springboot项目
[ 前言:整个ELK日志系统已经搭建好了,接下来的流程就是: springboot项目中的logback日志配置通过tcp传输,把springboot项目中所有日志数据传到————>logsta ...
随机推荐
- linux 挂在win下文件
使用mount命令 #mount -t cifs -o username=abc,password=1234 //192.168.1.10/linux /mnt/linux #mount -t cif ...
- VSCode 同步设置及扩展插件 实现设备上设置统一
准备工作:电脑上需安装VSCode,拥有一个github账户.实现同步的功能主要依赖于VSCode插件 "Settings Sync" Setting Sync 可同步包含的所有扩 ...
- 深入理解php内核 编写扩展 II:参数、数组和ZVALs
原文:http://devzone.zend.com/article/1022-Extension-Writing-Part-II-Parameters-Arrays-and-ZVALs Part I ...
- spring mvc 复杂参数注入
过了这么久,又重新把博客拾起来了 来上海工作也已经有将近两周的时间了, 今天在整理项目的时候,遇到了一个关于参数注入的问题 背景: 我的开发前台用的是extjs4,在对后台spring mvc提交表单 ...
- Cs Round#56 D Find Path Union
题意:有一棵如下的完全二叉树,求所有给定结点到根节点的路径的并有多少条边. 一开始联想到线段树,发现结点的排布很像线段树的标号.于是模仿线段树敲了一下,交上去发现3个点MLE了... 无心优化,跑去看 ...
- NOIP2016提高组初赛(1)
一.选择题 6.后缀表达式,使用二叉树来求解,正常情况下的表达式a*(b+c)- d为中序遍历的二叉树. 即 若转换为后缀表达式(左右根)则为abc+*d- 14.代数字进去,多试几遍: 三.问题求解 ...
- 【微信小程序开发】快速开发一个动态横向导航模板并使用
目标:做个横向导航,可以横向滚动. 思路:使用scroll-view组件,可实现横向滚动功能.scroll-view内包含一个动态的view列表,代表导航的每一项,导航要接收动态数组,然后使用列表展示 ...
- Oracle的导入导出 DMP 文件
普通 导入: 将数据库完全导入,用户名userName 密码PassWord导入文件位置 E:\work\dmp\xxxxx.dmp (注意:导入的用户必须要跟导出时候的用户一致) imp userN ...
- vmware 上ubuntu server连接外网
最近在自己的电脑上搞了个ubuntu server,自己做点小demo,当需要连接网络时问题来了,没法连接网络,网上有一些资料都是一笔带过,并不符合自己的情况,现在将我解决的过程记录下: 首先,在自己 ...
- C - The C Answer (2nd Edition) - Exercise 1-7
/* Write a program to print the value of EOF. */ #include <stdio.h> main() { printf("EOF ...