5.13 Yönetim arayüzü (wwwroot)

<< İçindekileri Görüntülemek İçin Tıklayın >>

Yer:  Teknik Kılavuzlar > Netsim System Agent Kurulum ve Yönetim Kılavuzu > 5. Servis yüzeyleri >

5.13 Yönetim arayüzü (wwwroot)

Paketle gelen web arayüzü StaticFile uygulamasından sunulur ve AdminREST uçlarını kullanır. Menü dört gruptan oluşur:

GrupSayfalar
Veritabanı Veritabanları (kayıt, kimlik kartı, görev zamanlayıcı, Parametreleri düzenle — ALTER DATABASE … SET PARAMETERS: kayıtlı bağlantı dizesi; ****** bırakılan kimlik alanları kayıtlı değerini korur, yeni değerler veritabanı yeniden açıldığında geçerli olur — açıklama, durum, yükseltme ve Kapat — CLOSE DATABASE: depoyu silmeden ayırır, MASTER kaydını kaldırır), Veritabanı kurulumu (yeni PostgreSQL / Firebird sunucusuna dağıtım setinden ürün veritabanı), Katalog (nesneler, kolon/ilişki/indeks/bağımlılık/öznitelik/yetki/dil sekmeleri — indeks sekmesinde koşul, ifade anahtarı ve USING INDEX — DDL düzenleyici), Veri (tablo satırları, sunucu taraflı sayfalama ve satır düzenleme), Motor işleri (ivd$scheduler_jobs), Yükseltme, Yükseltme komutları (ivd$upgrade editörü), Yerelleştirme (ivd$localization), Veri sözlüğü (seviye 3 ve 4 nesnelerinin açıklaması ve doc.summary / doc.module öznitelikleri, kolon ve parametreleri, bağımlılıkları ve kaynağı; Açıklama yaz COMMENT ON ve ALTER … SET ATTRIBUTES üretir, nesneyi yeniden tanımlamaz), Onarım işleri (ürünün onarım yordamları: liste yordamların özniteliklerinden kurulur — rpr.list = E listede gösterir, rpr.group grup, rpr.order sıra, rpr.default = E öntanımlı seçili, rpr.firm_param firma parametresinin adı (öndeğer IFIRMA_NO), rpr.args öteki parametrelerin JSON varsayılanları, rpr.call = SELECT satır döndüren yordam, rpr.warning onay penceresindeki uyarı; başlık ui.caption, özet doc.summary; firma listesi NETSIM.FIRMALAR_MUHA görünümünün FIRMA_NO, FIRMA_ADI kolonlarından. Liste ağaçtır: gruplar üst düğüm, işler altında; grup işaretlenince altındaki bütün işler seçilir, satıra tıklanınca açıklaması ve çağrı metni ağacın altında görünür. Seçilenler sırayla, her biri kendi işleminde çağrılır; bir yordamın hatası ötekileri durdurmaz; firma boşsa yordama NULL gider, yani bütün firmalar), SQL konsolu
Kimlik Kullanıcılar ve roller — MASTER login'leri, kullanıcı eşlemesi ve nesne yetkileri (GRANT / REVOKE) —, bağlı kullanıcılar, oturumlar
İzleme İzleme, günlükler, olay günlüğü (ivd$event_log), süreçler, iş parçacıkları, görevler
Sistem Lisanslar, WS uç noktaları, mesaj kuyruğu (ivd$message_queue), IoT cihazları, WhatsApp, kılavuzlar (ajan, IVEDI SQL ve ürün veritabanından üretilen veri sözlüğü kılavuzu)

Arayüz bütün yazma işlemlerini motorun /ivedi yüzeyi üzerinden yapar (sayfalar durumsuz POST /ivedi/execute, SQL sayfası bir WebSocket oturumu) ve çalıştıracağı deyimi her zaman onaydan önce, bağlantı parametrelerindeki parolayı maskeleyerek gösterir. Bileşenler DevExtreme'dir; kopyası wwwroot/extern/devextreme altında gelir, derleme adımı yoktur ve dışarıya hiçbir istek çıkmaz. Arayüzün kök dizini physicalRoot ile bildirilir; dağıtımda ${APPDIR}/wwwroot olmalıdır.

