Et panel med tilleggsverktøy for å overvåke og undersøke feil i applikasjoner og integrasjonsløsninger på InterSystems IRIS-dataplattformen, Ensemble-integrasjonsplattformen og Caché DBMS, eller historien om en annen sykkel.
I denne artikkelen vil jeg snakke om applikasjonen som jeg, sammen med standard administrasjonsverktøy, bruker hver dag for å overvåke applikasjoner og integrasjonsløsninger på InterSystems IRIS-plattformen og finne feil når de oppstår.
Løsningen inkluderer visning og redigering av globale arrays, kjøring av spørringer (inkludert JDBC/ODBC), sending av søkeresultater via e-post som zippede XLS-filer. Se klasseobjekter med muligheten til å redigere. Flere enkle grafer for systemprotokoller.
Dette er en CSP-applikasjon basert på
Hvis du er interessert, se nedenfor og inn
Det hele startet med å studere spørsmålet om hvordan man logger endringer på objekter i InterSystems IRIS, Ensemble og Caché DBMS.
Etter lesing
Den resulterende løsningen er implementert som en panelunderklasse av %CSP.Util.Pane, som har et hovedkommandovindu og en Kjør-knapp, pluss innstillinger for kommandoavgrensning.
Når du skriver inn "?" vi får en kort beskrivelse av disse kommandoene:
Globaler
Min vanligste kommando er å se det globale. Som regel er dette en global protokoll når du feilsøker ditt eget eller andres prosjekt. Du kan se den i omvendt rekkefølge, samt ved å bruke et filter på både koblingen og dataene. Funne noder kan redigeres og slettes:
Du kan slette hele den globale ved å skrive inn minus ^logMSW- i kommandoen etter navnet.
Men på denne måten kan du bare slette globaler som starter med ^log (protokollglobaler), dvs. En begrensning mot utilsiktet sletting er implementert.
Hvis du skriver inn "*" etter navnet, får du en liste over globaler med tilleggsegenskaper. Den andre "*" vil legge til et nytt felt "Tildelt MB", og en annen stjerne vil være "Brukt MB". Denne kombinasjonen av to rapporter og inndelingen i "stjerner" gjøres for å dele den ofte langvarige rapporten i okkuperte blokker av store globaler.
Fra denne tabellen kan du følge aktive lenker for å se selve globalen eller for å se/redigere den på standard måte fra administrasjonsportalen ved å klikke R eller W i Tillatelsesfeltet.
forespørsler
Konvertere en rapport til Excel-format
Den nest mest brukte funksjonen er kjøring av spørringer. For å gjøre dette, skriv inn sql-setningen som en kommando.
Det viktigste som var nok for meg i standard System Management Portal var å utføre spørringer på JDBC/ODBC-kilder konfigurert i DBMS og sende ut resultatene i XLS-format, arkivere og sende filen via e-post. For å gjøre dette, i verktøyet mitt, før du utfører kommandoen, må du aktivere avmerkingsboksen "Last ned til Excel-fil".
Denne funksjonen sparer meg for mye tid i min daglige rutine, og jeg lykkes med å integrere ferdige moduler i nye applikasjoner og integrasjonsløsninger.
Men for å gjøre dette må du først konfigurere banen for å lage filer på serveren og påloggingsinformasjonen til brukeren og e-postserveren; for dette må du i sin tur redigere nodene til de globale programinnstillingene ^%App.Setting .
Lagre rapporter globalt
Svært ofte er det nødvendig å lagre resultatene av rapportutførelse globalt. For å gjøre dette bruker jeg følgende prosedyrer:
For JDBC:
##class(App.sys).SqlToDSN
For ODBC:
##class(App.sys).SaveGateway
For SQL-uttrykk:
##class(App.sys).SaveSQL
For spørring:
##class(App.sys).SaveQuery
For eksempel, hvis kommandoen i panelet
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
La oss lagre resultatet av forespørselen om telling av lisensbruk i ^GN-matrisen, og du kan se hva som ble lagret i panelet med kommandoen: result ^GN("%SYSTEM.License:Counts",0)
Utvidede funksjonalitetsmoduler
Og den andre forbedringen, som i stor grad forenklet og automatiserte arbeidet mitt, er implementeringen av muligheten til å utføre spesialskrevne moduler ved generering av hver spørringslinje. På denne måten kan jeg bygge ny funksjonalitet inn i rapporten i en fart, for eksempel aktive lenker for ytterligere operasjoner på data.
Eksempel 1: Arbeid med App.Parameter-klassen
Lag en parameter ved å bruke "Tabellnavigator"
Rediger en parameter via "Alternativer"
Eksempel 2: Vise den globale via koblingen "Historikk".
Kart
Inspirert av artikkelen [9] og for å visualisere veksten av databaser, ble det laget en side som viser en månedlig graf over databasestørrelser opprettet fra iris.log-filen (cconsole.log) ved å bruke "Expand"-poster retrospektivt fra gjeldende dag.
Som et eksempel er det også laget en hendelsesgraf i InterSystems IRIS, som også er generert fra protokollfilen:
Lenker til materiell:
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
Takk til forfatterne av disse og andre artiklene som hjalp meg med å lage dette verktøyet.
PS Dette prosjektet er under utvikling og mange ideer er ennå ikke implementert. I nær fremtid planlegger jeg å gjøre:
1. Søknadsmal på rammeverket
2. Autodokumentasjon av kodeformat
Kilde: www.habr.com