3个版本

0.1.2 2022年11月28日
0.1.1 2022年11月28日
0.1.0 2022年11月28日

1769数据库接口

MIT 许可证

17KB
112

假beat - 生成随机Elasticsearch文档的友好且灵活的实用工具

关于

假beat允许您使用Tera模板轻松生成假数据。

这与现有的elastic/makelog类似,但提供了更大的灵活性。

  1. 配置映射
  2. 使用我们的灵活模板引擎设置文档值生成
  3. 使用方便的CLI实用工具根据模板生成您的固定值。

用法

定义自定义文档模板(作为文本文件),包括index配置和每个字段的values,如下所示

{
  "values": {
    "@timestamp": "{{date()}}",
    "threat": {
      "indicator": {
        "type": "file",
        "first_seen": "{{date(sub_rnd_days=30)}}",
        "file": {
          "hash": {
            "md5": "{{hash()}}"
          }
        },
        "marking": {
          "tlp": "RED"
        }
      },
      "feed": {
        "name": "fakebeat_{{random_value(options='file|host')}}"
      }
    },
    "event": {
      "type": "indicator",
      "category": "threat",
      "dataset": "ti_*",
      "kind": "enrichment"
    }
  },
  "index": {
    "mappings": {
      "properties": {
        "@timestamp": { "type": "date" },

        "threat": {
          "properties": {
            "indicator": {
              "properties": {
                "type": { "type": "keyword" },
                "first_seen": { "type": "date" },
                "file": {
                  "properties": {
                    "hash": {
                      "properties": {
                        "md5": {
                          "type": "keyword"
                        }
                      }
                    }
                  }
                },
                "marking": {
                  "properties": {
                    "tlp": { "type": "keyword" }
                  }
                }
              }
            },
            "feed": {
              "properties": {
                "name": {
                  "type": "keyword"
                }
              }
            }
          }
        },

        "event": {
          "properties": {
            "type": { "type": "keyword" },
            "category": { "type": "keyword" },
            "dataset": { "type": "keyword" },
            "kind": { "type": "keyword" }
          }
        }
      }
    }
  }
}

注意:您可以直接从Kibana复制index部分,它接受create index api允许的任何内容

每个values都可以使用随机值生成器构建。您可以使用fakebeat -g检查可用的生成器。生成的值可以组合并用于条件语句 - 请参阅Tera手册以获取模板可能实现的内容。

一旦模板准备就绪,将其保存到文件中,然后运行filebeat you_file.json --index index-name --count 100以在您的本地ES实例中创建100个文档。还可以使用不同的主机或云部署,有关如何操作,请参阅fakebeat -h

请参阅示例以了解模板可能的外观。

用法示例(假设默认的urlpasswordusername选项)

单个文档模板: fakebeat examples/event_file.json -i filebeat-file -c 10000

多个示例: fakebeat 示例/event_file.json -i filebeat-file -c 10000 示例/threat_url.json -i filebeat-url -c 10000

追加到索引而不是重新创建: fakebeat -a examples/event_file.json -i filebeat-file -c 10000 示例/threat_url.json -i filebeat-url -c 10000

依赖项

~18–34MB
~546K SLoC