Linux is not Matrix——日志搜集平台ELK(I)
来源:互联网 发布:迅雷你的网络未连接 编辑:程序博客网 时间:2024/06/05 23:32
又拖了一些日子,然而是为了准备一个大新闻,一般来说我准备的这些运维方面的软件都是有了这个需求,然后需要解决什么问题才会研究这方面的软件的,这次也是为了解决一个问题,日志。
我们已经在代码中加入了log4j,在jboss或者tomcat的log文件夹中就能看到日志输出的信息了,一旦出了问题我们就可以找到日志,然后打开里面的内容去解决具体问题。
然而,假设我们的系统是一个大型的分布式系统,如果出了问题很可能需要查询多个服务器的日志,甚至可能会查系统日志,安全日志,软硬件信息等等,这样的话效率一下就降低了很多,所以呢,也是找到了一个日志收集的这么个系统。
开源实时日志收集系统ELK,ELK分别是三个东西,ElasticSearch,Logstash,Kiabana。
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful 风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用。
kibana 也是一个开源和免费的工具,他Kibana 可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
虽然说着这么复杂,其实总结起来就是,L负责搜集日志,E负责搜索,K负责页面显示。
好了,我们的Logstash需要JDK,这个我就不写教程了,应该都会装的,我们去官网下载一波压缩包。
wget https://download.elastic.co/logstash/logstash/logstash-2.3.1.tar.gz下载之后解压。
tar zxvf ./logstash-2.3.1.tar.gz移动到新的文件夹。
mv ./logstash-2.3.1 ./logstash解压之后就可以启动试试了。不过这次启动我们先看看有什么效果,执行。
cd ./logstash./bin/logstash -e 'input { stdin { } } output { stdout {} }'执行完成之后,我们可以试着在命令行中输入信息,我们输入什么,logstash就会在屏幕上显示什么,并且写成一种特定的格式。比如我写一个helloworld,屏幕上就会显示这个。
{ "message" => "helloWorld", "@version" => "1", "@timestamp" => "2016-05-15T22:07:28.284Z", "host" => "noc.vfast.com"}这种情况下就算可以了,但是呢,我们既然是搜集日志,我们就先配置一个系统的日志试试。我们添加一个搜集系统日志的配置文件,里面写这些内容
input { file { type =>"syslog" path => ["/var/log/messages", "/var/log/syslog" ] } syslog { type =>"syslog" port =>"5544" }}output { stdout { codec=> rubydebug } elasticsearch {hosts=> "127.0.0.1:9200" }}这里就是规定了日志的位置,然后类型,提交给ElasticSearch的地址等等,应该能看的出来。
这样就算配置好一个Logstash了,不难看出logstash是怎么实现分布式搜集日志的,首先定义了文件的位置,然后读取文件并且输出成一种固定的格式,最后提交给远程的ElasticSearch的服务端,这样服务端接收数据之后就能进行全文索引了。
今天就这样- -
- Linux is not Matrix——日志搜集平台ELK(I)
- Linux is not Matrix——日志搜集平台ELK(II)
- Linux is not Matrix——日志搜集平台ELK(III)
- Linux Is Not Matrix——Nginx做成linux服务
- Linux Is Not Matrix——jenkins配置主从节点
- Linux Is Not Matrix——repo浅解
- Linux Is Not Matrix——Nginx安装
- Linux Is Not Matrix——keepalived安装
- Linux Is Not Matrix——oracle创建数据库实例
- Linux Is Not Matrix——oracle监听设置
- Linux Is Not Matrix——扩容的时间
- Linux Is Not Matrix——扩容的时间2
- Linux Is Not Matrix——zabbix安装
- Linux Is Not Matrix——zabbix添加新主机
- Linux Is Not Matrix——zabbix监控mysql
- Linux Is Not Matrix——zabbix监控JBoss
- Linux is not Matrix——redis集群搭建
- Linux is not Matrix——saltstack批量管理服务器
- hzauoj Problem H: Eat Candy (暴力)
- 第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
- Angular入门2
- Building Web Apps in WebView
- 使用MATLAB工具箱TOOLBOX_calib标定摄像头过程
- Linux is not Matrix——日志搜集平台ELK(I)
- 搭建一个私有registry服务(基础版本)
- 归纳法证明汉诺塔解析式思路
- 67. Add Binary
- 360开源的类Redis存储系统:Pika
- Java编程思想[二]操作符
- Spark SQL简单操作演示(含导出表)
- 【软考总结】——十六进制与二进制的转换
- Java实现ftp上传文件、文件夹