日志三剑客ELK
新的服务器需要搭建ELK三剑客,就是日志分析的工具,整理下步骤,供以后复习用。
说明下,我这里使用的是logstash从redis里获取日志信息的。所以还需要redis,这里就不做redis的介绍了。
下载对应文件,
Java: http://www.oracle.com/technetwork/java/javase/downloads/index.html
Logstash: https://www.elastic.co/downloads/logstash
Elasticsearch: https://www.elastic.co/downloads/elasticsearch
Kibana: https://www.elastic.co/downloads/kibana
Nssm: https://nssm.cc/download
把文件放在服务器上,我这里是放在E:\Tool下了。
第一步,先运行ElasticSearch(命令行方式),正常。
有个问题是,正常步骤解压出来,命令行可以运行,但是在服务器上一定要做成服务才行,不然服务器重启了,或者是被别人不小心关闭了,就比较尴尬了。
做服务的步骤很简单,这个不需要借助NSSM工具,直接在elasticsearch的bin下,运行命令
elasticsearch-service.bat install
刷新下服务列表,这个服务就已经安装好了。
第二步,运行logstash,(本地使用的管道是连接redis的)这个的运行不想用命令行了,想借助nssm来安装服务,可谁曾想,执行了nssm install logstash,可以弹出浏览框框,但是一点浏览,直接就闪退了。
先怀疑是我的nssm版本有问题,然后想着去官网下载一个新的,官网上2014年的,但是也试试下载吧,别我的文件有损坏,结果下载了被360当成病毒处理了,那么我就觉得,可能是这个需要的权限比较大,改了服务,被360当成木马了。
然后抱着试一试的态度,给这个logstash文件夹的权限开放到最大,再试一次,安装成功了。
到bin文件夹下,有个配置文件logstash_default.conf
这里配置关于读取redis的管道。
然后启动即可。
第三步,启动Kibana,启动成功,(这个做服务就需要使用nssm)
path里有值即可,然后继续填写Details
然后点击安装服务即可
直接启动即可。
手动通过客户端往redis里插入一条数据,结果发现并没有任何log显示,因为索引是空的。奇怪的很。
回过头来看一下,logstash的配置文件
这里配置的是list,那就是说,只能读取redis里的rpush的数据。
那么很简单,在客户端执行以下命令
然后再去看一下索引
这下有了,很简单,加入到索引里,这个就是kibana的配置了,必须加一个索引,才能查看log。
这里的配置,再选择时间戳,然后创建,成功后查看
出现这个说明kibana可以使用了。
然后就可以按照条件查看日志了,完美。
可是这个只是在服务器内访问,如果想要在外网下访问,还需要一些改动,就是kibana的yml文件
把这个server.port改成0.0.0.0就代表允许外网访问(或者说就允许IP访问了),当然了,服务器这个5601端口一定要打开,这个是最基本的。
当使用一段时间以后,发现旧的log用不上了。那就想办法给删了吧,找了一下,在文件夹中没有能找到这些个东西,然后试了下查下elastic应该有提供,果然。
在kibana这个可视化界面中,可以直接执行delete命令即可。
当然了,也可以按照查询条件删除的
参考 https://www.elastic.co/guide/en/elasticsearch/reference/5.2/docs-delete-by-query.html
POST dlog-*/_delete_by_query
{
"query": {
"match": {
"projectName": "OA"
}
}
}
但是删除有个需要注意的地方,物理文件不是直接删除的。只是做个标记先。
日志三剑客ELK的更多相关文章
- docker 容器日志集中 ELK + filebeat
docker 容器日志集中 ELK ELK 基于 ovr 网络下 docker-compose.yaml version: '2' networks: network-test: external: ...
- 【ELK】5.spring boot日志集成ELK,搭建日志系统
阅读前必看: ELK在docker下搭建步骤 spring boot集成es,CRUD操作完整版 ============================================== 本章集成 ...
- 开源实时日志分析ELK
开源实时日志分析ELK 2018-01-04 转自:开源实时日志分析ELK平台部署 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错 ...
- ASP.NET Core分布式日志系统ELK实战演练
一.ELK简介 ELK是Elasticsearch.Logstash和Kibana首字母的缩写.这三者均是开源软件,这三套开源工具组合起来形成了一套强大的集中式日志管理平台. • Elastics ...
- 云计算Docker全面项目实战(Maven+Jenkins、日志管理ELK、WordPress博客镜像)
2013年,云计算领域从此多了一个名词“Docker”.以轻量著称,更好的去解决应用打包和部署.之前我们一直在构建Iaas,但通过Iaas去实现统一功 能还是相当复杂得,并且维护复杂.将特殊性封装到 ...
- Linux日志分析ELK环境搭建
场景:ELK作为一个日志收集和检索系统,感觉功能还是相当的强大的. ELK是啥, 其实是是三个组件的缩写, 分别是elasticsearch, logstash, kibana. ELK平台可以用于实 ...
- 日志收集ELK+kafka相关博客
SpringBoot+kafka+ELK分布式日志收集 使用 logstash + kafka + elasticsearch 实现日志监控 Kibana 安装 与 汉化 windows系统安装运行f ...
- 快速搭建日志系统——ELK STACK
什么是ELK STACK ELK Stack是Elasticserach.Logstash.Kibana三种工具组合而成的一个日志解决方案.ELK可以将我们的系统日志.访问日志.运行日志.错误日志等进 ...
- CTO详细讲解海量日志处理ELK
ELK实时日志分析平台之Elasticsearch简介 Elasticsearch是一个高度灵活的开源全文检索和分析引擎.它能够迅速(几乎是实时地)地存储.查找和分析大规模数据.通常被用在有复杂的搜索 ...
随机推荐
- 《算法》C++代码 快速排序
快速排序,简称快排,常称QuickSort.QSort.在排序算法中非常常用,其编程复杂度低,时间复杂度O(NlogN),空间复杂度O(N),执行效率稳定,而且常数很低. 基本思想就是二分,例如你要将 ...
- 架构师速成6.7-设计开发思路-uml 分类: 架构师速成 2015-07-29 18:25 157人阅读 评论(0) 收藏
uml是什么东西?统一建模语言,一门语言,是用来进行软件设计的一门语言. 其实一门语言的诞生并不伟大,让大多数人都使用才足够伟大.uml就是一门伟大的语言,因为目前软件设计的唯一语言就是它. UML其 ...
- java初学3
1.包装类 Java提倡的万物皆对象,但是数据类型的划分出现了基本数据类型和引用数据类型,那么我们怎么能把基本数据类型称为对象呢? Java为每个原始类型提供了封装类,Integer是java为int ...
- 从今天开始学Python
外部链接下载吧 1. Python 3.63.chm AIP 帮助文档 下载:https://pan.baidu.com/s/1lhpv8JTC3Z7B6aZ3qQi40g 2. VMwar ...
- NYOJ 简单数据结构
NYOJ 2 括号配对问题 栈的简单应用.可使用STL. #include <iostream> #include <cstdio> #include <cstring& ...
- 第八章 Internet控制报文协议
Internet控制报文协议 首先,我们必须先清楚,IP协议本身没有为终端系统提供直接的方法来发现那些发往目的地址失败的IP数据包,并且IP没有提供直接的方式来获取诊断信息,那么我们的故事来了. In ...
- HTTP 返回状态代码详细解释
一:1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 100(继续)请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分:101(切换协议)请求者已要 ...
- jQuery选择器之类选择器
类选择器,顾名思义,通过class样式类名来获取节点. 描述: $('.class') 类选择器,相对于id选择器来说,效率相对会低一些,但是优势就是可以多选. 同样的jQuery在实现上,对于类选择 ...
- Redis、Mongodb、memcache区别在哪里?
最近在看一本书<php mvc开发实战>看到Redis实战部分,详细介绍了几种缓存的区别和对比,帮助解决这方面的疑惑 Redis适合哪些业务场景?
- 浅析_tmain() 与 main() 函数的区别
_tmain()是为了支持Unicode所使用的main的一个别名,既然是别名,应该有宏定义过的,在<stdafx.h>里 #include <stdio.h> #indlud ...