Skip to content

feature: support showing apisix cluster node information#962

Closed
agile6v wants to merge 4 commits into
apache:masterfrom
agile6v:master
Closed

feature: support showing apisix cluster node information#962
agile6v wants to merge 4 commits into
apache:masterfrom
agile6v:master

Conversation

@agile6v

@agile6v agile6v commented Dec 11, 2019

Copy link
Copy Markdown
Member

Summary

  1. Enhanced the /apisix/status api
  2. Added the /apisix/admin/cluster/ api to show the cluster node information

Full changelog

Added the /apisix/cluster path in etcd and a timer in node-status plugin. The timer is triggered to update the node information every 5 seconds. The information of all apisix nodes will be recored in the /apisix/cluster path, which can be showed via /apisix/admin/cluster api.

Related to #459

@membphis

Copy link
Copy Markdown
Member

@agile6v We can not to use etcd to store the node status, it will cause the data version in etcd to keep changing.

@agile6v

agile6v commented Dec 14, 2019

Copy link
Copy Markdown
Member Author

Hi @membphis

I realized that etcd is really not suitable for storing data that change frequently.
Do you have any good idea?

Thanks.

@moonming

Copy link
Copy Markdown
Member

how about adding these data in the Prometheus plugin? Or send to elk?

@agile6v

agile6v commented Jan 1, 2020

Copy link
Copy Markdown
Member Author

I don't think it's a good choice to introduce a heavy component. I want to split this feature and first implement the /apisix/status api enhancement. What do you think of?
@moonming

@moonming

moonming commented Jan 1, 2020

Copy link
Copy Markdown
Member

how about reusing the API in the Prometheus plugin: https://github.com/apache/incubator-apisix/blob/master/lua/apisix/plugins/prometheus.lua#L52? This way will not introduce Prometheus, you can use any component to call this API.

@membphis

membphis commented Jan 2, 2020

Copy link
Copy Markdown
Member

I realized that etcd is really not suitable for storing data that change frequently.
Do you have any good idea?

The prometheus is better.

@moonming

moonming commented Jan 6, 2020

Copy link
Copy Markdown
Member

@agile6v what's your opinion?

@agile6v

agile6v commented Jan 6, 2020

Copy link
Copy Markdown
Member Author

@agile6v what's your opinion?

@moonming I haven't figured out how to display the cluster information. This plugin can display the information of the single machine. But Is the information of the cluster read from prometheus?

@membphis

membphis commented Jan 6, 2020

Copy link
Copy Markdown
Member

@agile6v Of course, it can be implemented in prometheus.

image

@agile6v

agile6v commented Jan 6, 2020

Copy link
Copy Markdown
Member Author

@agile6v Of course, it can be implemented in prometheus.

image

OK. I will implement it ASAP.

@membphis

membphis commented Jun 8, 2020

Copy link
Copy Markdown
Member

@agile6v do you want to continue work on this issue or we can close this PR first?

@agile6v

agile6v commented Jun 8, 2020

Copy link
Copy Markdown
Member Author

OK. Recently learned about the implementation of k8s-ingress. It should be what we want.

@agile6v agile6v closed this Jun 8, 2020
@agile6v agile6v mentioned this pull request Dec 2, 2020
4 tasks
shreemaan-abhishek pushed a commit to shreemaan-abhishek/apisix that referenced this pull request Jan 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants