mihirsoni / odfe-monitor-cli

Manage your Alerting monitors
Apache License 2.0
34 stars 22 forks source link

Support AWS Elasticsearch #2

Open mihirsoni opened 5 years ago

danopia commented 4 years ago

Is there a concept of what's missing for AWS ES support?

I just tried out this project against my AWS ES cluster running ElasticSearch 6.7 (the latest offered by AWS). sync --destinations and sync --monitors worked fine, as does diff.

~The problem I encountered was trying to push --submit any monitor change, no matter how trivial~ This is a weird local golang environment.

I'm no stranger to golang, so if there's something I can PR for AWS ES, let me know. I use it quite a bit and have been wanting to buy into the alerting system.

I obtained my version of the code just now using go get github.com/mihirsoni/odfe-monitor-cli. I am running this tool through abutaha/aws-es-proxy:0.9 in order to sign the traffic with IAM credentials.

mihirsoni commented 4 years ago

Hi @danopia

Thanks for reporting issue. What I really meant by AWS Elasticsearch was to have inbuilt support for request signer.

I did try it my self with with latest aws-es-proxy and it worked without any issues. Are you sure you're using latest installation of odfe-monitor-cli ?

bin/odfe-monitor-cli -e http://localhost:9200 push --submit
Running monitors 1 / 1 [=================================================================================================================================================================================] 100.00% 0s
Creating monitors 1 / 1 [================================================================================================================================================================================] 100.00% 0s
INFO[0000] Done

Also, I would be happy to accept PR for supporting AWS ES natively from this CLI it self without relaying on other tools. The reason of making it standalone is to run this as part of CI/CD and may have other integration tool.

lazarveljovic commented 4 years ago

Hi @mihirsoni,

I'm also trying to use odfe-monitor-cli with AWS Elasticsearch - however I'm getting an error: odfe-monitor-cli sync --destinations -e http://localhost:9200 FATA[0000] Unable to connect to elasticsearch { "Status": 403, "Data": { "message": "Authorization header requires 'Credential' parameter. Authorization header requires 'Signature' parameter. Authorization header requires 'SignedHeaders' parameter. Authorization=Basic ........" } } As you've suggested I've installed aws-es-proxy in order to make AWS Elasticsearch available as http://localhost:9200 and I can confirm that ES is available as localhost now.

Can you please advise how can I solve this issue?

mihirsoni commented 4 years ago

@lazarveljovic Thanks for reporting an issue.

I just tried again and it worked without any issue. Are you sure there are no issue with the proxy setup ?

aws-es-proxy generally generated credentials, are you able to see the logs ?

lazarveljovic commented 4 years ago

@mihirsoni Thanks for your response, I managed to sort it out. aws-es-proxy-node was the one needed and it worked in mine case.