用于cat命令的Windows等效使用Logstash将数据提取到ElasticSearch中

时间:2016-02-12 19:06:03

标签: windows elasticsearch command-line logstash

我正在尝试在Windows 10计算机上运行ELK for NGINX Plus (JSON) example,并且我发现了一个等效于以下unix命令的Windows,用于将日志数据提取到Elasticsearch中:

cat nginxplus_json_logs | <path_to_logstash_root_dir>/bin/logstash -f nginxplus_json_logstash.conf

来自this questionthis question我了解type可以在unix中执行与cat相同的操作。我尝试了使用cat替换type的完全相同的命令,这不足为奇。这是我的命令和回应:

type nginxplus_json_logs.txt | ../logstash-2.1.1/bin/logstash -f nginxplus_json_logstash.conf

'..' is not recognized as an internal or external command,
operable program or batch file.

是否可以使用type命令复制该操作?如果是这样,我如何更改格式化命令的方式?

1 个答案:

答案 0 :(得分:2)

在Windows上,您的命令应该使用反斜杠&#34; \&#34;而不是正斜杠&#34; /&#34;您需要调用logstash.bat文件而不是logstash

所以你的命令必须是这样的(确保cd首先进入正确的文件夹):

type nginxplus_json_logs.txt | ..\logstash-2.1.1\bin\logstash.bat -f nginxplus_json_logstash.conf

此外,您拥有的logstash配置文件适用于Logstash 1.5.4,因为您有2.1.1,您可以修改elasticsearch输出,使其看起来像这样:

  elasticsearch {
    hosts => ["localhost:9200"]
    index => "nginxplus_json_elk_example"
    document_type => "logs"
    template => "./nginxplus_json_template.json"
    template_name => "nginxplus_json_elk_example"
    template_overwrite => true
  }