Creare una pianificazione per eseguire automaticamente una query di ricerca salvata
Dopo aver creato una ricerca salvata, è possibile pianificare l'esecuzione periodica della query nella ricerca salvata e instradare i risultati dell'esecuzione della query al servizio di monitoraggio.
Altri argomenti per i task pianificati:
-
Consenti agli utenti di eseguire tutte le operazioni sui task pianificati
-
Visualizza tutti i task pianificati in un compartimento mediante API
Il servizio di monitoraggio illustra i passi riportati di seguito come destinazione per il monitoraggio del task pianificato. Le metriche emesse da Oracle Log Analytics vengono memorizzate dal servizio di monitoraggio.
-
Aprire il menu di navigazione e fare clic su Observability & Management. In Log Analytics, fare clic su Amministrazione.
Le risorse di amministrazione sono elencate nel riquadro di navigazione a sinistra in Amministrazione. Fare clic su Regole di rilevamento.
Viene visualizzata la pagina Regole di rilevamento. Fare clic su Crea regola.
Viene visualizzata la finestra di dialogo Crea regola di rilevamento.
-
Fare clic su Regola di rilevamento ricerca pianificata.
-
Specificare un nome regola per il task pianificato.
-
In Selezionare una ricerca salvato:
Specificare la ricerca salvata per la quale si desidera creare una schedulazione. In primo luogo, selezionare il compartimento in cui viene salvata la ricerca salvata.
Successivamente, dal menu selezionare Ricerca salvata.
Vengono visualizzati i dettagli della ricerca salvata, ad esempio la query e la relativa descrizione.
-
In Frequenza di impostazione:
Specificare Intervallo, la finestra di aggregazione. È possibile ottimizzare la schedulazione da eseguire nei minuti, ore, giorni o settimane selezionati. Inoltre, quando si selezionano aggregazioni di dimensioni maggiori, ad esempio Giorni, è possibile specificare l'aggregazione più fine all'interno dell'intervallo, ad esempio l'ora del giorno in cui la query deve essere eseguita.
È possibile specificare la frequenza di esecuzione della query, ad esempio
Run indefinitely,Run onceoCustom.È inoltre possibile includere Conteggio ripetizioni nella specifica di frequenza per il numero di volte in cui la query deve essere eseguita.
-
In Selezionare un servizio di destinazione da configurare:
-
Selezionare il Servizio di destinazione in cui vengono pubblicati i risultati dell'esecuzione della query, ad esempio
Monitoring.Il servizio di monitoraggio memorizza le metriche per il risultato dell'esecuzione della query in base a una pianificazione.
-
Selezionare Compartimento metrica, il compartimento in cui verrà creata la metrica. Per impostazione predefinita, un compartimento viene selezionato da Oracle Log Analytics.
-
Selezionare Spazio di nomi delle metriche, lo spazio di nomi delle metriche in cui si desidera inserire la nuova metrica. L'ambito delle opzioni disponibili per la selezione dello spazio di nomi è definito dalla selezione del compartimento di metriche nel passo precedente. Se le opzioni non sono disponibili, è anche possibile immettere un nuovo valore per lo spazio di nomi.
Nota
Quando si specifica un nuovo valore per lo spazio di nomi, selezionare un nome che non inizi conoracle_eoci_. Sono prefissi riservati. Vedere Pubblicazione delle metriche personalizzate. -
Facoltativamente, selezionare Gruppo di risorse, il gruppo a cui appartiene la metrica. Un gruppo di risorse è una stringa personalizzata fornita con una metrica personalizzata.
-
Immettere Nome metrica, il nome della metrica, utilizzato in Monitoring Service Explorer per visualizzare le metriche. È possibile specificare solo una metrica.
Per semplificare l'identificazione in Metrics Explorer, si consiglia di includere il nome della ricerca salvata nel nome della metrica, ad esempio <mysavedsearchname><metric_name>.
-
-
Facoltativamente, espandere la sezione Mostra opzioni avanzate e aggiungere tag alla regola di rilevamento.
-
Se i criteri IAM richiesti non sono ancora definiti, viene visualizzata una notifica che elenca i criteri per:
- Crea un gruppo dinamico
- Applicare i criteri al gruppo dinamico per consentire l'esecuzione dei task pianificati
Prendere nota dei criteri elencati e crearli.
-
Fare clic su Crea regola di rilevamento.
L'esecuzione della query è ora pianificata a intervalli regolari e le metriche risultanti vengono emesse al servizio di monitoraggio.
-
Nella pagina contenente l'elenco delle regole di rilevamento della ricerca pianificata, fare clic sul nome della ricerca pianificata. Nella pagina dei dettagli della ricerca pianificata, fare clic su Visualizza in Explorer metriche per visualizzare le metriche nel servizio di monitoraggio.
Consenti agli utenti di eseguire tutte le operazioni sui task pianificati
Per creare task pianificati, impostare innanzitutto le autorizzazioni corrette creando i criteri IAM riportati di seguito.
-
Creare un gruppo dinamico per consentire ai task pianificati di inviare le metriche al servizio di monitoraggio da un compartimento specifico:
ALL {resource.type='loganalyticsscheduledtask', resource.compartment.id='<compartment ocid>'}In alternativa, per consentire la pubblicazione delle metriche da tutti i compartimenti:
ALL {resource.type='loganalyticsscheduledtask'} -
Creare criteri per consentire al gruppo dinamico di eseguire le operazioni dei task pianificati nella tenancy:
allow group <group_name> to use loganalytics-scheduled-task in tenancy allow dynamic-group <dynamic_group_name> to use metrics in tenancy allow dynamic-group <dynamic_group_name> to read management-saved-search in tenancy allow dynamic-group <dynamic_group_name> to {LOG_ANALYTICS_QUERY_VIEW} in tenancy allow dynamic-group <dynamic_group_name> to {LOG_ANALYTICS_QUERYJOB_WORK_REQUEST_READ} in tenancy allow dynamic-group <dynamic_group_name> to READ loganalytics-log-group in tenancy allow dynamic-group <dynamic_group_name> to {LOG_ANALYTICS_LOOKUP_READ} in tenancy allow dynamic-group <dynamic_group_name> to read compartments in tenancyControllare se il gruppo di utenti dispone dell'autorizzazione di lettura/uso per la risorsa di aggregazione Management-dashboard-family nella tenancy. In caso contrario, includere la seguente istruzione criterio nel criterio creato:
allow group <group_name> to {MANAGEMENT_SAVED_SEARCH_READ} in tenancy
-
Alcune delle istruzioni dei criteri sopra riportate sono incluse nei modelli di criteri definiti da Oracle immediatamente disponibili. Si consiglia di prendere in considerazione l'utilizzo del modello per il caso d'uso. Vedere Modelli di criteri definiti da Oracle per i casi d'uso comuni.
-
Per informazioni sui gruppi dinamici e sui criteri IAM, vedere Documentazione OCI: gestione dei gruppi dinamici e Documentazione OCI: gestione dei criteri.
-
Per i dettagli dei criteri, vedere Building Metric Query - Prerequisiti in Oracle Cloud Infrastructure Documentation.
-
Per il riferimento all'API Scheduled Tasks, consulta ScheduledTask Reference in Oracle Cloud Infrastructure API Documentation.
Visualizza tutti i task pianificati in un compartimento mediante API
Per visualizzare i task schedulati per una ricerca salvata specifica, è possibile visitare la pagina dei dettagli della ricerca salvata. Tuttavia, se si desidera elencare tutti i task pianificati in un compartimento specifico senza fare riferimento alle ricerche salvate per le quali sono stati creati i task pianificati, utilizzare l'API per eseguire una query per elencare i task pianificati. Vedere ListScheduledTasks.
Specificare i seguenti parametri nel comando GET:
taskType=SAVED_SEARCHcompartmentId=<compartment_OCID>limit=1000sortOrder=DESCsortBy=timeUpdated
Per eseguire il comando, è necessario:
- Spazio di nomi: lo spazio di nomi Log Analytics specificato durante la creazione dei task pianificati.
- OCID compartimento: l'OCID del compartimento su cui si desidera eseguire una query per la lista dei task pianificati creati in esso.
Monitorare i task pianificati della ricerca salvata
È possibile monitorare l'integrità dei task schedulati della ricerca salvata mediante le metriche Stato esecuzione task schedulato nel servizio di monitoraggio. In caso di esecuzione non riuscita o saltata di un task a causa di un'anomalia dell'infrastruttura o se una risorsa o una configurazione dipendente viene modificata, la metrica fornisce i dettagli dell'errore per facilitare la correzione.
Per i passi per accedere alla metrica Stato esecuzione task pianificato, vedere Monitorare Log Analytics mediante le metriche del servizio.
Ogni task schedulato della ricerca salvata ha il proprio intervallo come specificato nella relativa schedulazione task. Una metrica viene emessa alla tenancy per ogni esecuzione di task pianificata. Passare il puntatore del mouse sui datapoint del grafico per visualizzare ulteriori dettagli sull'attività. È possibile filtrare i dati delle metriche in base a una delle dimensioni Status, DisplayName o ResourceId.
- Aprire il menu di navigazione e fare clic su Observability & Management. In Log Analytics, fare clic su Amministrazione.
-
Le risorse di amministrazione sono elencate nel riquadro di navigazione a sinistra in Amministrazione. Fare clic su Regole di rilevamento. Nella pagina contenente l'elenco delle regole di rilevamento, fare clic sul nome della regola di rilevamento della ricerca salvata che si desidera aprire. Viene visualizzata la pagina dei dettagli della regola di rilevamento.
-
Fare clic su Metriche. Viene visualizzata la scheda Metriche.
-
Fare clic sul menu Opzioni nell'angolo superiore destro della metrica Stato esecuzione task pianificato e selezionare Visualizza in Explorer metriche.
La metrica viene ora visualizzata in Esplora metriche. Qui è possibile visualizzare il grafico in modo più dettagliato.

