ELK+logback搭建日志系统
最近工作需要,开始研究ES,当前ES的最新版本为5.1.1,版本5.0.1以上jdk为1.8,缓存服务器用的redis
本篇会记录ES5.1.1 + Kibana 5.1.1 + es-head插件在Linux环境上安装操作步骤。
首先,去Elastic官网 https://www.elastic.co/downloads ,下载页有所有Elastic的产品,都是最新的版本(版本号还一致)。
下载完成后,全部解压,使用unzip和tar -xvzf
(一) 首先尝试去启动elasticsearch,到elasticsearch的bin目录下,执行./elasticseharch。
如果遇到下面的错误:
说明是用root账户来启动的,因为ES是没有权限限制的,还可以接收用户的脚本,所有用root账户很不安全,需要新建一个账户来启动。
命令执行如下
# adduser leichunqiong
# passwd leichunqiong
用root 给新建用户赋予权限
1、进入bin目录下执行chmod +x elasticsearch
2、chown leichunqiong.leichunqiong -R /opt/elasticsearch-5.1.1
3、切换到新建用户
# su leichunqiong
4、修改vm.map 限制
vi /etc/sysctl.conf vm.max_map_count=262144
5、进入bin目录 执行./elasticsearch -d &
然后就可以在命令行中用curl http://localhost:9200?pretty 看看输出
此时,ES可以在本地访问,但是用浏览器远程的话,还是无法访问的,因为相应的端口没有打开
进到安装目录/config/elasticsearch.yml,将network.host设置为0.0.0.0并且将访问端口放开
接下来重启es 然后通过浏览器外部访问就可以了
(二) 下一步现在我们来安装logstash
1、解压完成后配置logstash的环境变量
# echo "export PATH=\$PATH:/usr/local/logstash-1.5.4/bin" > /etc/profile.d/logstash.sh
# . /etc/profile
2、启动logstash
2.1 通过-e参数指定logstash的配置信息,用于快速测试,直接输出到屏幕。
# logstash -e "input {stdin{}} output {stdout{}}"
my name is zhengyansheng.
//
手动输入后回车,等待10秒后会有返回结果
Logstash startup completed
2015-10-08T13:55:50.660Z 0.0.0.0 my name is zhengyansheng.
这种输出是直接原封不动的返回...
# logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
my name is zhengyansheng.
//
手动输入后回车,等待10秒后会有返回结果
Logstash startup completed
{
"message"
=>
"my name is zhengyansheng."
,
"@version"
=>
"1"
,
"@timestamp"
=>
"2015-10-08T13:57:31.851Z"
,
"host"
=>
"0.0.0.0"
}
这种输出是以json格式的返回...
# vim logstash-simple.conf
input { stdin {} }
output {
stdout { codec=> rubydebug }
}
# logstash -f logstash-simple.conf //普通方式启动
Logstash startup completed
# logstash agent -f logstash-simple.conf --debug//开启debug模式
Pipeline started {:level=>:debug}
Logstash startup completed
hello world.
//
手动输入hello world.
{
"message"
=>
"hello world."
,
"@version"
=>
"1"
,
"@timestamp"
=>
"2015-10-08T14:01:43.724Z"
,
"host"
=>
"0.0.0.0"
}
效果同命令行配置参数一样..
# cat logstash-redis.conf
input {
redis {
host =>
'192.168.1.104'
#ip
data_type =>
'list'
port =>
"6379"
key =>
'logstash:redis'
#自定义
type
=>
'redis-input'
#自定义
}
}
output {
elasticsearch {
host =>
"192.168.1.104" #ip
codec =>
"json"
protocol =>
"http"
#版本1.0+ 必须指定协议http
}
}
(三)
1、修改配置文件
# vim /opt/kibana-5
.1
.1
-linux-x86_
64/config/kibana.yml
elasticsearch_url:
"http://192.168.1.104:9200"
2、
启动
![](/assets/blank.gif)
3、外部访问
(四) 新建maven项目结合logstash
1、加入apender jar包
<dependency> <groupId>com.cwbase</groupId> <artifactId>logback-redis-appender</artifactId> <version>1.1.5</version></dependency>2、配置logback.xml
<configuration> <property name="type.name" value="" /> <appender name="TEST" class="com.cwbase.logback.RedisAppender"> <source>test-application</source> <!--type 可定为项目类型--> <type>${type.name}</type> <!--redis ip--> <host>192.168.1.218</host> <!--redis存放的key--> <key>logstash:redis</key> <tags>test-2</tags> <mdc>true</mdc> <location>true</location> <callerStackIndex>0</callerStackIndex> <!--additionalField添加附加字段 用于head插件显示--> <additionalField> <key>MyKey</key> <value>MyValue</value> </additionalField> <additionalField> <key>MySecondKey</key> <value>MyOtherValue</value> </additionalField> </appender> <!--日志输出--> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern> <!--日志回滚周期30天--> <maxHistory>30</maxHistory> </rollingPolicy> <!-- <encoder> <pattern>%logger{15} - %message%n%xException{5}</pattern> </encoder>--> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-4relative [%thread] %-5level %logger{35} %caller{3} - %msg%n%xException{5}</pattern> </encoder> </appender> <logger name="application" level="DEBUG" /> <root level="DEBUG"> <appender-ref ref="STDOUT" /> <appender-ref ref="TEST" /> </root> </configuration>3、写测试类,然后到kinana上边就可以看到你的日志啦
(五) 可以将kibana替换elasticsearch-head插件进行页面展示,elasticsearch-head是一个elasticsearch的集群管理工具
转载于:https://www.cnblogs.com/Leiwang/p/6278329.html
ELK+logback搭建日志系统相关推荐
- ELK结合logback搭建日志中心
ELK简介ELKStack即Elasticsearch + Logstash + Kibana.日志监控和分析在保障业务稳定运行时,起到了很重要的作用.比如对nginx日志的监控分析,nginx是有日 ...
- 【产品环境】使用ELK搭建日志系统
为什么80%的码农都做不了架构师?>>> 随着业务不断完善与发展,日志的重要性稳步上升.我们需要从日志中排查错误,以及分析用户行为,为业务发展提供参考意见.因此,需要一套专门的 ...
- 快速搭建日志系统——ELK STACK
什么是ELK STACK ELK Stack是Elasticserach.Logstash.Kibana三种工具组合而成的一个日志解决方案.ELK可以将我们的系统日志.访问日志.运行日志.错误日志等进 ...
- 抛弃ELK!Loki日志系统详解!
背景 最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的 ...
- 使用XLog、Spring-Boot、And-Design-Pro搭建日志系统
一.前言:移动端为什么要三方日志系统 日志系统用于记录用户行为和数据以及崩溃时的线程调用栈,以帮助程序员解决问题,优化用户体验. iOS系统就有自带Crash收集应用程序"ReportCra ...
- 使用ElasticSearch搭建日志系统
如果: • 你有很多台机器 • 你有各种各样的Log 只要满足这两个条件其中之一,那么一套日志系统是很有必要的.优秀的日志系统可以让你及时发现问题,轻松追查故障原因,进而提高生产力. 本文简单介绍一下 ...
- Logback+ELK+SpringBoot搭建日志收集服务器
前言 本文重点介绍Logback和ELK和SpringBoot是怎么整合收集日志的 关于ELK的说明和安装可以点击查看ELK(Elasticsearch.Logstash.Kibana)安装, htt ...
- 深度学习核心技术精讲100篇(四十八)-TB级的日志监控系统很难?带你使用ELK轻松搭建日志监控系统
前言 本文主要介绍怎么使用 ELK Stack 帮助我们打造一个支撑起日产 TB 级的日志监控系统.在企业级的微服务环境中,跑着成百上千个服务都算是比较小的规模了.在生产环境上,日志扮演着很重要的角色 ...
- ELK快速搭建日志平台(基于7.9.3)
经过上两篇的安装学习,我们将这些软件都已安装: cent os7 安装elasticsearch-7.9.3(伪集群)和kibana-7.9.3 安装logstash-7.9.3和filebeat-7 ...
最新文章
- svn的使用(转载)
- Spring3 文件上传
- git status 不能显示中文
- golang的reflection(转)(一)
- 【nacos系列】nacos配置中心管理实战
- 桂林理工大学 2020秋程序设计实践课程 课程设计与实习报告
- Lua包管理工具Luarocks
- 运用ArcGIS对图像进行二值化处理
- 知途云仓2.0 淘宝礼品一件代发php源码
- Postgresql 学习记录,模式,分区表,触发器,事务,窗口函数,视图,建表,约束等
- 【数据库系统概论】基础知识总结
- windows10关闭系统更新方法总结
- C#按钮添加图片的解决
- CGB2109-Day10-mybatis
- UI设计技巧讲解之PS水墨泼墨效果制作
- 2-2_Selecting_data_and_analysis_part1
- 专科生要怎么做才能进入阿里巴巴、百度、腾讯这样的公司?
- 【Java面试宝典】1000+面试题附答案详解,最全面详细
- 淘宝app无法抓包问题
- 计算机操作系统及编程语言简介
热门文章
- 防止私自接交换机_防止私接家用路由器干扰DHCP功能,禁止用户手动设置IP地址-肖哥...
- 只腐蚀毛刺 腐蚀算法_避坑干货!8大卫浴五金选购指南,只买对的不买贵的
- html5 jq图片效果,HTML5 jQuery可左右滑动拖拉的照片处理前后对比界面
- c语言整数检验,C程序整数缺陷的检测与修复
- python 函数前有一个下划线_【Python】怎么写好一个 Python 函数?
- xml和java用户管理系统_XMLBeans首页、文档和下载 - XML-Java绑定工具 - OSCHINA - 中文开源技术交流社区...
- java 过滤文件名_Java FileNameFilter过滤文件名
- linux sed p变量,Linux sed 命令详解系列教程之各种问题解决
- 进程间通信--信号(SIG)
- 【设计模式】C++单例模式