Yükseltme komutları sayfası. Seçilen veritabanının ivd$upgrade satırlarını (seviye 3/4 yükseltmesinin olay komutları) düzenler; ürünün üstveri veritabanında bu, deponun IVD$UPGRADE tablosudur ve derleme betiği oradan üretir. Olay adı soldaki ağaçtan seçilir (Upgrade.Run.Before|After ya da <Nesne>.<Olay>.Before|After: Domain, Generator, Exception, Role, Function, Table, View, Procedure, Trigger, Privilege, Index × Insert, Update, Delete); ağaçta olmayan bir ad, küçük harfli komut ve noktalı sayı olmayan sürüm reddedilir. Sürüm penceresi başlangıç dahil, bitiş hariçtir. Metin motor deyimidir; iki lehçe ayrışıyorsa NATIVE_SQL(FIREBIRD q'{..}', POSTGRESQL q'{..}'), tablo adı için {$TABLO$} yer tutucusu (editör dokunmaz, yükseltme açar). Doğrulama seçili satırın metnini dil sunucusuyla (/ivedi, mode: "lsp") Firebird ya da PostgreSQL lehçesine çevirip sözdizimini denetler, hiçbir şey çalıştırmaz; {$TABLO$} denetim için verilen tablo adıyla açılır. Her yazma onay penceresinden geçer.

Yükseltme sayfası. Seçilen veritabanının kimlik kartını (ürün kodu, durum, yürütme kipi, güvenlik yapısı, katalog sürümü, seviye 3 ve seviye 4 sürüm damgaları) gösterir; katalog yükseltmesini (UPGRADE [PREVIEW] [BACKUP TO]), seviye paketi işlemlerini (EXPORT LEVEL, UPGRADE LEVEL … FROM — gerektiğinde ALLOW DOWNGRADE, CONFIRMED, normal bir veritabanını güvenlikliye çeviren CONVERT TO SECURITY, güvenlikliyi normale çeviren CONVERT TO NORMAL ve depoda açık kalan diğer oturumları kapatan TERMINATE SESSIONS ile —, DROP LEVEL), benimsemeyi (ADOPT LEVEL ile hepsini, ya da tür seçip tek bir nesneyi: ADOPT TABLE | VIEW | PROCEDURE | FUNCTION | TRIGGER | COLLATION | SEQUENCE | DOMAIN | EXTERNAL FUNCTION | EXCEPTION) ve yükseltme geçmişini (ivd$upgrade_history) buradan yürütür. Geçmiş satırına tıklandığında o işlemin raporunun tamamı açılır ve metin olarak indirilebilir; açık rapor Kaydı sil ile, geçmişin tamamı Tümünü sil ile silinir (veritabanına ve kimlik kartına dokunulmaz). Koşan bir işlem ilerleme çubuğu, son eylem ve geçen süreyle (sa:dk:sn.fff) izlenir ve İptal düğmesiyle durdurulabilir; iptal edilen yükseltmenin raporu CANCELED satırıyla biter ve veritabanı ACTIVE durumuna döner. Raporun ELAPSED_MS kolonu deyim başına süreyi, özet satırı evre toplamlarını verir. İşlem bittiğinde yazılan özetteki işlem sayısı yalnız gerçekten yapılan değişiklikleri sayar: planın satırları, bilgi satırları ve değişiklik yapmayan satırlar (UNCHANGED — paketle aynı tablolar tek satırda, eklenecek satırı kalmamış tohum tabloları —, SKIPPED, KEPT) sayılmaz; aynı paketle yinelenen bir yükseltme yalnız her seferinde koşan seviye komutlarını gösterir. Önizlemede plan satırları sayılır. Seviye seçicisi ürünü adıyla gösterir (3 (ÜRÜN), 4 (KULLANICI)). Seviye damgasını yazan deyimler (BEGIN/END LEVEL, SET LEVEL … VERSION) arayüzde yoktur; onları ürünün derleme betiği yazar.

İşlem şeridindeki nokta sunucudan her ileti geldiğinde yanıp söner ve son iletiden bu yana geçen süreyi gösterir: 5 saniyeye kadar yeşil, 30 saniyeye kadar sarı, daha uzun sessizlikte kırmızı. Uzun bir adım (yüzlerce nesnenin katalog satırlarını yazan bir COMMIT) ilerleme çubuğunu uzun süre aynı yerde tutabilir; nokta yeşil kaldıkça işlem sürüyordur.

UPGRADE LEVEL uygulaması (önizleme değil) kendi günlük dosyasını yazar: <günlük dizini>\upgrade\<VERİTABANI>_L<seviye>_<yyyyMMdd_HHmmss>.log. Dosyanın başında paket (yol, boyut, başlık) ve veritabanı (depo, parola maskeli; kimlik kartı) bilgisi, ardından her evre, çalıştırılmadan önce tam metniyle her deyim, her rapor satırı (eylem, hata/uyarı işareti, süre) zaman damgasıyla, sonda hata ve uyarı sayısı ile toplam süre yer alır. Dosya adı işlem başlarken şeritte salt okunur gösterilir ve oradan indirilebilir; raporda da LOG satırı olarak kalır. Uygulama başlamadan önce katalog kimlik dizileri denetlenir: tablodaki en büyük kimliğin gerisinde kalan dizi ilerletilir (raporda SEQUENCE SET).

Paket alanının sunucudan seçme penceresi yalnız *.xnsdbs dosyalarını listeler (pencereden tüm dosyalara geçilebilir); istemciden yükleme de tarayıcının dosya penceresini .xnsdbs'e süzer. Yüklenen dosya dinleyicinin limits.maxContentSize sınırına tabidir (öndeğer 200 MB).

Kılavuzlar. Bu belge ve IVEDI SQL Kullanıcı Kılavuzu arayüzün “Kılavuzlar” sayfasından açılır; dosyalar wwwroot/docs altından sunulur ve statik kökün geri kalanı gibi kimlik istemez. Eksik görünüyorlarsa o dizin kopyalanmamış demektir.

Giriş, MASTER veritabanındaki bir login ile yapılır ve yönetim paneli SYSADMIN rolünün üyesi (ya da SYSDBA) olmayı gerektirir. Oturum çerezle taşınır; yalnızca /ivedi çağrıları (durumsuz uç Basic başlıkla, WebSocket oturumu open gövdesinde) parolayı da gönderir, bu yüzden arayüz parolayı tarayıcının oturum deposunda tutar.

5.13.1 Günlük işletim: hangi sayfada ne yapılır

Arayüzün ana alışkanlığı onay penceresini okumaktır: her yazma düğmesi yalnız bir SQL deyimi üretir ve onu çalıştırmadan önce gösterir; deyim beklenen değilse Vazgeç. Sayfalar görev sırasıyla:

SayfaNe için
Ana Panel Durum kartı: başlangıç zamanı, çalıştırılabilir, komut satırı, sürüm, süreç ve oturum sayıları. Üst çubukta tema, Kompakt görünüm ve dil (Türkçe / İngilizce; motor iletileri de seçilen dilde gelir). Aksiyonlar kartındaki düğmeler (yapılandırmayı yükle, uç noktaları tazele, hizmeti yeniden başlat) canlı sistemde kullanıcıları etkiler; alışkanlıkla basılmaz.
Veritabanları Liste MASTER kayıtlarıdır; parametrelerde kullanıcı ve parola ****** ile maskelidir. Satırdaki ⚠ Sunucu boş/localhost uyarısı kaydın yalnız ajanın makinesinden erişilebildiğini söyler: uzak istemciler (NetsimApp, web) varsa parametredeki sunucu adı makinenin ağ adı olmalıdır. Satıra tıklanınca kart ve düğmeler açılır: görev zamanlayıcı aç/kapat, Parametreleri düzenle, servis kullanıcısına geçir, Açıklama yaz (COMMENT ON DATABASE), durum, yükseltme önizleme / yükselt, Kapat. Kapat kaydı siler, dosyayı silmez; aynı parametrelerle Veritabanı Kaydet (OPEN DATABASE) kaydı geri getirir. Kayıtta “Bu depoda IVEDI kataloğu yok, oluşturulsun mu?” sorusu çıkıyorsa yanlış dosya seçilmiştir: vazgeçin.
Veritabanı kurulumu Yeni bir sunucuya dağıtım setinden ürün veritabanı kurar. Önce Denetle (hiçbir şey yazmaz), sonra Kur; kurulan veritabanı ayrıca kaydedilir.
Yükseltme Sıra her zaman aynıdır: depo süper kullanıcısının adı ve parolası (yalnız bu oturuma gider) → katalog yükseltmesi Önizleme → Yükselt → seviye paketi seç (sunucudan .xnsdbs ya da istemciden yükle) → Paket önizleme → Paketi uygula. Önizleme “ne yapacağım” sorusudur ve hiçbir şey yazmaz; özetteki VERSION satırı geriye işaret ediyorsa yanlış (eski) paket seçilmiştir. Katalog yükseltmesi kartı yalnız katalog yükseltme beklerken etkindir. Seviye paketi kartının ilk satırında seviye, paket dosyası ve Paketi uygula vardır; Paket önizleme, CONFIRMED, ALLOW DOWNGRADE, ADOPT CODE, CONVERT TO SECURITY / NORMAL seçenekleri, dışa aktarma ve seviye silme kapalı gelen İleri seviye işlemler bölümündedir (işaretli seçenek sayısı başlıkta görünür). Seçenekler önizlemenin söylediği durumda işaretlenir, “ne olur ne olmaz” diye değil. Uygulama her zaman veritabanını tek başına alır: 10 saniye sonra kalan oturumlar kapatılır (TERMINATE SESSIONS). Yedek kartındaki Standart yedek döngüsü (öndeğeri işaretli) yükseltmeyi veritabanının kopyasında yapar: önceki yedek {db}_yedek1 silinir (onayda adıyla söylenir), oturumlar kapatılır, {db} {db}_yedek1 adını alır, ondan {db}_yedek0 kopyası üretilir ve yükseltme kopyada koşar; başarılıysa kopya, başarısızsa {db}_yedek1 yeniden {db} olur. {db} yokken {db}_yedek1 hiçbir adımda silinmez. Firebird döngüsü yalnız ajanın makinesindeki dosyada çalışır, PostgreSQL kopyası sunucuda üretilir (kopya sırasında kaynağa başka bağlantı olmamalıdır). Döngü dosyayı yeniden adlandırmadan önce depodaki öteki bağlantıları — başka bir ajanınkiler (MCP sunucusu, başka küme) dahil — kapatır; dosya yine de açık kalırsa döngü hiçbir şeyi değiştirmeden kendiliğinden geri alınır ve hata iletisi dosyayı tutan bağlantıları söyler. Sayfa kapansa da koşu sunucuda sürer; sayfa yeniden açılınca kart döngünün canlı durumunu (adım ve son bilgi) gösterir, yarım kalmış döngü için Devam et ve Geri al sunar. Her adımın başlangıcı ve bitişi süresiyle sunucu günlüğüne yazılır; kopya sürerken 20 saniyede bir kopyalanan boyut (MB ve yüzde) hem ilerleme çubuğuna hem günlüğe gelir. Döngü bitene kadar veritabanı açılmaz. Döngü dışında yedek gerekiyorsa Yedek dosyası katalog yükseltmesinden önce tek dosyalık yedek alır. Hata çıkarsa damga yazılmaz, veritabanı LEVEL3_UPDATE durumunda kalır; neden giderilip aynı paket yeniden uygulanır. Yanlışlıkla İptal edilen koşu veritabanını ACTIVE'e döndürür, seviye eski kalır: paket yeniden uygulanır. Hangi durumda hangi sıra: aşağıdaki Veritabanı yükseltme bölümündeki senaryolar.
Katalog Veritabanı, tür ve ad süzgeciyle nesne listesi; tür seçilmezse alan, kısıt ve domain satırları da gelir. Nesnenin sekmeleri arasında Buna bağlı olanlar, bir tabloyu değiştirmeden önce bakılacak yerdir. Verisini aç aynı nesneyi Veri sayfasında açar.
Veri Sıralama ve süzgeç satırı sorguya çevrilir, sayfalama sunucudadır. Satır düzenleme yalnız birincil anahtarı olan tablolarda açılır; her yazma onaya gelir (UPDATE … WHERE <anahtar> = …).
SQL Betiğin tamamı tek işlemdir: hata yoksa COMMIT, varsa ROLLBACK. Ürün tabloları NETSIM şemasındadır (select count(*) from netsim.KULLANIC); şemasız ad bulunmaz. Sayfa hizmet hesabının yetkisiyle çalışır. Çalıştırılan betikler Geçmiş sekmesinde kalır; Nesneler sekmesinden ad sürüklenir.
Kullanıcılar Login'ler MASTER'dadır; panele giriş SYSADMIN üyeliği ister. Login ekle onayında (CREATE USER … FOR LOGIN … PASSWORD) parola açık görünür. Kullanıcı eşlemesi, login'in bir veritabanında hangi kullanıcı olduğudur; nesne yetkileri GRANT / REVOKE üretir.
Bağlı Kullanıcılar, Oturumlar Hesap listesi değil, şu an bağlı olanlar. Kapanma isteği gönder istemciye not gösterip kısa süre sonra kapanmasını ister; Zorla sonlandır oturumu hemen keser. Oturumlar sayfası yalnız kimliği doğrulanmış oturumları (web / masaüstü / diğer) sayar.
İzleme, Loglar, Olay günlüğü, SQL izleme, Süreçler, Motor işleri İzleme 5 saniyede bir yenilenir (makine, hizmet süreci, bağlantı havuzu, dinleyiciler). Loglar seviye süzgeci, arama ve indirme verir; Olay günlüğü ve Motor işleri veritabanı seçtirir; SQL izleme Başlat sonrası başka sekmede koşan sorguları satır satır gösterir.
Lisanslar, WS Uç Noktaları, Kılavuzlar Lisans dosyası yoksa liste boştur ve Sistem ID görünür; yeni lisans bu numarayla istenir. WS Uç Noktaları ürünün WEBSENDP uçlarını seçilen veritabanından okur; yükseltme bekleyen bir veritabanında hata verir, önce yükseltme tamamlanır.

5.13.2 Sorun giderme: üç tipik durum

BelirtiNereye bakılır
“Yükseltme hata verdi” Yükseltme → Yükseltme geçmişi → satıra tıkla → Yalnız hata ve uyarılar; hata satırının DETAIL'i ve raporun LOG satırındaki günlük dosyası (destek çağrısında istenecek ilk dosya). Hata varsa damga yazılmamıştır, veritabanı LEVEL3_UPDATE'tedir: neden giderilip aynı paket yeniden uygulanır.
“Kullanıcı bağlanamıyor” Bağlı Kullanıcılar / Oturumlar (bağlı mı?); Loglar'da kullanıcı adıyla arama (401, lisans, parola); Veritabanları'nda kaydın durumu ve Sunucu boş/localhost uyarısı (uzak istemci bağlanamaz).
“Zamanlanmış iş çalışmadı” Motor işleri, veritabanı seçili: “Görev zamanlayıcı KAPALI — işler koşmaz” görünüyorsa Veritabanları kartından (ya da Motor işleri'nden) görev zamanlayıcıyı aç. Görevler sayfası ajanın kendi zamanlayıcısını gösterir, ürün işlerini değil.