hertzbeat icon indicating copy to clipboard operation
hertzbeat copied to clipboard

[Feature] Add support for `Alibaba Cloud Elasticsearch` storage

Open Duansg opened this issue 5 months ago • 6 comments

Feature Request

No response

Is your feature request related to a problem? Please describe

No response

Describe the solution you'd like

No response

Describe alternatives you've considered

Currently, in some business scenarios, the Alibaba Cloud Elasticsearch product is being used. In specific kernel versions, this product supports PromQL statements through the timestream plugin to replace domain-specific language (DSL) statements for querying stored metric data. For background information and features, please refer to: aliyun-timestream

After understanding the current logic flow of hertzbeat, I have determined that it does not currently support this feature. I expect to implement it within the next week, with the following approximate scope:

step1、Due to some differences with prometheus rest api, need to extend AlibabaCloudESQueryExecutor to support some differentiated rest api. step2、 Add new documents or explanations related to access. step3、 Add/complete test cases.

Image

If you have any questions or concerns, please feel free to contact me at any time.

Additional context

No response

Duansg avatar Jul 18 '25 12:07 Duansg

hi, we will soon support the logs module, but logs is implemented using greptime, and the threshold expression uses the SQL in greptime. Is it appropriate to use ali-es to implement the storage layer now? @bigcyy

tomsun28 avatar Aug 25 '25 14:08 tomsun28

https://github.com/apache/hertzbeat/pull/3673

tomsun28 avatar Aug 25 '25 14:08 tomsun28

hi, we will soon support the logs module, but logs is implemented using greptime, and the threshold expression uses the SQL in greptime. Is it appropriate to use ali-es to implement the storage layer now? @bigcyy

Hi tom, The current SQL parsing and execution are fully delegated to the underlying database. Therefore, the only requirement is for Ali-ES to support SQL queries. However, I haven't found any documentation to confirm this yet. @Duansg, could you point me to any relevant documentation or links? Alternatively, log support could also be implemented if Ali-ES is able to query logs using PromQL.

bigcyy avatar Aug 25 '25 16:08 bigcyy

hi, we will soon support the logs module, but logs is implemented using greptime, and the threshold expression uses the SQL in greptime. Is it appropriate to use ali-es to implement the storage layer now? @bigcyy

Hi tom, The current SQL parsing and execution are fully delegated to the underlying database. Therefore, the only requirement is for Ali-ES to support SQL queries. However, I haven't found any documentation to confirm this yet. @Duansg, could you point me to any relevant documentation or links? Alternatively, log support could also be implemented if Ali-ES is able to query logs using PromQL.

Hi,@tomsun28 @bigcyy

Currently, all related extension functions of ali-es are implemented through its plug-ins, which can be found in Plug-in Configuration to find them.

Although it supports SQL queries, I recommend using ali-es only as an alternative solution, as some features are only available in the commercial version.

Duansg avatar Aug 25 '25 16:08 Duansg

Although it supports SQL queries, I recommend using ali-es only as an alternative solution, as some features are only available in the commercial version.

If this is the case, it is recommended not to merge this PR yet. We can keep it and see how the subsequent features develop.

tomsun28 avatar Aug 26 '25 00:08 tomsun28

Although it supports SQL queries, I recommend using ali-es only as an alternative solution, as some features are only available in the commercial version.

If this is the case, it is recommended not to merge this PR yet. We can keep it and see how the subsequent features develop.

Hi,@tomsun28 okay, no problem. I'll make a note of that.

The original purpose of this PR was to consider integration with existing infrastructure (ali-es) in some of our independent deployment environments, as some business metrics are stored through this.

However, I later discovered that there are differences between versions that support Promql queries. I will explore the TimeStream alternative in order to increase compatibility.

Duansg avatar Aug 26 '25 01:08 Duansg