In many cases, one alert per service is not enough. We need to be able to define multiple specifications. Docker Flow Monitor allows us that by adding an index to labels. We can, for example, define labels com.df.alertName.1, com.df.alertName.2, and com.df.alertName.3. As a result, Docker Flow Monitor would create three alerts.
Let's see it in action.
We'll update the node-exporter service in the exporter stack so that it registers two alerts.
docker service update \ --label-add com.df.alertName.1=mem_load \ --label-add com.df.alertIf.1='(sum by (instance)\(node_memory_MemTotal)\- sum by (instance) (node_memory_MemFree +\ node_memory_Buffers + node_memory_Cached)) / sum by (instance)\ (node_memory_MemTotal) ...