在logstash中替换/删除“]”符号

时间:2017-07-24 07:21:07

标签: logstash elastic-stack

我正在尝试在Logstash和ElasticSearch映射中将文本类型字段转换为浮点字段。 字段名称为votingPercentage。 我的日志如下:“votingPercentage = 0.13]” 由于字段值的末尾有一个“]”符号 - ElasticSearch无法将其映射到浮点数。 为了删除“]”符号,我尝试在logstash.conf文件中进行以下配置:

prodFilterDescr: Array<IOption> = [
        {label: 'Belgium', value: 'Belgium'},
        {label: 'Luxembourg', value: 'Luxembourg'},
        {label: 'Netherlands', value: 'Netherlands'}
    ];

(使用g作为全局) 此配置已删除“]”符号并启用votingPercentage字段作为float映射,但它也删除了字段中“g”字母的任何外观,因此结果是:“votin Percenta e”现在是字段名称。 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

你应该使用grok来获取百分比,使用这样的过滤器:

angular.module('myApp', []).controller('checkBoxCtrl', ['$scope', function ($scope) { 

    $scope.SelectedMobileCateg = function () {
        alert($scope.SelectedMobID);
        debugger;
        angular.module('myApp', []).controller("ProductController", function ($scope, $http) {
            $http.get('http://localhost:50622/api/GetMobile/getMobiles').
              success(function (data) {
                  $scope.products = data;
                  debugger;
              }).
              error(function (data) {
                  debugger;
                  alert("erro");
              });
        });
    };

}]);

另外,我认为你不需要设置全局标志,因为默认情况下gsub过滤器会替换所有出现的事件,即便如此,你只有一个 grok { match => { "message" => 'votingPercentage = %{NUMBER:votingPercentage}]' } } (据我所见) 。