Un pannellu di arnesi supplementari per u monitoraghju è l'investigazione di l'errori in l'applicazioni è e suluzioni d'integrazione nantu à a piattaforma di dati InterSystems IRIS, a piattaforma d'integrazione Ensemble è u DBMS Caché, o a storia di una altra bicicletta.
In questu articulu vogliu parlà di l'applicazione chì, inseme cù i strumenti di amministrazione standard, aghju utilizatu ogni ghjornu per monitorà l'applicazioni è e soluzioni d'integrazione nantu à a piattaforma InterSystems IRIS è truvà l'errore quandu si verificanu.
A suluzione include a visualizazione è l'edità di array globale, l'esecuzione di dumande (inclusi JDBC / ODBC), l'inviu di risultati di ricerca via email cum'è file XLS zippati. Vede l'uggetti di classi cù a capacità di edità. Diversi grafici simplici per i protokolli di u sistema.
Questa hè una applicazione CSP basatu annantu
Sè site interessatu, vede quì sottu è in
Tuttu hà cuminciatu à studià a quistione di cumu logu i cambiamenti à l'uggetti in InterSystems IRIS, Ensemble è Caché DBMS.
Dopu à leghje
A suluzione risultante hè implementata cum'è una subclasse di pannellu di %CSP.Util.Pane, chì hà una finestra di cumandamentu principale è un buttone Run, più paràmetri di raffinamentu di cumanda.
Quandu inserisci "?" avemu una breve descrizzione di sti cumandamenti:
Globali
U mo cumandamentu più cumuni hè di vede u globale. In regula, questu hè un protokollu globale quandu debugging u vostru propiu o un altru prughjettu. Pudete vede in ordine inversu, è ancu applicà un filtru à u ligame è à i dati. I nodi truvati ponu esse editati è sguassati:
Pudete sguassà tuttu u mondu inserendu minus ^ logMSW- in u cumandamentu dopu u nome.
Ma questu modu pudete sguassate solu globals cuminciendu cù ^ log (protoculu globals), i.e. Hè stata implementata una restrizione contru l'eliminazione accidentale.
Se inserite "*" dopu u nome, uttene una lista di globals cù caratteristiche supplementari. U sicondu "*" aghjunghje un novu campu "Allocated MB", è un altru asteriscu serà "Used MB". Questa cumminazione di dui rapporti è a divisione in "asterischi" hè fatta per dividisce u rapportu spessu longu in blocchi occupati. di grandi globals.
Da questa tavula pudete seguità i ligami attivi per vede u glubale stessu o per vede / edità in u modu standard da u portale di gestione clicchendu R o W in u campu Permissione.
E dumande
Cunvertisce un rapportu in u furmatu Excel
A seconda funzione più usata hè l'esecuzione di query. Per fà questu, entre in a dichjarazione sql cum'è cumandamentu.
A cosa principale chì era abbastanza per mè in u Portale di Gestione di Sistema standard era eseguisce e dumande nantu à e fonti JDBC / ODBC cunfigurate in u DBMS è emette i risultati in u formatu XLS, l'archivimentu è l'inviu di u schedariu per email. Per fà questu, in u mo strumentu, prima di eseguisce u cumandamentu, avete bisognu di attivà a casella "Download to Excel file".
Questa funzione mi risparmia assai tempu in a mo rutina di ogni ghjornu, è aghju integratu cù successu moduli pronti in novi applicazioni è suluzioni d'integrazione.
Ma per fà questu, prima avete bisognu di cunfigurà u percorsu per a creazione di fugliali nantu à u servitore è e credenziali di l'utilizatore è u servitore di mail; per questu, à u turnu, avete bisognu di edità i nodi di i paràmetri di u prugramma globale ^%App.Setting .
Salvà i rapporti in u mondu
Moltu spessu hè necessariu di salvà i risultati di l'esekzione di rapportu in u mondu. Per fà questu, aghju utilizatu i seguenti prucedure:
Per JDBC:
##class(App.sys).SqlToDSN
Per ODBC:
##class(App.sys).SaveGateway
Per l'espressioni SQL:
##classe(App.sys).SaveSQL
Per a dumanda:
##classe(App.sys).SaveQuery
Per esempiu, se in u pannellu u cumandamentu
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Salvemu u risultatu di a dumanda di cunti di l'usu di licenza in u ^ GN array, è pudete vede ciò chì hè statu salvatu in u pannellu cù u cumandimu: result ^GN("%SYSTEM.License:Counts",0)
Moduli di funziunalità aumentati
È a seconda mellura, chì hà simplificatu è automatizatu assai u mo travagliu, hè stata l'implementazione di a capacità di eseguisce moduli scritti apposta quandu generà ogni linea di dumanda. Questu modu, possu custruisce una nova funziunalità in u rapportu nantu à a mosca in un passu, per esempiu, ligami attivi per operazioni supplementari nantu à e dati.
Esempiu 1: U travagliu cù a classa App.Parameter
Crea un paràmetru cù u "Table Navigator"
Edite un paràmetru via "Opzioni"
Esempiu 2: Vede u globale via u ligame "Storia".
Graficu
Inspiratu da l'articulu [9] è per visualizà a crescita di e basa di dati, una pagina hè stata creata chì mostra un graficu mensuale di dimensioni di basa di dati creati da u schedariu iris.log (cconsole.log) utilizendu i registri "Expand" retrospectivamente da u ghjornu attuale.
Per esempiu, un gràficu di l'avvenimentu hè statu ancu creatu in InterSystems IRIS, chì hè ancu generatu da u schedariu di protokollu:
Ligami à i materiali:
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
Grazie à l'autori di questi è altri articuli chì m'hà aiutatu à creà stu strumentu.
PS Stu prughjettu hè sviluppatu è parechje idee ùn sò ancu state implementate. In un futuru vicinu aghju pensatu à fà:
1. Modellu di applicazione nantu à u quadru
2. Auto-documentazione di furmatu di codice
Source: www.habr.com