对kibana的elasticsearch运行查询,该elasticsearch从logstash获取日志。

elasticsearch-quer的Python项目详细描述


弹性搜索查询

PyPIBuild Status

对kibana的elasticsearch运行查询,该elasticsearch从logstash获取日志。从Wikia's ^{}分叉。

pip install elasticsearch-query

基本用法

fromelasticsearch_queryimportElasticsearchQueryes_query=ElasticsearchQuery(es_host='es.prod',since=12345,period=900,index_prefix='logstash-my-app')

es_host需要指定一个要连接的ElasticSearch实例主机。

提供since(绝对时间戳)或period(最后N秒):

  • since:应该获取unix时间戳数据,因为(如果没有,那么period指定最后n秒)。
  • period:在since为空(默认为持续15分钟)时使用的before now()周期(秒)。

index_prefix参数将用于生成要查询的索引名称。 它们应该遵循index-name-YYYY.MM.DD命名约定,例如logstash-my-app-2014.08.19

get_rows

Returns data matching the given query (provided as a dict).

es_query.get_rows(match={"tags":'edge-cache-requestmessage'},limit=2000)
  • match:对日志消息运行的查询(例如{“@message”:“foo bar db querys”})。
  • limit:结果数(默认为10)。

query_by_string

Returns data matching the given query string (provided as a Lucene query).

es_query.query_by_string(query='@message:"^PHP Fatal"',limit=2000)es_query.query_by_string(query='@message:"^PHP Fatal"',fields=['@message','@es_query_host'],limit=2000)
  • query:对日志消息运行的查询字符串(例如@message:"^PHP Fatal")。
  • fields:要获取的字段的可选列表
  • limit:结果数(默认为10)。

query_by_sql

Returns data matching the given SQL query.

elasticsearch的requiresnon-oss版本的这一功能(“要清楚,虽然x-pack源代码现在在公共存储库中可用,但它不在开放源代码许可下”)。

es_query.query_by_sql(sql='SELECT host FROM "app-requests" WHERE host = \'app2.prod\'')

count

Returns number of matching entries

es_query.count(query='@message:"^PHP Fatal"')

集成测试

elasticsearch-query带有集成测试套件。.travis.yml将安装ElasticSearch OSS版本并运行它们。

但也可以在本地运行。运行测试时只需传递ES_TEST_HOST=<elasticsearch IP>env变量(make test)。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java接口中的每个方法都是抽象的,但在抽象类中,我们也只能使用抽象方法   初始化Java中声明的、未初始化的变量会发生什么情况?   java BouncyCastle openPGP将字节[]数组加密为csv文件   在Java中将类A(和所有子类)映射到类B的实例的字典   RSA公钥编码,在Java和Android中,代码相同,结果不同   java在安卓中实现数字检测语音识别   java取消选择复选框   java如何在其他配置中重用Maven配置XML片段   java有没有一种有效的方法来检查HashMap是否包含映射到相同值的键?   spring处理程序调度失败;嵌套的例外是java。lang.NoClassDefFoundError:org/apache/http/client/HttpClient   带有ehcache的java多层缓存   java如何访问chromium(或任何其他浏览器)cookie   java通过将两个集合与spring data mongodb data中的条件合并来获取计数   安卓中R.java的语法错误