I had a couple peeps ask me if they can run HOSA without needing to run it inside an
OpenShift cluster (presumably to collect metrics from Prometheus and Jolokia-JMX endpoints
that are also running outside of OpenShift). The answer is "yes" and if you are
interested, here is a quick how-to.
First get a config.yaml used to configure HOSA (that's the wget command below - it
just grabs the example config from github) and then run "docker run" to launch
HOSA:
$ wget -O /tmp/config.yaml
https://raw.githubusercontent.com/hawkular/hawkular-openshift-agent/maste...
$ docker run --net=host -v /tmp/config.yaml:/config.yaml hawkular/hawkular-openshift-agent
--config=/config.yaml
This assumes you have Hawkular-Metrics server (or a full Hawkular-Services server) running
on 127.0.0.1 listening to port 8080. If not, just edit config.yaml to point to your
server. You can edit that config.yaml however you want.
By default, HOSA itself is a Prometheus endpoint and will collect its own metrics and
store them (see config.yaml for its endpoints definitions). So by running HOSA you will
automatically start getting "prometheus" data stored into your H-Metrics. You
can add more endpoint definitions to the config to tell HOSA to collect from your own
Prometheus and Jolokia-JMX endpoints.
You don't have to use docker - if you build the go executable locally (git clone the
HOSA repo and "make build") you can run the executable directly. But it's
easier to just docker run - no need to git clone, no need to install Go, no need to build
anything.