Far scorrere il pulsante Mostra tabella dati per visualizzare i dettagli delle metriche:

-
Fare clic su Modifica query e selezionare Nome dimensione e Valore dimensione per la metrica. È possibile filtrare i dati delle metriche in base a
taskResultin base al risultato dell'esecuzione del task pianificato, aStatusdi esecuzione del task, aDisplayNamedel task, aqueryExecTimeRangeo al relativoResourceId.Nota
Per visualizzare grafici e dati in formato tabulare da Esplora metriche specificando un nome dimensione e un valore dimensione, evitare di utilizzare campi con parentesi o altri caratteri speciali nel nome. Se il campo selezionato per il nome dimensione contiene caratteri speciali, creare un campo virtuale utilizzando il comando
evalo rinominare il campo esistente utilizzando il comandorenamein modo che vengano rimosse le parentesi o i caratteri speciali. Ad esempio, se il campo utilizzato per Nome dimensione èHost Name (Server), è possibile creare un campo virtualehostnamecon| eval hostname=“Host Name (Server)”.La dimensione
queryExecTimeRangeè utile per determinare il tempo impiegato per eseguire la query del task pianificato. I valori disponibili sono< 5s,>= 5s and < 10s,>= 10s and < 30se> 30s. In genere, le query che richiedono più di 30 secondi per essere eseguite sono considerate costose in termini di tempo di esecuzione. Vedere How to Make Your Query Performant.La dimensione
taskResultpuò avere i valoriSucceeded,FailedePaused. La dimensioneStatusfornisce ulteriori dettagli sutaskResult. Ad esempio, se il valore ditaskResultèPaused, il valore diStatuspuò esserePaused by User.Fare clic su Aggiorna grafico per aggiornare la visualizzazione del grafico. Il grafico visualizzerà solo i datapoint per i quali è stato applicato il filtro.
È possibile passare alla vista Tabella dati per una rappresentazione tabulare dei datapoint raccolti.
-
Modificare il nome della dimensione per visualizzare prospettive diverse nel grafico.
È possibile impostare avvisi per notificare lo stato tramite e-mail, SMS, Slack, PagerDuty, URL endpoint HTTPS o funzione. Vedere Creazione di avvisi per gli eventi rilevati.
Di seguito sono riportati i vari valori della dimensione status riportati tramite questa metrica per valori taskResult specifici.
valore taskResult
|
valore Status
|
Descrizione | Correzione consigliata |
|---|---|---|---|
|
|
|
L'esecuzione del task è normale |
N/D |
|
|
L'esecuzione del task pianificato è riuscita, ma la pubblicazione delle metriche nel servizio di monitoraggio è stata troncata a causa dei limiti dei dati delle metriche. |
Assicurarsi che le metriche rimangano nei limiti specificati. Vedere OCI CLI Command Reference - Monitoring Service Metric Data. |
|
|
|
Quando l'esecuzione del task pianificato è riuscita, ma la query non ha restituito alcun risultato. Pertanto, non sono stati inviati dati di metrica al servizio di monitoraggio. |
Controllare la query di ricerca salvata. Inoltre, questo stato non può comportare un errore. Indica solo che l'evento per il quale viene scritta la query non si è verificato. Ad esempio, se la query deve contare il numero di errori nei log negli ultimi 5 minuti e se i log arrivati negli ultimi 5 minuti non contengono errori, viene visualizzato |
|
|
|
Risultati parziali a causa di query costose che richiedono più di due minuti per il completamento o a causa di un'anomalia dell'infrastruttura. |
Contattare il Supporto Oracle fornendo le informazioni sullo stato. |
|
|
|
Risultati parziali a causa di query costose che richiedono più di due minuti per il completamento o a causa di un'anomalia dell'infrastruttura. |
Contattare il Supporto Oracle fornendo le informazioni sullo stato. |
|
|
|
|
Esecuzione del task non riuscita a causa di un'anomalia dell'infrastruttura o di un errore recuperabile. |
Contattare il Supporto Oracle fornendo le informazioni sullo stato. |
|
|
|
La stringa di query o i filtri di ambito della ricerca salvata non sono validi. |
Verificare se la ricerca salvata è stata modificata dopo la creazione del task schedulato e correggerla. |
|
|
La ricerca salvata viene eliminata o il criterio IAM che fornisce l'autorizzazione READ per la ricerca salvata è stato modificato. |
Assicurarsi che il criterio IAM venga ripristinato. |
|
|
|
La query di ricerca salvata non è valida per la generazione della metrica. |
Verificare se la ricerca salvata è stata modificata dopo la creazione del task schedulato e correggerla. |
|
|
|
Se il task pianificato prevede la rimozione dei dati di log e il compartimento di rimozione viene eliminato o se il criterio IAM per la rimozione è stato modificato dopo la creazione del task pianificato, viene visualizzato questo stato. |
Controllare se il compartimento di rimozione viene eliminato e ripristinato. Assicurarsi che il criterio IAM venga ripristinato. |
|
|
|
Uno dei due motivi riportati di seguito può attivare lo stato.
|
Se i dettagli della metrica sono incompleti o non validi, aggiornare i dettagli della metrica nella definizione del task schedulato. Se la colonna della metrica non è numerica o il valore della dimensione non è cardinale, aggiornare la ricerca salvata per produrre una metrica e una dimensione valide. |
|
|
|
Se il valore di |
Identificare l'azione utente che ha sospeso l'esecuzione del task schedulato ed eseguire il task schedulato. |
Fattori importanti per la creazione di task pianificati
Prendere nota dei seguenti fattori per la creazione di task schedulati:
-
Requisiti per la composizione delle interrogazioni:
Quando si compongono query per creare task pianificati, assicurarsi di soddisfare i requisiti riportati di seguito.
- Le limitazioni riportate di seguito per le query delle regole di rilevamento sono riportate di seguito.
-
Evitare di eseguire la ricerca con caratteri jolly nel campo Contenuto log originale nella query task schedulata. Per ulteriori informazioni sulle ricerche con caratteri jolly, vedere Usa parole chiave, frasi e caratteri jolly.
-
Il comando
timestatsnon può essere seguito daeval,extract,jsonextract,xmlextractelookup. -
Il comando
regexnon deve essere utilizzato in campi di grandi dimensioni comeMessageper evitare di rendere le query costose per l'elaborazione.Il confronto
likee i comandiextract,jsonextractexmlextractnon sono supportati in campi di grandi dimensioni comeMessage.I campi di collegamento o i campi utilizzati nella clausola
BYnon possono essere utilizzati in campi di grandi dimensioni comeMessage. -
The commands which are not supported in the queries for scheduled tasks are
cluster,clustercompare,clusterdetails,clustersplit,compare,createview,delta,fieldsummary,highlightgroups,geostats,linkdetails,map,nlpandtimecompare.
-
- Limiti massimi:
Il numero massimo di campi supportati per la clausola
byè 3.Il numero massimo di campi supportati per il comando
timestatsè 3.Il numero massimo di funzioni aggregate supportate in una query task pianificata è 1.
- Utilizzare i valori dei campi
linkcome dimensioni per i parametri di contabilizzazione:Selezionare fino a tre campi dimensione e una metrica numerica da registrare nel servizio di monitoraggio. Per indicare quali campi devono essere inviati al monitoraggio, le query devono terminare con:
... | link ... | fields -*, dim1, dim2, dim3, metric1Il comando
linkcontiene diverse colonne nell'output, ad esempio ora di inizio, ora di fine, conteggio e così via, per impostazione predefinita. Utilizzare-*nel comandofieldsper rimuovere questi campi e specificare facoltativamente fino a tre campi dimensione e un campo metrica obbligatorio.È possibile avere più istruzioni
evaldopo il comandostatse più funzionistatsper il calcolo dei risultati intermedi. Tuttavia, la query deve terminare confields -*, dim1, dim2, dim3, metric1per indicare le dimensioni e la metrica da contabilizzare. Utilizzare le linee guida riportate di seguito per le query delle regole di rilevamento.- Usare il comando
addfieldsfino a 2. - Utilizzare fino a 3 funzioni
stats. - Le istruzioni
evalsono necessarie per il calcolo dei risultati intermedi e finali.
Query con esempi:
'Log Source' = 'OCI Email Delivery' | link 'Entity' | addfields [ * | where deliveryEventType = r and bounceType = hard | stats count as 'hard bounces' ], [ * | where deliveryEventType = e and length(ipPoolName) > 0 | stats count as 'total sent messages' ] | eval 'Total Rate' = ('hard bounces' / 'total sent messages') * 100 | fields -*, 'Entity', 'Total Rate''Log Source' = 'My Network Logs' | stats sum(Success) as TotalSuccess, sum(Failure) as TotalFailure | eval SuccessRate = (TotalSuccess / (TotalSuccess + TotalFailure)) * 100 | fields -*, SuccessRate - Usare il comando
- Le limitazioni riportate di seguito per le query delle regole di rilevamento sono riportate di seguito.
-
Arresto dei log:
Se i task pianificati vengono eseguiti prima dell'arrivo dei log, è possibile che i task pianificati non restituiscano i risultati previsti. Per evitare la mancanza di tali log nei task schedulati a causa del loro arrivo in ritardo, la query deve tenerne conto utilizzando una rettifica dell'intervallo di tempo.
Ad esempio, se il task pianificato viene eseguito ogni 5 minuti per controllare il numero di errori di autenticazione e se vi è un ritardo di 3 minuti tra il momento in cui vengono generati i log e il momento in cui raggiungono Oracle Log Analytics, il task pianificato non rileverà i log. Si consideri che il task pianificato viene eseguito ogni 5 minuti, ad esempio 01:00, 01:05, 01:10 e così via. Se il record di log L1 generato alle ore 01:04 raggiunge Oracle Log Analytics alle ore 01:07. L1 non è stato rilevato nel task pianificato eseguito alle ore 1:05 perché il log non è arrivato a Oracle Log Analytics in questo momento. Durante l'esecuzione successiva alle 01:10, la query cerca i log con indicatori orari compresi tra le 01:05 e le 01:10. Anche in questo ciclo, L1 non viene rilevato perché ha un indicatore orario di 01:04. La query seguente potrebbe non visualizzare tutti i record di log se i log arrivano in ritardo:
Label = 'Authentication Error' | stats count as logrecords by 'Log Source'Per determinare il ritardo nell'arrivo dei log in Oracle Log Analytics, calcolare la differenza tra l'indicatore orario menzionato nel record di log e l'ora di pubblicazione del processore di log. La seguente query di esempio può essere utilizzata per verificare se c'è un ritardo:
Label = 'Authentication Error' and 'Log Processor Posting Time (OMC INT)' != null | fields 'Agent Collection Time (OMC INT)', 'Data Services Load Time', 'Process Time', 'Log Processor Posting Time (OMC INT)'La query seguente utilizza la funzione
dateRelativeper regolare il ritardo di 3 minuti in un task che viene eseguito a intervalli di 5 minuti:Label = 'Authentication Error' and Time between dateRelative(8minute, minute) and dateRelative(3minute, minute) | stats count as logrecords by 'Log Source' -
Altri fattori:
-
Per comprendere come le query vengono create nel servizio di monitoraggio, consulta la sezione relativa alla creazione di query sulle metriche nella documentazione di Oracle Cloud Infrastructure.
-
Prendere nota delle informazioni sui limiti per la pubblicazione dei dati delle metriche nel servizio di monitoraggio. I limiti corrispondono alle metriche per un task schedulato. Consulta
PostMetricData APInella Documentazione di Oracle Cloud Infrastructure.Quando la ricerca salvata può generare più di 200 valori singoli per campo, i risultati parziali vengono contabilizzati a causa dei limiti imposti dal servizio di monitoraggio. In questi casi, per visualizzare i risultati in alto o in basso su 200, utilizzare il comando sort.
-
Query di esempio per task pianificati
Argomenti:
Query di esempio per la visualizzazione delle metriche
-
Si consideri un esempio in cui si desidera conoscere il numero di errori di autenticazione in un'esecuzione pianificata ogni 5 minuti:
Label = 'Authentication Error' | stats count as 'Number of Authentication Errors'Quando la visualizzazione Tabella di riepilogo è selezionata in Log Explorer, viene visualizzato il seguente output:

