Проблема с выводом данных geo_point в ELK

Добрый день! У меня есть необходимость обработать собственные данные некоторых логов
Пример: 86.250.174.21 65507 191.96.36.126 30494 ExploitAttempt 6
Данные поступают в Logstash, его конфиг:

    filter {
      grok {
    match => [
     "message" , "%{IPORHOST:source_ip} %{NUMBER:source_port} %{IPORHOST:dst_ip} %{NUMBER:dst_port} %{DATA:Attack} %{NUMBER:SID:INT}"]
      }

    geoip {
      source => "source_ip"
      target => "geoip_src"
      add_field => {"[geoip_src][coordinates]" => "%{[geoip_src][longitude]}"}
      add_field => {"[geoip_src][coordinates]" => "%{[geoip_src][latitude]}"}
      }

    geoip {
      source => "dst_ip"
      target => "geoip_dst"
      add_field => {"[geoip_dst][coordinates]" => "%{[geoip][longitude]}"}
      add_field => {"[geoip_dst][coordinates]" => "%{[geoip][latitude]}"}
      }

    mutate {
      remove_field => ["message"]
      }
    }

Для вывода данных на Coordinate Map, перед отправкой первых данных, я прописываю в > Dev Tools в Kibana шаблон индекса, в котором указываю тип данных "geo_point" для полей location (ft_2 - название индекса):

    PUT ft_2
    {
    "settings": {
                "number_of_shards": 5,
                "number_of_replicas": 1
    },
      "mappings": {
        "doc": {
          "properties": {
            "@timestamp": {
              "type": "date"
            },
            "@version": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "Attack": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "SID": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "dst_ip": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "dst_port": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "geoip_dst": {
              "properties": {
                "city_name": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "continent_code": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "coordinates": {
                  "type": "geo_point",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "country_code2": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "country_code3": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "country_name": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "dma_code": {
                  "type": "long"
                },
                "ip": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "latitude": {
                  "type": "geo_point"
                },
                "location": {
                  "properties": {
                    "lat": {
                      "type": "geo_point"
                    },
                    "lon": {
                      "type": "geo_point"
                    }
                  }
                },
                "longitude": {
                  "type": "geo_point"
                },
                "postal_code": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "region_code": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "region_name": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "timezone": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                }
              }
            },
            "geoip_src": {
              "properties": {
                "city_name": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "continent_code": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "coordinates": {
                  "type": "geo_point",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "country_code2": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "country_code3": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "country_name": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "dma_code": {
                  "type": "long"
                },
                "ip": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "latitude": {
                  "type": "geo_point"
                },
                "location": {
                  "properties": {
                    "lat": {
                      "type": "geo_point"
                    },
                    "lon": {
                      "type": "geo_point"
                    }
                  }
                },
                "longitude": {
                  "type": "geo_point"
                },
                "postal_code": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "region_code": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "region_name": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                },
                "timezone": {
                  "type": "text",
                  "fields": {
                    "keyword": {
                      "type": "keyword",
                      "ignore_above": 256
                    }
                  }
                }
              }
            },
            "host": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "level": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "logger_name": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "path": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "port": {
              "type": "long"
            },
            "source_ip": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "source_port": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "tags": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "type": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            }
          }
        }
      }
    }

После чего, отправляю сообщения и приходит следующий формат в JSON:

    {
      "_index": "ft_2",
      "_type": "doc",
      "_id": "KqxweXUBBkwPoRozDahM",
      "_version": 1,
      "_score": null,
      "_source": {
        "geoip_src": {},
        "stack_info": null,
        "type": "logstash",
        "tags": [
          "_geoip_lookup_failure"
        ],
        "SID": "0",
        "source_port": "34450",
        "@version": "1",
        "dst_ip": "248.115.207.180",
        "level": "INFO",
        "geoip_dst": {},
        "path": "c:\\TCP Data Logstash.py",
        "dst_port": "54710",
        "host": "111",
        "@timestamp": "2020-10-30T12:16:26.662Z",
        "logger_name": "python-logstash-logger",
        "source_ip": "251.95.83.212",
        "Attack": "TorrentBit",
        "port": 54323
      },
      "fields": {
        "@timestamp": [
          "2020-10-30T12:16:26.662Z"
        ]
      },
      "sort": [
        1604060186662
      ]
    }

Однако, если не указывать в шаблоне индекса тип данных "geo_point", то все данные приходят и видны, однако их нельзя использовать в Coordinate Map. Помогите пожалуйста устранить эту проблему.

Тут ключевой момент такой:

Это означает, что для этого IP определить месторасположения не удалось, что вобщем-то и понятно, так как все IP из диапазона 240.0.0.0/4 зарезервированы, так что машин с таким адресом в интернете существовать не должно.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.