天天看点

ELK Stack7.2系列软件windows安装和配置

         官网下载页:ELK 官网

一、ElasticSearch

          ES运行基于JVM,需要Java支持:JDK:Java version 1.8.0_131 or a later version,本人下载安装了1.8.0.161,安装指南,建议JDK的安装路径不要有空格等其他字符,以免后面遇到问题(本人就在后面的Logstash安装中,因为JDK路径问题而遇到麻烦)。把.\elasticsearch-7.2.0\bin添加环境变量PATH。

          启动测试:CMD: 进入elasticsearch\bin,打开elasticsearch.bat,访问:http://localhost:9200/,看到json信息即启动成功。

          为了能够在外面通过完整URL访问,需要设置:\elasticsearch-6.2.3\config\elasticsearch.yml, #network.host: 0.0.0.0。

          另外,config\elasticsearch.yml这里可以修改集群的名字和节点的名字

          解决elasticsearch.bat命令行运行窗口中文乱码问题:

          修改conf下面的jvm.options如下

# ensure UTF-8 encoding by default (e.g. filenames)

#-Dfile.encoding=UTF-8

-Dfile.encoding=GBK
           

二、kibana

       下载、解压,配置kibana.yml:elasticsearch.hosts: ["http://localhost:9200"](去掉#即可)

       配置环境变量       

启动./bin/kibana.bat
# 后台运行
nohup ./kibana &


访问:http://localhost:5601
           

       访问:http://localhost:5601

       为了能够在外面通过完整URL访问,需要设置:kibana.yml:#server.host: "0.0.0.0"即可

插件安装

./bin/kibana-plugin install plugin-location
./bin/kibana-plugin list
./bin/kibana remove
           

三、Logstash安装

       由于JAVA_HOME路径中有空格,需要修改一下logstash.bat文件,导航到52行,把%CLASSPATH%修改     为"%CLASSPATH%"。这个问题,这个博客解释得比较清楚:https://www.cnblogs.com/sbj-dawn/p/8549369.html

       Inputs,Outputs,Codecs,Filters构成了Logstash的核心配置项。

       新建std.conf文件,放到logstash\bin\conf目录下,std.conf文件添加以下内容:

input { 
    stdin { } 
}

output {
     stdout { }
}

input是指数据来源地,stdin{}指从键盘输入;
output 是指数据目的地,stdout{}指输入到屏幕。
           

cmd:bin/logstash -f conf\std.conf  启动logstash。

如果设置多个配置文件.conf,把它们放到一个文件夹里面,启动的时候指到这个文件夹,logstash启动的时候都会把它们编译成一个文件,并且只有一个pipeline运行。

将oracle安装目录下的ojdbc7.jar拷贝到logstash-6.2.3/lib目录下(此包是同步oracle数据库的驱动程序)

以下是我连接oracle的配置文件logstash_jdbc_oracle.conf,配置文件也放到logstash-6.2.3/lib目录下

input{
    stdin{}
    jdbc{
        jdbc_connection_string => "jdbc:oracle:thin:@//192.168.1.100:1521/GZGA_GIS"
        jdbc_user => "JC_G"
        jdbc_password => "password"
        jdbc_driver_library => "E:\mysever\ES\logstash-6.2.3\bin\ojdbc7.jar"
        jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
        record_last_run => "true"
        use_column_value => "false"
        tracking_column => "systemid"
        clean_run => "false" 
        jdbc_paging_enabled => "true"
        jdbc_page_size => "50000"
        statement =>"select * from _G.G.ZJD"
        schedule => "* * * * *"
    }
}
output{
    elasticsearch{
        hosts => "localhost:9200"
        index => "ts001"
        document_id => "%{systemid}"
    }
    stdout{
        codec =>"json_lines"
    }
}
           

     可以直接写sql表达语句,也可以创建sql脚本对应配置脚本中的statement_filepath:jdbc_oracle.sql,脚本中写sql语句即可

在logstash/bin下启动程序: ./logstash -f logstash_jdbc_oracle.conf,

总结:

      logstash是一个数据分析软件,主要目的是分析log日志。整一套软件可以当作一个MVC模型,logstash是controller层,Elasticsearch是一个model层,kibana是view层。

      将数据传给logstash,它将数据进行过滤和格式化(转成JSON格式),然后传给Elasticsearch进行存储、建搜索的索引,kibana提供前端的页面再进行搜索和图表可视化,它是调用Elasticsearch的接口返回的数据进行可视化。logstash和Elasticsearch是用Java写的,kibana使用node.js框架。

继续阅读