日志分析对做业务系统来说是非常重要的事情,比如生产环境出了一个BUG,这时就需要去查日志、查数据、查找错误的原因。一些小公司的业务系统一般都是单机或双机部署的,这个时候通过xshell远程登录服务器,cd 到logs目录,vi 、grep、cat等linux命令查看日志还不是很费劲。当机器越来越多的时候,如果让一个开发人员去服务器上每一台机器都查看一遍日志,那么会弄疯掉的。所以这个时候就需要引入ELK作日志分析了。这里我总结了两个小公司前期的日志分析问题的方案。

方案一:一部分日志通过应用本身打印 Log4J 日志文件在服务器上存储日志文件,通过 Logstash 收集,传给 elastic search 存储,通过kibana 在浏览器网页上查看。

方案二:通过应用程序连接MongoDB数据库,把日志写到MongoDB数据库里面,当出现问题的时候,使用MongoDB客户端管理工具 MongoVUE 连接 MongoDB,通过MongoDB语句查询日志信息进行问题分析。这些日志数据保持15天,每隔15天,运维人工清理MongoDB数据库里的数据。一般日志数据是作问题分析使用的,如果有需要收集日志数据,那么可以根据公司业务建立大数据平台,每天异步把MongoDB上的日志信息导入大数据平台作 BI 分析。大数据平台永久保留数据。这个大数据应用是作数据仓库。当然也可以进行很多spark实时流计算、离线计算等业务,看情况建立。

下面我介绍如果在windows上搭建ELK,绝对良心实践过的,照着步骤做就可以看到实际效果。

1、下载 logstash-7.3.1.zip 、elasticsearch-6.6.2.zip、kibana-6.6.2-windows-x86_64.zip ,下载地址请自行百度官网,自行下载。

2、分别解压到某个目录下,我自己是解压到 E:\elk目录下

3、检查自己本地电脑的JDK环境变量的配置、JAVA_HOME、CLASSPATH、PATH,要求JDK1.8以上

4、先启动 elasticsearch,cd 进入E:\elk\elasticsearch-6.6.2\bin,cmd命令运行 elasticsearch.bat,当可以看到以下截图的时候,浏览器打开 http://localhost:9200 可以正常访问,那么就是安装成功了。

elk收集设备日志 elk收集windows日志_数据

elk收集设备日志 elk收集windows日志_数据_02

elk收集设备日志 elk收集windows日志_elk收集设备日志_03

elk收集设备日志 elk收集windows日志_数据_04

 

5、安装 logstash ,cd 进入E:\elk\logstash-7.3.1\bin 目录,在该目录下新加一个文件 logstash.conf  ,文件内容为 :

input {
      file {
         path => ["D:/app/logs/mytestapp-info.log"]
         start_position => "beginning"
      }
 }filter {
       date {
          match => [ "timestamp" , "YYYY-MM-dd HH:mm:ss" ]
       }
 }output {
        elasticsearch {
           hosts => ["localhost:9200"]
        }
        stdout {
           codec => rubydebug
        }
 }

在该目录下新建一个文件 run.bat,文件内容为:logstash -f logstash.conf 。

保存文件,直接双机run.bat文件运行,可以看到输出运行日志。

elk收集设备日志 elk收集windows日志_elasticsearch_05

浏览器打开:http://localhost:9600/ 可以正常访问,说明logstash安装正常。

 

6、安装kibana,cd 进入E:\elk\kibana-6.6.2-windows-x86_64\config 目录下,可以看到 kibana.yml 配置文件,修改配置文件里面的配置项 elasticsearch.url: "http://localhost:9200"   ,这个是指向自己本地的elasticsearch访问地址,保存。 cd 进入E:\elk\kibana-6.6.2-windows-x86_64\bin目录下,双击kibana.bat运行。电脑配置差的,等2分钟可以看到以下截图。

elk收集设备日志 elk收集windows日志_elasticsearch_06

浏览器打开地址 :http://localhost:5601 可以正常访问,说明安装成功,效果如下截图所示。

elk收集设备日志 elk收集windows日志_elasticsearch_07