Memorizzazione delle metriche DataStage di esecuzione dei lavori nel DataStage repository
DataStage registra varie informazioni relative alle esecuzioni dei lavori che possono essere visualizzate nelle schermate dei dettagli dell'esecuzione del lavoro e delle metriche di esecuzione. Le metriche possono anche essere archiviate per un periodo più lungo configurando un repository di metriche in un database.
- informazioni sull'esecuzione del lavoro, quali nome e ora di inizio/fine
- informazioni relative alle fasi e ai collegamenti, quali le righe lette/scritte per ciascuna fase e collegamento
- altre informazioni quali i valori dei parametri per un'esecuzione
Con il ds-metrics servizio, è possibile impostare l'archiviazione delle metriche a livello di progetto per tutti i DataStage flussi. Sebbene le metriche siano abilitate per impostazione predefinita per i flussi, è necessario abilitare manualmente le metriche persistenti a livello di progetto.
Conservazione metriche
Il campo di conservazione delle metriche controlla la frequenza con cui, e se del caso, ds-metrics rimuove i dati obsoleti dal database. Se si abilita l'opzione Limite massimo, è possibile scegliere tra le impostazioni Giorni o Esecuzioni. Ad esempio, se si impostano 30 giorni, le metriche eliminano tutte le informazioni relative al lavoro e a tutte le sue esecuzioni quando un lavoro ha più di 30 giorni. Se imposti 100 esecuzioni, le metriche conservano le 100 esecuzioni più recenti ed eliminano quelle più vecchie. Il campo di conservazione delle metriche si applica solo ai dati delle metriche relativi al progetto in cui sono attivate le impostazioni. Se il database è condiviso con un altro progetto, le impostazioni di conservazione non hanno alcun effetto sui dati di quel progetto.
Dopo aver salvato le impostazioni di connessione, si attiva ds-metrics per cancellare la cache di connessione. Quando si esegue un lavoro nel progetto, ds-metrics si connette al database per la prima volta. Dopo aver stabilito una connessione, popola lo ds-metrics schema dopo averlo inizializzato o lo migra se lo schema nel database è una versione precedente.
Struttura del database
Nel database delle metriche, la maggior parte delle tabelle si trova nello ds-metrics schema. public.databasechangelog e public.databasechangeloglock sono tabelle interne aggiuntive nello schema pubblico utilizzate per tracciare le versioni dello schema del database. Per ulteriori informazioni sugli ds-metrics schemi, vedere Variabili di ambiente e schemi delle tabelle.
Abilitazione delle metriche dei pod
Le metriche dei pod consentono di monitorare le informazioni a livello di pod relative alle DataStage istanze di runtime, comprese le informazioni sull'utilizzo della CPU, della RAM e del disco.
È possibile abilitare le metriche dei pod nel pod px-runtime per i propri DataStage flussi. Per abilitare le metriche dei pod, è necessario configurare il database per le metriche dei pod e aggiornare la distribuzione per il pod px-runtime. Il database predefinito deve essere un database Postgres. Può essere sia il database indipendente che quello configurato nella scheda del repository delle DataStage metriche del tuo progetto. Quando è abilitata, le metriche dei pod vengono inviate ogni 60 secondi.
Per impostazione predefinita, le metriche dei pod hanno una durata di 24 ore e vengono eliminate dal database trascorso tale periodo. È possibile configurare il tempo di conservazione dei pod con la variabile di ambiente METRICS_POD_CLEANUP_HOURS.
L'istanza px-runtime predefinita è ds-px-default, mentre l'implementazione per l'istanza predefinita è ds-px-default-ibm-datastage-px-runtime.
- Aggiungi un database predefinito per il
ds-metricsservizio in cui memorizzare le metriche dei pod con il seguente comando:oc create secret -n ds generic ibm-datastage-metrics-db-properties --from-literal=user=<user> --from-literal=host=<host> --from-literal=port=<port> --from-literal=database=<db> --from-literal=pass=<pass> - Riavvia le metriche eliminando il pod con il seguente comando, dove
datastage-ibm-datastage-metrics-8469db87bb-xnqwnè un nome di esempio del pod delle metriche:oc delete pod datastage-ibm-datastage-metrics-8469db87bb-xnqwnÈ possibile trovare il nome del pod delle metriche con il seguente comando:$ oc get pods -n ds | grep metrics - Modifica la distribuzione dell'istanza px-runtime, dove
inst1-small-880-ibm-datastage-px-runtimeè un nome di distribuzione di esempio edsè uno spazio dei nomi di esempio:oc edit deployment inst1-small-880-ibm-datastage-px-runtime -n ds - Aggiungi una variabile di ambiente ENABLE_DS_POD_METRICS nella seguente sezione dello YAML di distribuzione. Il nome della variabile ENABLE_DS_POD_METRICS è riservato esclusivamente alle metriche a livello di pod:
... spec: ... template: ... spec: ... containers: - args: ... command: ... env: ... # add env var - name: ENABLE_DS_POD_METRICS value: "True" ... - Salva le modifiche al file YAML di distribuzione.
Il sistema aggiunge la variabile di ambiente alla distribuzione e il pod si riavvia con la variabile di ambiente appena aggiunta.
Configurazione di ds-metrics su un cluster FIPS-tolerant o FIPS-enabled
È possibile abilitare le metriche sui cluster FIPS inizializzando manualmente il database e configurando le variabili di ambiente.
- Inizializza un database delle metriche:
- Scarica la versione 4.25.1. di Liquibase dalla sezione Risorse o come immagine Docker.
- Estrailo ed eseguilo tramite
liquibaseoliquibase.bat. - Ottieni il
changelog.yamlfile dalla tua versione attuale delle metriche:- Accedi al tuo cluster con il seguente comando, dove
dsè il tuo progetto o namespace:$ oc login -n ds cluster.example.com - Trova il pod delle metriche con il seguente comando:
$ oc get pods | grep datastage-metrics - Copia il tuo
changelog.yamlfile dal tuo pod metrics con il seguente comando, dovedatastage-ibm-datastage-metrics-123example-123podè un pod di esempio:$ oc cp datastage-ibm-datastage-metrics-123example-123pod:/opt/ibm/wlp/usr/servers/defaultServer/apps/expanded/ds-metrics-app.war/WEB-INF/classes/liquibase/changelog.yaml changelog.yaml
- Accedi al tuo cluster con il seguente comando, dove
- Applica il changelog al tuo database vuoto con il seguente comando:
liquibase update --url= "jdbc:postgresql://<host>:<port>/<database>" --username=<user> --password=<pass> --changelog-file=changelog.yaml
Il database è ora configurato.
Dopo aver inizializzato il database, è necessario configurare ds-metrics tramite la variabile di ambiente METRICS_DB_INIT_MODE nella sezione seguente.
È possibile disabilitare l'esecuzione di ds-metrics da Liquibase stesso con la variabile METRICS_DB_INIT_MODE. Questa variabile d'ambiente controlla il modo in cui ds-metrics inizializza il database quando si connette ad esso per la prima volta. Su un cluster FIPS-tolerant o FIPS-enabled, dopo aver eseguito Liquibase manualmente, è necessario impostare la variabile METRICS_DB_INIT_MODE su never per interrompere l'esecuzione di Liquibase. Questo impedisce ds-metrics di eseguire Liquibase per migrare il database, poiché Liquibase non funziona sui cluster FIPS. Per ulteriori informazioni sulle variabili di ambiente, vedere Variabili di ambiente e schemi delle tabelle.
- Configura ds-metrics:
- Aprire la distribuzione delle metriche per modificarla con il seguente comando:
oc edit deployment datastage-ibm-datastage-metrics - Vai alla
envsezione:... spec: ... template: ... spec: ... containers: - args: ... command: ... env: - name: GATEWAY_URL value: https://datastage-ibm-datastage-ds-nginx.ds.svc - name: GATEWAY value: datastage-ibm-datastage-ds-nginx.ds.svc - name: ENABLE_ICP value: "true" - name: COMPONENT_ID value: metrics ... etc - Imposta la variabile di ambiente METRICS_DB_INIT_MODE=never e aggiungila alla
envsezione. - Salva la distribuzione.
I pod delle metriche vengono ora eliminati e ricreati con le variabili di ambiente impostate.
- Aprire la distribuzione delle metriche per modificarla con il seguente comando:
Configurazione di impostazioni aggiuntive per ds-metrics in un'istanza runtime PX
È possibile configurare impostazioni aggiuntive impostando le variabili di ambiente nell'istanza px-runtime anziché in ds-metrics. Queste impostazioni per ds-metrics sono specifiche dell'istanza di runtime.
- Trova la tua distribuzione px-runtime con il seguente comando:
$ oc get deployment | grep px-runtime - Aprire la distribuzione px-runtime per modificarla con il seguente comando:
$ oc edit deployment ds-px-default-ibm-datastage-px-runtime - Vai alla
envsezione:
e aggiungi le variabili d'ambiente nella... spec: ... template: ... spec: ... containers: - args: ... command: ... env: - name: GATEWAY_URL value: https://datastage-ibm-datastage-ds-nginx.ds.svc - name: GATEWAY value: datastage-ibm-datastage-ds-nginx.ds.svc - name: ENABLE_ICP value: "true" - name: COMPONENT_ID value: px-runtime ... etcenvsezione, nel formato seguente.METRICS_VAReOTHER_METRICS_VARsono nomi di esempio:- name: METRICS_VAR value: true - name: OTHER_METRICS_VAR value: 100
Per le variabili di ambiente px-runtime, vedere Variabili di ambiente e schemi delle tabelle.