2.2 Windows kurulumu

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

Yer:  Teknik Kılavuzlar > Netsim System Agent Kurulum ve Yönetim Kılavuzu > 2. Kurulum >

2.2 Windows kurulumu

  1. Dağıtım dosyalarını hedef dizine kopyalayın (örn. C:\Netsim\Agent). Bütün dosyalar aynı dizinde olmalıdır.
  2. NetsimSystemAgent.conf.json dosyasını ortama göre düzenleyin — en azından dinleyici portu ve physicalRoot (${APPDIR}/wwwroot önerilir).
  3. NetsimLisans.xml dosyasını aynı dizine koyun.
  4. Yönetici komut isteminde hizmeti kurun ve başlatın:
NetsimSystemAgent.exe -INSTALL
NetsimSystemAgent.exe -START

Hizmet ayağa kalktıktan sonra yönetilecek veritabanlarını msql ile MASTER'a kaydedin (bkz. “Yönetilen veritabanları”); kayıt betiği çalışan hizmete gider, hizmet durmuşken verilemez.

-INSTALL, hizmeti otomatik başlatma (SERVICE_AUTO_START) ile Hizmet Denetim Yöneticisi'ne kaydeder. Kayıtta hizmet adı NetsimSystemAgent, görünen ad Netsim System Agent Service, açıklama “Bu hizmet, Netsim uygulamaları yardımcı hizmetidir.” olur ve hizmet — hesap verilmediyse — LocalSystem hesabında çalışır.

Kayıt ayrıca kurtarma eylemlerini ayarlar: hizmet başarısız olursa üç kez, 30 saniye arayla yeniden başlatılır (sıfırlama süresi 10 dakika) — ve bu, hizmet düzgün durduğunda da uygulanır, yani kritik bir başlatma hatasından sonra kendiliğinden yeniden denenir (bkz. 3.4 çıkış kodları). Bunları Hizmetler konsolunun Kurtarma sekmesinden görebilir ve değiştirebilirsiniz; -INSTALL'ı yeniden çalıştırmak değişikliklerinizi geri yazar.

Sistem kapanışı. Windows kapanırken hizmet, olağan durdurmanın aynısını yapar: dinleyiciler kapanır, alt süreçler beklenir, veritabanları kaldırılır. İşletim sistemi bu iş için sınırlı bir süre tanır (WaitToKillServiceTimeout); alt süreçlerin kapanması uzun sürüyorsa kapanış yarıda kesilebilir ve bir sonraki açılışta paylaşılan bellek segmenti devralınır (bkz. 2.4).

2.2.1 Hizmeti belirli bir hesapla kurmak (-SERVICE_USER)

Hizmetin LocalSystem yerine gerçek bir hesapla oturum açması için kurulumda hesabı verin. Windows'ta parola zorunludur:

NetsimSystemAgent.exe -INSTALL -SERVICE_USER "MQL\netsimsvc" -SERVICE_PASSWORD "..."

-INSTALL, hesaba “hizmet olarak oturum aç” (SeServiceLogonRight) yetkisini de kendisi verir ve bunu yaptığını yazar. Bu adım atlanamaz: CreateService bir hesap adını kabul eder ama yetkiyi vermez; yetki yoksa hizmet kurulur, -START ise 1069 (“The service did not start due to a logon failure”) ile düşer ve sebep hiçbir yerde yazmaz.

-INSTALL -SERVICE_USER "MQL\netsimsvc" -SERVICE_PASSWORD "..."
> SeServiceLogonRight granted to "MQL\netsimsvc".
> "Netsim System Agent Service" successfully installed.
DurumSonuç
-SERVICE_USER yokHesap adı verilmez, hizmet LocalSystem olarak koşar.
-SERVICE_USER var, -SERVICE_PASSWORD yokKurulum yapılmaz: INVALID_PARAMETER: -SERVICE_USER ile -SERVICE_PASSWORD birlikte verilmelidir, çıkış kodu 2.
Hesap adı hatalıLookupAccountNameW aşamasında, yetki verilmeden ve hizmet kurulmadan önce bildirilir.
Yönetici hakkı yokYerel güvenlik ilkesi yazılamaz; günlüğe “-INSTALL -SERVICE_USER yönetici haklarıyla çalıştırılmalıdır” uyarısı düşer.
Dikkat

Parola komut satırında gider; bir sürecin komut satırı, süreç listesini okuyabilen herkese açıktır ve kabuk geçmişine de yazılır. Kurulumu tercihen etkileşimli bir yönetici oturumunda yapın ve sonrasında kabuk geçmişini temizleyin. Parolasız hesap türleri (gMSA ALAN\hesap$, sanal hesaplar, NT AUTHORITY\*) bu yolla kurulamaz — -SERVICE_PASSWORD zorunlu olduğu için; onlar için hizmeti hesapsız kurup hesabı hizmet özelliklerinden verin.

Not

Hizmet olarak kurmadan denemek için NetsimSystemAgent.exe -A yeterlidir: aynı ajan, konsol uygulaması olarak. Çıkmak için Ctrl+C kullanabilir ya da konsol penceresini kapatabilirsiniz; ajan iki durumda da kapanış işini (alt süreçleri sonlandırma, dinleyicileri ve veritabanı sunucusunu durdurma) yürütür. Aradaki tek fark işletim sistemindedir: pencere kapatıldığında Windows, kapanış tamamlandıktan sonra süreci kendisi sonlandırır, bu yüzden çıkış kodu 0 değil 0xC000013A (“denetimle sonlandırıldı”) olur — betikten çağırıp çıkış kodunu okuyacaksanız Ctrl+C'yi yeğleyin. İş bittiğinde ajan bir tuş bekler; -SILENT ile bu bekleme kalkar. Hizmet yönetimi komutları (-INSTALL, -UNINSTALL, -START, -STOP, -RESTART) hiçbir zaman tuş beklemez: komut satırından ya da kurulum betiğinden çağrıldıklarında iş bitince hemen çıkarlar.