2017-04-19 14 views
0

これは、この質問をするのに適していない場合があります。しかし、私はそうするための記事を見つけることができませんでした。 以下のパッケージがCentOSにインストールされています。elastseertからelasticsearch - ELK - APIを呼び出す方法は?

 
Elasticsearch (I don't need it as I am trying to talk to ELK stack cluster using an API. I don't want ealsticsearch run locally on the box where I have elastalert.) 
ISO8601 or Unix timestamped data 
Python 2.6 or 2.7 
pip, see requirements.txt 

ただし、APIを使用して弾性検索クラスタを呼び出すにはどうすればよいですか。私はそうするAPIとサービスアカウントを持っています。 ここが私が探しているものです。 elastalert-master/example_rulesの下のファイルを変更する必要がありますか?

私はconfig.yaml.exampleも変更しようとしましたが、auth pyファイルとエラーの呼び出しを続けています。 私はAPIとサービスアカウントを持っているので、私は何も認証する必要はないことを知っています。 これを行うには、単にcronとしてelastakertを使用する必要があります。

お勧めします。

答えて

0

私はPythonに精通していますので、私はPythonで答えてみましょう。私はモジュールリクエストを使用しています。

In [1]: import requests 
In [2]: from requests.auth import HTTPBasicAuth 

In [3]: url = 'http://es-server:9200/my_log*/_count' 
In [4]: data = '''{ 
    ....: "query": { 
    ....:  "bool": { 
    ....:  "must": [ 
    ....:   { 
    ....:   "term": { 
    ....:    "deployment": "testapp" 
    ....:   } 
    ....:   } 
    ....:  ] 
    ....:  } 
    ....: } 
    ....: }''' 

In [5]: resp = requests.get(url, auth = HTTPBasicAuth('esuser', 'espwd'), data = data) 

In [6]: j = resp.json() 

In [7]: j 
Out[7]: 
{u'_shards': {u'failed': 0, u'successful': 185, u'total': 185}, 
u'count': 2393083} 
+0

応答@felixcに感謝します。しかし、私はこのようにAPI呼び出しを行う方法を探しているわけではありません。これは、SOAPまたはPOSTMAN RESTツールを使用してELKスタックを照会する方法と似ています。私はELKスタックへの呼び出しを行うためにelastalert設定ファイルを使う方法を探しています。 – user3709172

関連する問題