Ogni volta che il task pianificato esegue una metrica come quella precedente, lo stesso verrà inviato al servizio di monitoraggio.
Da Metrics Explorer la metrica pubblicata sopra può essere visualizzata come segue:

Fare clic su Mostra tabella dati per visualizzare la metrica in formato tabulare:

-
Se si desidera conoscere l'analisi degli errori di autenticazione in ogni host:
Label = 'Authentication Error' | stats count as 'Number of Authentication Errors' by 'Host IP Address (Client)'Utilizzare Summary Visualization per visualizzare in anteprima l'aspetto di un output di metrica per la query.

Dalla pagina Explorer metriche, lo stesso grafico della metrica per IP host è simile al seguente:

Per visualizzare il numero per IP host, specificare il nome della dimensione metrica come Host_IP_Address_Client e deselezionare la casella di controllo Flussi di metriche aggregati.

Come rendere performanti le tue query
Alcune query portano a tempi di esecuzione elevati o, in alcuni casi, a timeout e alla fine portano a esecuzioni ritardate dei propri task. In questi casi, si consiglia di creare campi estesi (EFD) o etichette e di utilizzarli nei filtri delle query pianificate per ridurre i costi delle query.
Ad esempio, se si desidera pubblicare il numero di timeout di connessione nei log degli avvisi del database ogni 5 minuti, la query seguente è uno dei modi per eseguirla:
'Log Source' = 'Database Alert Logs' and 'TNS-12535' | stats count as 'Number of Timeouts'
La query precedente cerca la stringa TNS-12535 in Contenuto log originale. Tuttavia, questo non è il modo più efficiente per cercare i timeout, soprattutto quando l'attività è pianificata per essere eseguita ogni 5 minuti di scansione attraverso milioni di record.
Utilizzare invece il campo in cui viene estratto tale ID errore e comporre la query come mostrato di seguito:
'Log Source' = 'Database Alert Logs' and 'Error ID' = 'TNS-12535' | stats count as 'Number of Timeouts'
In alternativa, è possibile filtrare utilizzando l'etichetta:
'Log Source' = 'Database Alert Logs' and Label = Timeout | stats count as 'Number of Timeouts'
Le origini log definite da Oracle includono numerosi EFD ed etichette. Per i log personalizzati, si consiglia di definire le proprie etichette ed EFD e di utilizzarle nelle query pianificate invece di eseguire la ricerca in Contenuto log originale. Vedere Crea un'etichetta e Usa campi estesi nelle origini.