首先,我运行以下内容:
curl -s -XGET http://localhost:9200/my_index/_search?scroll=1m&search_type=scan&size=10
Run Code Online (Sandbox Code Playgroud)
这将返回一个滚动ID,然后我在第一个滚动请求中使用它:
curl -s -XGET http://localhost:9200/_search/scroll?scroll=1m&scroll_id=<scroll_id from above>
Run Code Online (Sandbox Code Playgroud)
文档会让我相信当我运行第二个curl请求时,我应该得到一个新的滚动ID.
但是,看起来我继续获得相同的滚动ID.
看起来每个请求返回的数据都不同,所以我假设一切正常.
到底是怎么回事?
我想创建一个@timestamp字段的副本,使其使用相同的格式@timestamp.
我尝试过以下方法:
mutate
{
add_field => ["read_time", "%{@timestamp}"]
}
Run Code Online (Sandbox Code Playgroud)
但同时,@timestamp格式为:2014-08-01T18:34:46.824Z,
的read_time是这种格式2014-08-01 18:34:46.824 UTC
这是一个问题,因为Kibana不理解直方图的"UTC"格式.
有没有办法使用日期过滤器来做到这一点?
我将部署一个logstash实例,该实例将处理各种输入并执行多个过滤操作.考虑到输入的复杂性和数量,配置文件很可能最终会有很多if-then语句.
我的问题是:
有没有办法让配置文件更"模块化"?在编程意义上,我会创建函数/子程序,以便我可以独立测试.我考虑过动态创建可用于测试的迷你配置文件.然后可以将这些迷你文件组合成一个生产配置.
是否有任何"最佳实践"用于测试,部署和管理更复杂的Logstash配置?
谢谢!
所以,我在测试这个配置,使用的指标从Logstash网站在这里.
input {
generator {
type => "generated"
}
}
filter {
if [type] == "generated" {
metrics {
meter => "events"
add_tag => "metric"
}
}
}
output {
# only emit events with the 'metric' tag
if "metric" in [tags] {
stdout {
message => "rate: %{events.rate_1m}"
}
}
}
Run Code Online (Sandbox Code Playgroud)
但看起来stdout的"消息"字段已被弃用.在Logstash 1.4中执行此操作的正确方法是什么?
我最近尝试为我运行的 Web 服务器续订证书,但收到以下错误::
SSLError: ("bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",)
Run Code Online (Sandbox Code Playgroud)
我在社区页面上看到了一些帖子,但似乎没有什么正是我的问题所在。
有什么想法吗?