Windows环境下ELK简单搭建记录
前言
ELK已经是一套成熟的日志解决方案,虽然出现了好久,今日才终于研究了一下,不过是在windows平台上安装的。
搭建步骤
- 下载软件
- 安装软件
- 修改配置文件
- 启动软件
- 集成测试
下载软件
首先从官网下载三个软件。我下载的是 6.2.3版本的,最好都统一,否则会出现小问题。官网地址:https://www.elastic.co/
安装软件
分别将上文中的ELK三个压缩包解压到相应的文件夹下。(我的电脑文件夹是C:/elk/)
由于logstash和kibana都需要配置elasticsearch的server url,所以先配置了elasticsearch。
打开 elasticsearch-6.2.3/config 文件夹,打开elasticsearch.yml,配置一下基本信息:
cluster.name: <集群名称>
node.name: <当前节点名称>
network.host: <本机IP或者localhost>
http.port:
使用cmd命令安装elasticsearch service
安装完成之后启动es服务。打开 host:9200 测试一下es是否安装成功。
下面安装logstash。
进入到 C:\elk\logstash-6.2.3\config 文件夹下新建log.config文件。这里我选择的输入源是file,然后filter处理日志中的json,output到elasticsearch和控制台。log.config文件配置如下:
input {
file {
type => "log"
path => "C:/logs/*.log"
codec => plain{
charset => "UTF-8"
}
start_position => "beginning"
}
}
filter {
ruby {
将@timestamp转换为服务器时间,否则会是UTC时间(慢8个小时)
code => "event.timestamp.time.localtime"
}
json{
解析日志中的json格式到log字段,移除message字段和host
source => "message"
target => "log"
remove_field => ["message"]
remove_field => ["host"]
}
} output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logs"
}
}
下面打开cmd运行命令:
等待启动即可,如果报错了,看一下报错信息即可。logstash能正常解析日志。
最后安装kibana。
同样进入 config文件夹。配置kibana.yml 配置elasticsearch.url和host.name即可。端口默认是5601。
cmd bin/kibana 启动
打开浏览器,正常出现kibana界面。
到目前为止,ELK已经基本配置完了。
集成测试
因为 logstash 配置的是采集 C:/logs文件夹下的日志文件。写一个简单的程序写入日志,日志内容如下:
正如上文中logstash输出一样,logstash正常采集到了日志,并且解析了日志中的json串。下面打开elasticsearch看一下是否有数据
如上图所示,是有数据的,最后使用kibana配置一下index即可。(由于kibana我也不太会用,所以不做详细介绍了)
总结
总体而言安装过程中的配置过程还不是很难,但是要做到很复杂的日志处理或者其他的功能那么就需要下功夫了。这里我只是简单的做了一个搭建工作。想要深入了解ELK体系的使用还是需要下功夫的!!
另外,logstash的 input output filter 配置还是有很多门道的,相当复杂,本来我试了用filebeat作为input,但是老是报 Invalid Frame Type 后来我就没在理他了,大概日志文件的编码不对吧(我也不清楚)。
以上就是windows下搭建简单的ELK的具体过程了。如有问题或者不当之处,欢迎留言咨询。
Windows环境下ELK简单搭建记录的更多相关文章
- Windows环境下ELK(5.X)平台的搭建
一.Windows环境下ELK平台的搭建(2.*) 1.安装配置Java环境 在Oracle官网获取最新版的Java版本,由于只是运行不是开发,所以也可以只下载JRE.官网:http://www.or ...
- Windows环境下使用Nginx搭建负载均衡
前言 最近没有什么事情,喜欢总结并学习东西!前几天写来一个Session共享,那么我们为什么需要Session共享?因为我们的应用程序分布在多个服务器上,为了合理分配用户的请求,就需要用到负载均衡技术 ...
- windows环境下apache-apollo服务器搭建及发布订阅测试
查证了一些资料之后,发现 apache-apollo服务器使用的人还是挺多的,资料也比较齐全,所以直接选择 apache-apollo了,具体性能如何,先用起来再说吧: 1.下载 apache-apo ...
- windows环境下基于nginx搭建rtmp服务器
基于nginx搭建rtmp服务器需要引入rtmp模块,引入之后需重新编译nginx linux环境几个命令行就能实现编译,笔者未尝试,网上有很多教程. windows环境还需要安装一系列的编译环境,例 ...
- windows环境下利用Gitblit搭建Git服务器并实现自动部署Web站点目录
Git服务搭建多见于linux环境,但windows主机也不少,目前网上文章诸多不全,且以讹传讹,不甚清楚.下面介绍windows环境下的自动部署和发布. 所需环境及资源:Java环境.Gitblit ...
- Windows环境下ELK平台的搭建
.背景 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采 ...
- windows 环境下Maven私服搭建
使用Nexus.3.11在Windows环境上搭建1.下载nexus.3.11.zip包https://www.sonatype.com/download-oss-sonatype 下载下来之后,进行 ...
- 在windows环境下利用virtualenv搭建Python虚拟环境
安装Python 安装时只有一点需要注意,一定一定要将Python添加到系统环境变量那一项勾选. 安装 virtualenv 加入系统目录之后,命令行(CMD)下就多了一条命令:pip.用pip可以自 ...
- windows环境下最简单的nginx + tomcat负载均衡配置示例
后端是两台tomcat服务器,我们简称为node1 和node2,访问地址分别是 http://192.168.1.2:8080 和 http://192.168.1.4:8080 前端使用nginx ...
随机推荐
- 从 C#编写的Exe里面提取图标和图片
记得原来是可以通过PE直接提取Exe里面的图片的,不知道为什么不能用了,下面是通过加载程序集反射出Resources 里面的图片或者图标: 提取结果直接存放到编译目录了,不知道向左向右,自己又回到Wi ...
- UML关系
UML关系详解 1.关联关系(association) 连接模型元素及链接实例,用一条实线来表示 2.依赖关系(dependency) 表示一个元素以某种方式依赖于另一个元素,用一条虚线加箭头来表示 ...
- Spring学习笔记:Spring动态组装打印机
一.如何开发一个打印机 1.可灵活配置使用彩色魔盒或灰色魔盒 2.可灵活配置打印页面的大小 二.打印机功能的实现依赖于魔盒和纸张 三.步骤: 1.定义墨盒和纸张的接口标准 package cn.pri ...
- hdu 4055 Number String(递推DP)
给一个只含‘I','D','?'三种字符的字符串,I表示当前数字大于前面的数字,D表示当前的数字小于前面一位的数字,?表示当前位既可以小于又可以大于. 问1~n的排列中有多少个满足该字符串. http ...
- Could not open php://output for writing.问题解决
这是一个自己在项目中遇到的问题. 由于一直以来,公司都是用的Linux服务器,这次为客户做项目,换成了winserver. 项目中有一项功能是Excel导出,采用PHPEXCEL类库实现.由于是个小项 ...
- java TreeSet 实现存自定义不可重复数据
本文主要是介绍一下java集合中的比较重要的Set接口下的可实现类TreeSet TreeSet类,底层用二叉树的数据结构 * 集合中以有序的方式插入和抽取元素. * 添加到TreeSet中的元素必须 ...
- SQLServer导入大sql文件报错 对 COM 组件的调用返回了错误 HRESULT E_FAIL。 (mscorlib)
打开cmd执行(d:\script.sql为sql文件位置): sqlcmd -S 127.0.0.1 -U sa -P sa -i d:\script.sql From:https://ww ...
- 01.php面向对象
下面是php_oop的一些基本知识 <?php //echo "<meta charset='utf-8'>" //设置中文输出 //1.面向对象类的建立: cl ...
- Oracle INSERT ALL 语句介绍
描述 Oracle INSERT ALL 语句用来用一个 INSERT 语句添加多行.该行可以只使用一个SQL命令插入到一个表或多个表. 语法 Oracle INSERT ALL 语法如下: INSE ...
- Java的Final和C#的Const,Readonly比较分析(转载)
Java里面没有readonly关键字,预留了const的关键字,目前还没有实际用途,在Java中,跟这两个关键字比较接近的是final; C#中,两者都存在并可用.两者修饰的全局变量或局部变量都不能 ...