Apache Flink¶
Connect HolmesGPT to the Flink JobManager monitoring REST API.
Prerequisites¶
- A reachable Flink JobManager REST endpoint
Configuration¶
Add the following to ~/.holmes/config.yaml. Create the file if it doesn't exist:
toolsets:
flink:
enabled: true
config:
api_url: http://flink-jobmanager.streaming.svc:8081
max_items: 100
When using the standalone Holmes Helm Chart, update your values.yaml:
toolsets:
flink:
enabled: true
config:
api_url: http://flink-jobmanager.streaming.svc:8081
max_items: 100
Apply the configuration:
helm upgrade holmes holmes/holmes --values=values.yaml
When using the Robusta Helm Chart (which includes HolmesGPT), update your generated_values.yaml:
holmes:
toolsets:
flink:
enabled: true
config:
api_url: http://flink-jobmanager.streaming.svc:8081
max_items: 100
Apply the configuration:
helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>
For authenticated gateways, set bearer_token, basic-auth username and
password, or templated extra_headers.
Multiple Instances¶
The Apache Flink toolset can connect to more than one Apache Flink instance. List each one under instances: with a unique name. Any config field set outside instances: becomes a default that every instance inherits, so shared settings only need to be written once.
toolsets:
flink:
enabled: true
config:
instances:
- name: prod
api_url: http://flink-jobmanager.streaming.svc:8081
- name: staging
api_url: http://flink-jobmanager.streaming.svc:8081
When more than one instance is configured, HolmesGPT automatically adds an instance parameter to every Apache Flink tool (so it can pick which instance to query) and a flink_list_instances tool to list the configured instances. With a single instance — including the flat config without instances: — the tools are unchanged and fully backwards compatible.
See Multiple Instances for the full behaviour, including global defaults and health reporting.