Skip to content

Instantly share code, notes, and snippets.

@maxfischer2781
Last active February 17, 2025 09:31
Show Gist options
  • Save maxfischer2781/ecd0d702bb5ac18c4bc79a7efdc38eba to your computer and use it in GitHub Desktop.
Save maxfischer2781/ecd0d702bb5ac18c4bc79a7efdc38eba to your computer and use it in GitHub Desktop.
KIT Tier 1 AUDITOR-APEL v0.6.3 configuration

KIT Tier 1 AUDITOR-APEL v0.6.3 configuration

This is a simple configuration to have AUDITOR act as an APEL client for HTCondor. In this setup the entire AUDITOR+APEL chain runs a separate instance directly on each CE. You also need to configure the AUDITOR core and its PostgreSQL database.

If you want to run the toolchain from a different host (say the Condor Negotiator), adjust the schedd_names to cover all the condor submit nodes / CEs. If you want to support subsites, adjust the various site entries in both configurations.

!Config
plugin:
log_level: TRACE
time_json_path: "time.json"
report_interval: 21600
message_type: summaries
site:
publish_since: "2020-01-01 12:00:00+00:00"
sites_to_report: {"FZK-LCG2":["FZK-LCG2"]}
auditor:
ip: ...
port: ...
timeout: 14400
site_meta_field: "site"
summary_fields:
mandatory:
NormalisedWallDuration: !NormalisedWallDurationField
score:
name: "HEPSPEC"
component_name: "Cores"
CpuDuration: !ComponentField
name: "CPUTime"
NormalisedCpuDuration: !NormalisedField
base_value: !ComponentField
name: "CPUTime"
score:
name: "HEPSPEC"
component_name: "Cores"
optional:
GlobalUserName: !MetaField
name: "subject"
VO: !MetaField
name: "voms"
regex: '(?<=%2F).*?(?=%2F|$)'
VOGroup: !MetaField
name: "voms"
regex: '(?<=%2F).*?(?=%2FRole|$)'
VORole: !MetaField
name: "voms"
regex: '(?=Role).*?(?=%2F|$)'
SubmitHost: !MetaField
name: "submithost"
Infrastructure: !ConstantField
value: "grid"
NodeCount: !ComponentField
name: "MaxHosts"
Processors: !ComponentField
name: "Cores"
individual_job_fields:
mandatory:
CpuDuration: !ComponentField
name: "CPUTime"
optional:
GlobalUserName: !MetaField
name: "subject"
VO: !MetaField
name: "voms"
regex: '(?<=%2F).*?(?=%2F|$)'
VOGroup: !MetaField
name: "voms"
regex: '(?<=%2F).*?(?=%2FRole|$)'
VORole: !MetaField
name: "voms"
regex: '(?=Role).*?(?=%2F|$)'
SubmitHost: !MetaField
name: "submithost"
InfrastructureType: !ConstantField
value: "grid"
NodeCount: !ComponentField
name: "MaxHosts"
Processors: !ComponentField
name: "Cores"
FQAN: !MetaField
name: "voms"
ServiceLevel: !ScoreField
name: "HEPSPEC"
component_name: Cores
ServiceLevelType: !ConstantField
value: "HEPSPEC"
authentication:
auth_url: "https://msg.argo.grnet.gr:8443/v1/service-types/ams/hosts/msg.argo.grnet.gr:authx509"
ams_url: "https://msg.argo.grnet.gr:443/v1/projects/accounting/topics/gLite-APEL:publish?key="
client_cert: "/etc/grid-security/hostcert.pem"
client_key: "/etc/grid-security/hostkey.pem"
ca_path: "/etc/grid-security/certificates"
verify_ca: true
[Unit]
Description=APEL plugin for AUDITOR
Documentation=https://alu-schumacher.github.io/AUDITOR/
Requires=auditor.service
[Install]
RequiredBy=multi-user.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/auditor
ExecStart=/opt/auditor/venv/bin/auditor-apel-publish --config /opt/auditor/configuration/apel-plugin.yaml
Restart=on-failure
RestartSec=60
[Unit]
Description=HTCondor collector for AUDITOR
Documentation=https://alu-schumacher.github.io/AUDITOR/
Requires=auditor.service
[Install]
RequiredBy=multi-user.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/auditor
ExecStart=/opt/auditor/venv/bin/auditor-htcondor-collector --config /opt/auditor/configuration/htcondor-collector.yaml
Restart=on-failure
RestartSec=60
addr: ...
port: ...
state_db: htcondor_history_state.db
record_prefix: htcondor
interval: 900
schedd_names:
- htcondor-ce-3-kit.gridka.de
job_status:
- 3 # Removed
- 4 # Completed
meta:
user:
key: Owner
group:
key: VoName
submithost:
name: htcondor-ce-3-kit.gridka.de
voms:
key: x509UserProxyFirstFQAN
subject:
key: x509UserProxySubject
site:
- {"name":"FZK-LCG2"}
components:
- name: "Cores"
key: "CpusProvisioned"
scores:
- name: "HEPSPEC"
key: "MachineAttrApelSpecs0.HEPSPEC"
- name: "HEPscore23"
key: "MachineAttrApelSpecs0.HEPscore23"
- name: "Memory"
key: "MemoryProvisioned"
- name: "CPUTime"
key: "RemoteUserCpu+RemoteSysCpu"
- name: "Wallclocktime"
key: "RemoteWallClockTime"
- name: "MinHosts"
key: "MinHosts"
- name: "MaxHosts"
key: "MaxHosts"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment