jetstack / navigator

Managed Database-as-a-Service (DBaaS) on Kubernetes
Apache License 2.0
271 stars 31 forks source link

Have the pilot update the status of its PilotResource #169

Closed wallrj closed 6 years ago

wallrj commented 6 years ago

Part of #140

/kind bug

wallrj commented 6 years ago

Trying the Jolokia javaagent in order to access database status information via a REST API rather than having to use nodetool.

wget --quiet -O - http://localhost:8778/jolokia/list?maxDepth=1 | jq
wget https://github.com/rhuss/jolokia/releases/download/v1.3.7/jolokia-1.3.7-bin.tar.gz
tar xf jolokia-1.3.7-bin.tar.gz
-javaagent:/jolokia-1.3.7/agents/jolokia-jvm.jar
wget --quiet -O - http://localhost:8778/jolokia/read/org.apache.cassandra.db:type=StorageService/LiveNodes | jq .

See:

munnerz commented 6 years ago

I've taken a quick look at Jolokia & nodetool, although as you can imagine it's not something I've read much about before.

From what I can see, nodetool doesn't support output formats when you run a CLI command, so it'll take some nasty parsing to use it instead of some programmatic API that Jolokia provides.

I'm kind of hesitant however to set up/run Jolokia within each pod, simply because it's not something that we're familiar with yet, and given it's quite specific to Cassandra I think we could do with chatting to some experts to make sure that this is in fact the defacto for it. Is there any way we can introduce the Pilot resource type without this for now?

If this is something we can't do without, I think we should sync up next week and get on a call with someone that knows Cassandra well to verify our decisions 😄 wdyt?

munnerz commented 6 years ago

/area cassandra /kind feature

wallrj commented 6 years ago

Fixed in #263