This section provides the description of the knobs and handles DODAS provide to the end user in order to implement its own monitoring.
- Monitoring implementation
- Using DODAS monitoring backend
- Using third party Elasticsearch endpoint
- Create and deploy your own Beat or sensor
DODAS deployments can be monitored sending system and docker metrics collected by a metricbeat to a desired Elasticsearch backend for monitoring both the cluster VMs and the containers running on them. Once store in Elasticsearch the information are accessible from plain REST calls or visual dashboards can be produced with dedicated tools such as Kibana or Grafana.
The CMS recipe already includes the deployment of a metricbeat sensor on each Mesos slave configured as here. Two modules are used among the variety available: system and docker.
It is possible to store metrics in a ready-to-use infrastructure composed by an Elasticsearch instance and an associated Grafana server where users can log in through DODAS IAM authentication.
If you are interested in using these resource please contact the support team at dodas-support<at>lists.infn.it asking for the authorization. You will receive the credentials needed for pushing information from metricbeat to the DODAS Elasticsearch. More over a dedicate Grafana project will be created as well with you as administrator.
To send metrics to your own server, you can simply change the following configuration parameters within the CMS recipe
monitordb_ip:
type: string
default: "host:port"
elasticsearch_secret:
type: string
default: "password"
N.B. default user is `dodas`, this will be configurable on next versions
One can create its own beat to send customized metrics to Elasticsearch following this guide. Once the beat is ready and compiled one can create a docker container with the beat binary inside to orchestrate the distribution inside the cluster as a Marathon app.
If you prefer python over the golang beat approach, just create your own daemon pushing json documents in elasticsearch one by one or if you expect a big amount of docs each polling cycle push them in bulk.