ELK+SpringBoot+Logback离线安装及配置
ELK+SpringBoot+Logback
离线安装及配置
|
版本 |
v1.0 |
|
编写时间 |
2018/6/11 |
|
编写人 |
xxx |
目录
一、 ELK介绍2
二、 安装环境2
三、 Elasticsearch安装2
3.1 解压 2
3.2 配置 2
3.3 创建账户 3
3.4 启动 3
3.5 异常处理 3
四、 SpringBoot配置3
4.1 添加依赖pom.xml 3
4.2 配置logback.xml 4
五、 Logstash安装4
5.1 解压 4
5.2 配置 4
5.3 启动 5
六、 Kibana安装5
6.1 解压 5
6.2 配置 5
6.3 启动 5
6.4 访问http://localhost:5601 5
七、 总结5
7.1流程 5
7.2用到的命令 6
一、ELK介绍
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser。
二、安装环境
系统:Centos7
JDK:1.8
Elasticsearch:6.2.4
Logstash:6.2.4
Kibana :6.2.4
ELK下载地址:https://www.elastic.co/cn/products
安装参考地址:https://www.cnblogs.com/huangxincheng/p/7918722.html
三、Elasticsearch安装
3.1 解压
tar -xzvf elasticsearch-6.2.4.tar.gz
3.2 配置
cd elasticsearch-6.2.4
vim config/elasticsearch.yml
# 集群名称
cluster.name: es_cluster
# 节点名称
node.name: node-0
# 数据存储目录(多个路径用逗号分隔)
path.data: /tmp/elasticsearch/data
# 日志目录
path.logs: /tmp/elasticsearch/logs
# 本机IP
network.host: 192.168.53.11
# 监听端口(默认)
http.port: 9200
3.3 创建账户
不能用root启动
#新建elsearch组
groupadd elsearch
#新建一个elsearch用户
useradd elsearch -g elsearch -p elasticsearch
#指定elasticsearch-6.2.4目录所属elsearch组
chown -R elsearch:elsearch ./elasticsearch-6.2.4
3.4 启动
用elsearch登录,然后启动
nohup ./bin/elasticsearch &
注意:[nohup 命令 &]:后台启动,启动日志输出到当前目录下的nohup.out,使用tail -f nohup.out查看启动情况,看到以下字样,则启动成功:
publish_address {192.168.53.11:9300}
publish_address {192.168.53.11:9200}
started
访问192.168.53.11:9200可以看到node,cluster_name
3.5 异常处理
1. Ubuntu elasticsearch max virtual memory areas vm.max_map_count [65530] is too low, increase to at le
解决方案:vim /etc/sysctl.conf
添加vm.max_map.count=655360
执行:sysctl -p
- max file descriptors [65535] for elasticsearch process likely too low, increase to at least [65536]
解决方案:ulimit -n 65536
四、SpringBoot配置
4.1 添加依赖pom.xml
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>4.9</version>
</dependency>
4.2 配置logback.xml
<!-- 配置appender -->
<appender name=”LOGSTASH”
class=”net.lgostash.logback.appender.logstashTcpSocketAppender”>
<!-- 本机地址及端口,用于将项目log日志输出到logstash -->
<destination>localhost:9601</destination>
<encoder charset=”UTF-8”
class=”net.logstash.logback.encoder.LogstashEncoder”>
<!-- 自定义变量,可以在kibana查看,如项目名称 -->
<customFields>{“appname”:”uem-smgr-service”}</customFields>
</encoder>
</appender>
<!--- 配置logger -->
需要将日志输出到logstash的地方都需要配置<appender-ref ref=”LOGSTASH”/>
<logger name=”包名或类名” level=”debug” additivity=”true|false 是否继承父类logger”>
<appender-ref ref=”LOGSTASH”/>
</logger>
五、Logstash安装
5.1 解压
tar -xzvf logstash-6.2.4.tar.gz
5.2 配置
cd logstash-6.2.4
logstash.conf名字自定义的
vim config/logstash.conf
input {
tcp {
host => “localhost”
port => 9601
mode => “server”
tags => [“tags”]
codec => json_lines
}
}
output {
elasticsearch {
action => “index”
hosts => “192.168.53.11”
index => “%{[appname]}-52.200-log-%{+YYYY.MM.dd}”
}
stdout {
codec => rubydebug { }
}
}
注意:
1.input.tcp: 中配置的是本机地址,ip和端口必须和springboot的logback.xml中的配置完全一样,不能一个配ip一个localhost
2.output.elasticsearch: 配置elasticsearch服务器的ip
3.%{[appname]}: 引用springboot的logback.xml中配置的变量
4.output.stdout: 在终端显示输出信息(可以不配置)
5.如果修改logstash.conf后自动加载,需要配置:
vim config/logstash.yml
config.reload.automatic: true
5.3 启动
nohup ./bin/logstash -f ./config/logstash.conf &
看到Successfully started Logstash API endpoin启动成功
六、Kibana安装
6.1 解压
tar -xzvf kibana-6.2.4-linux-x86_64.tar.gz
6.2 配置
cd kibana-6.2.4-linux-x86_64
vim config/kibana.yml
server.host: “0.0.0.0”
elasticsearch.url: “http://192.168.53.11:9200”
6.3 启动
nohup ./bin/kibana &
6.4 访问http://localhost:5601
1. 创建index Pattern
当服务器,项目启动,会生成index,名称为logstash配置的%{[appname]}-52.200-log-%{+YYYY.MM.dd}
点击Management----Index Patterns----CreateIndexPattern
在列表中能看到index名称
在Step1中填写匹配模式:如*,appname值*
在Step2中配置过滤字段@timestamp或其他
- 点击Discover,在索引框中选择刚配置的匹配模式,就可以查看日志
七、总结
7.1流程
springboot项目启动,日志通过logback记录,并且根据配置将日志流发送给logstash,logstash过滤,存储,elasticsearch负责索引搜索,kibana负责页面展示。
注意如果几个服务放在不同的服务器,注意端口的开放。
7.2用到的命令
- tar -xvzf xxx.tar.gz 解压
- tar -cvf 压缩
- nohup 命令 & 后台启动命令
- jobs -l 查看后台启动
- tail -f 文件 查看文件最后几行
- head -n行数 文件 查看文件前几行
- ps -ef|grep 8181 查看进程
- kill pid 杀进程
- grep -v aaa 过滤不包含aaa
- systemctl stop firewalld 临时关闭防火墙
- systemctl disabled firewalld 禁止开机启动
- firewall-cmd --zone=public --add-port=80/tcp --permanent 开启端口80
- firewall-cmd --reload 重启防火墙
firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd ##查看帮助
ELK+SpringBoot+Logback离线安装及配置的更多相关文章
- IDEA的热部署插件jrebel6.4.3离线安装版配置与破解
JRebel 介绍 IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费不少生命啊.目前对于idea热部署最好的解决方案就是安装JRebel插件 ...
- IDEA的热部署插件jrebel6.4.3版离线安装版配置与破解
JRebel 介绍 IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费不少生命啊.目前对于idea热部署最好的解决方案就是安装JRebel插件 ...
- svn离线安装以及配置,管理python自动化脚本
1.使用源码安装,自己make和install,难度还挺大的,改用对应iso中的rpm安装包来安装 2.iso中的rpm包安装,会存在rpm包之间的依赖的关系 3.这种依赖关系,可以处理,仍然在iso ...
- ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置
注意事项: 1.ELK版本要求5.X以上,本人使用版本:elasticsearch-6.0.0.kibana-6.0.0-linux-x86_64.logstash-6.0.0.tar 2.Elast ...
- SpringBoot Logback无法获取配置中心属性
SpringBoot Logback无法获取配置中心属性 前言 最近在做项目中,需要把项目中的日志信息通过RabbitMQ将规定格式的消息发送到消息队列中,然后ELK系统通过消息队列拿日志并且保存起来 ...
- ELK 安装与配置
ELK日志分析之安装 1.介绍: NRT elasticsearch是一个近似实时的搜索平台,从索引文档到可搜索有些延迟,通常为1秒. 集群 集群就是一个或多个节点存储数据,其中一个节点为主节点,这个 ...
- 【图文详细教程】maven3安装配置+eclipse离线安装maven3插件《《唯一成功的教程~~~2018-01-09》》
环境搭建前提: 1.电脑上已经安装了1.7以及以上版本的JDK(因为我提供的maven版本是最新的3.3.9的,要求最低JDK1.7) 2.配置好了ecplise并且能正常启动 第一步:下载maven ...
- Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置
Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...
- SpringBoot Logback配置,SpringBoot日志配置
SpringBoot Logback配置,SpringBoot日志配置 SpringBoot springProfile属性配置 ================================ © ...
随机推荐
- 搭建自己的Docker registry(五)
弄了一天,在网上查了很多资料,感觉都好复杂好复杂,一步一步踩坑踩出来就好了. 服务器:阿里云(香港) 环境:CentOS Linux release 7.4.1708 (Core) Docker:1. ...
- Java学习路线思维导图
- [zz]蟑螂蚂蚁蚊子已不住在我家了!这个方法100%见效…
http://mt.sohu.com/20150324/n410238511.shtml 蚂蚁怕酸,蚊子怕辣,蟑螂怕香.在下给各位提供一个不杀生又能驱赶蚂蚁.蚊子.蟑螂的妙法. 一.蚂蚁怕酸味 家里的 ...
- linux中telnet后退出连接窗口的方法?
linux中telnet后退出连接窗口 [root@a cron]# telnet www.baidu.com 80Trying 115.239.211.112...Connected to www. ...
- [蓝桥杯]ALGO-20.算法训练_求先序排列
问题描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=). 输入格式 两行,每行一个字符串,分别表示中序和后序排列 输出格式 一个字符串,表示所求 ...
- redis学习链接收藏
1.redis命令大全--官网 2.redis命令大全--中文翻译版 3.源码(注释版):redis3.0 4.程序代码:<redis入门指南(第二版)>第五章 5.最新的redis-st ...
- javascript常用工具类整理(copy)
JavaScript常用工具类 类型 日期 数组 字符串 数字 网络请求 节点 存储 其他 1.类型 isString (o) { //是否字符串 return Object.prototype.to ...
- svg转png
svg转png网络上常用的方式有两种: 1.直接转base64放到图片src进行显示,测试效果不佳,始终报方法问题. 2.先转canvas,再转为png图,测试效果可以但svg透明背景到了canvas ...
- Java 中 Gson的使用
JSON 是一种文本形式的数据交换格式,它比XML更轻量.比二进制容易阅读和编写,调式也更加方便;解析和生成的方式很多,Java中最常用的类库有:JSON-Java.Gson.Jackson.Fast ...
- 小程序获取微信用户的openid
小程序获取微信用户的openid //index.js //获取应用实例 const app = getApp() Page({ globalData: { appid: '11121221a89e0 ...