Add option to collect common metrics
У нас также должны собираться некоторые общие метрики кластера, сейчас это делается вот этим кодом:
# Condor Status metrics
condor_status -tot \
|sed '$!d' \
|awk '{print "# TYPE condor_status_machines counter\ncondor_status_machines{ce=ceinfo} " $2 "\n# TYPE condor_status_claimed counter\ncondor_status_claimed{ce=ceinfo} " $4 "\n# TYPE condor_status_unclaimed counter\ncondor_status_unclaimed{ce=ceinfo} " $5}' \
> /var/lib/node_exporter/textfile_collector/condor.status.prom.$$
condor_status -compact -af Machine TotalCpus|awk '{s+=$2} END {print s}'|awk '{print "# TYPE condor_status_cores counter\ncondor_status_cores{ce=ceinfo} " $1 "\n"}' \
>> /var/lib/node_exporter/textfile_collector/condor.status.prom.$$
sed -i "s/ceinfo/\"$CE\"/g" /var/lib/node_exporter/textfile_collector/condor.status.prom.$$
mv /var/lib/node_exporter/textfile_collector/condor.status.prom.$$ /var/lib/node_exporter/textfile_collector/condor.status.prom
Причем оно собирается сейчас с каждого CE, а данные по факту одни и те же, то есть дублируется. Собираться все должно только с одной машины, причем лучше даже не с CE, а с Central Manager, так как эта машина является единственной постоянной (без нее все кластер не сможет работать). Но в принципе, можно предусмотреть и запуск в режиме дополнительного сбора на одном из CE по желанию админа.
Опцию можно назвать --collect-common-metrics
, а логику реализовать так:
- Если стоит только эта опция, то собираем только общие метрики, то есть нужно отключить остальные дефолтные параметры.
- Если стоит эта опция и какие-то из других, то собираем в комбинированном режиме (данные с конкретной очереди + общие показатели).