3

Windows 7 環境で Logstash、Elasticsearch、および Kibana の組み合わせを機能させるのに苦労しています。

3 つすべてをセットアップしましたが、すべて正常に動作しているようです。Logstash と Elasticsearch は Windows サービスとして実行され、Kibana は IIS の Web サイトとして実行されています。

Logstashはから実行されていますhttp://localhost:9200

次の形式で .txt にログ ファイルを作成する Web アプリケーションがあります。

日時=[日時]、値=[xxx]

ログ ファイルは次のディレクトリに作成されます。

D:\wwwroot\Logs\Errors\

私の logstash.conf ファイルは次のようになります。

input {

  file {
    format => ["plain"]
    path => ["D:\wwwroot\Logs\Errors\*.txt"]
    type => "testlog"
   }
}


output {
  elasticsearch {
        embedded => true
    }
}

私の Kibana config.js ファイルは次のようになります。

define(['settings'],
function (Settings) {


return new Settings({

elasticsearch: "http://localhost:9200",

kibana_index: "kibana-int",

panel_names: [
  'histogram',
  'map',
  'pie',
  'table',
  'filtering',
  'timepicker',
  'text',
  'fields',
  'hits',
  'dashcontrol',
  'column',
  'derivequeries',
  'trends',
  'bettermap',
  'query',
  'terms'
]
});
});

Kibana を表示すると、次のエラーが表示されます。

にインデックスが見つかりませんhttp://localhost:9200/_all/_mapping。少なくとも 1 つのインデックスを作成してください。プロキシを使用している場合は、正しく構成されていることを確認してください。

インデックスの作成方法がわからないので、誰かが私が間違っていることに光を当てることができれば、それは素晴らしいことです.

4

1 に答える 1

3

現在、elasticsearch には何も届いていないようです。

現在のバージョンの es (0.90.5) では、elasticsearch_http の出力を使用する必要がありました。elasticsearch の出力は、0.90.3 と密接に関連しているように見えました。

例:log4j形式からエラスティック検索への私の設定は次のとおりです

input {
  file {
    path => "/srv/wso2/wso2am-1.4.0/repository/logs/wso2carbon.log"
    path => "/srv/wso2/wso2as-5.1.0/repository/logs/wso2carbon.log"
    path => "/srv/wso2/wso2is-4.1.0/repository/logs/wso2carbon.log"
    type => "log4j"
  }
}

output {
  stdout { debug => true debug_format => "ruby"}

  elasticsearch_http {
    host => "localhost"
    port => 9200    
  }
}

私のファイル形式には、適切に解析するための grok フィルターもあります。

filter {
      if [message] !~ "^[ \t\n]+$" {
        # if the line is a log4j type
        if [type] == "log4j" {
          # parse out fields from log4j line
          grok {
            match => [ "message", "TID:%{SPACE}\[%{BASE10NUM:thread_name}\]%{SPACE}\[%{WORD:component}\]%{SPACE}\[%{TIMESTAMP_ISO8601:timestamp}\]%{SPACE}%{LOGLEVEL:level}%{SPACE}{%{JAVACLASS:java_file}}%{SPACE}-%{SPACE}%{GREEDYDATA:log_message}" ]
            add_tag => ["test"]
          }

          if "_grokparsefailure" not in [tags] {
            mutate {
              replace => ["message", " "]
            }
          } 
          multiline {
            pattern => "^TID|^ $"
            negate => true
            what => "previous"
            add_field => {"additional_log" => "%{message}"}
            remove_field => ["message"]
            remove_tag => ["_grokparsefailure"]
          }
          mutate {
            strip => ["additional_log"]
            remove_tag => ["test"]
            remove_field => ["message"]
          }

        }
      } else {
        drop {}
      }
    }

また、elasticsearch head プラグインを取得して、elasticsearch でコンテンツを監視し、データとその状態を簡単に確認します。

于 2013-10-30T17:26:24.597 に答える