İçeriğe geç

Sunucu Ayarları

Ayarlar → Sunucu Ayarları, kurulumun açılışta okuduğu ayarları gösterir ve değiştirir: portlar ve adresler, HTTPS’i kimin sunduğu, script ve rapor sınırları, kayıtların ne kadar saklanacağı, küme, Sistem Sağlığı eşikleri. Bunlar bir alanın (space) değil, kurulumun ayarlarıdır: tek süreç, tek port, tek sertifika her alan için geçerlidir.

YetkiNe sağlar
VIEW_SERVER_SETTINGSSayfayı açmak ve Sunucu güncellemesi kartını görmek
UPDATE_SERVER_SETTINGSKaydetmek, sertifikayı değiştirmek, küme denetimini çalıştırmak, servisi yeniden başlatmak, Sunucu güncellemesi kartında bir güncellemeyi indirmek ve kurmak (Güncelleme)

İkisi de kurulum genelindedir ve varsayılan alanın yönetici rolünde bulunur. Bir kiracı alanının yöneticisi bu sayfayı görmez.

Ayarları kurulumun dışında başka biri yönetiyorsa (örneğin barındırılan bir hizmet), sayfa kapatılmış olabilir; bu durumda ayarlar yerine bunu söyleyen bir cümle görünür.

Her ayar, çalışan değeriyle birlikte, ayar dosyasının o ayar için tuttuğu değerle yan yana gösterilir:

EtiketAnlamı
Yeniden başlatma bekliyorDosyada kaydedilmiş, ama servis henüz bu değerle açılmadı. Sayfanın üstündeki bildirim bunları sayar: “N ayar sonraki yeniden başlatmada değişecek.”
KilitliDeğer, ayar dosyasının önüne geçen bir yerden geliyor: bir servis parametresi (-D...) ya da bir ortam değişkeni. Etiket nereden geldiğini söyler (örneğin “Ayar dosyasının önüne geçen INS_RABBIT_HOST ortam değişkeniyle verilmiş.”). Bu ayar sayfadan değiştirilemez; servis yapılandırmasından değiştirin ya da orada kaldırıp yönetimi sayfaya bırakın.
VarsayılanHiçbir yer bu ayarı vermiyor; ürünün kendi varsayılanı çalışıyor.

Düzenleme çekmecesinde (Düzenle) her alanın altında ayarın anahtarı (örneğin server.port) yazar; servis yapılandırmasında aynı adla verilebilir. Varsayılanı kullan ayarı dosyadan çıkarır, böylece bir alttaki kaynağa — çoğunlukla ürünün varsayılanına — düşer. Parola gibi gizli değerler hiçbir zaman geri gösterilmez: alan yalnızca Ayarlı — değiştirmek için yazın ya da Ayarlanmadı der.

Görünümde her bölüm bir kart, düzenleme çekmecesinde bir sekmedir; sıra aşağıdaki gibidir.

Kurulumun kendisi için belirlediği ayarlar, ardından Sistem Sağlığı eşikleri ve Saklama süreleri.

AyarAnahtarAçıklama
Güncelleme denetimiins.update.enabledGünde bir kez sürüm kaynağına daha yeni bir sürüm çıkıp çıkmadığını sorar ve sürümün altında gösterir; varsayılan olarak açıktır. İnternet erişimi olmayan bir sahada kapatın. Kaynağın adresi (ins.update.url) sayfada yoktur: INS_UPDATE_URL ile ya da bir yapılandırma dosyasında ayarlanır — bkz. Güncelleme.
Script süre sınırıins.script.execution-timeoutBundan uzun süren bir script durdurulur (örneğin 300s, 10m).
Script komut sınırıins.script.max-statement-countBir script çalışmasının yürütebileceği en fazla komut. Artırmak sınırı uzağa taşır, kaldırmaz.
PDF tarayıcı yoluins.report.html.pdf.browser-pathHTML raporları PDF’e çeviren tarayıcı. Boşsa sırasıyla Edge, Chrome, Chromium aranır.
PDF tarayıcı argümanlarıins.report.html.pdf.extra-argumentsO tarayıcıya verilecek ek bayraklar, boşlukla ayrılmış.
PDF dönüştürme süre sınırı (ms)ins.report.html.pdf.timeout-msBir raporun PDF’e dönüşmesi için toplam süre, sıra beklemesi dahil.
Aynı anda PDF dönüştürme sayısıins.report.html.pdf.max-concurrentHer dönüştürme kendi tarayıcısını açar (~200 MB bellek); yalnızca belleği yeten bir makinede artırın.
Rapor yazıcısı (IPP)ins.report.print.ipp-uriZamanlanmış raporların yazdırıldığı yazıcı ya da baskı sunucusu, ipp:// veya ipps:// adresi olarak. Boşsa makinedeki CUPS’un varsayılanı kullanılır; Windows’ta CUPS yoktur, rapor yazdıran bir Windows kurulumu bunu doldurmalıdır.
Cihaz gözatma süre sınırı (ms)ins.connection.browse.max-duration-msBir cihaz gözatmasının (SNMP, OPC UA, IEC 61850, S7, OPC DA/XML) en uzun süresi, en çok 10 dakika. Gözatma sürerken kümede lider devri bekler; makul tutun.
İzleme kullanıcısı / İzleme parolasıspring.security.actuator.username / passwordBir izleme aracının sağlık ayrıntılarını okuduğu hesap. Bu olmadan da durum satırı okunur — bkz. Dış izleme. Parolayı ortam değişkeninde vermek daha iyidir.

Sistem Sağlığı başlığı altında makinenin eşikleri. Sistem Sağlığı bunları açılışta okur, bu yüzden bir değişiklik bir sonraki yeniden başlatmada devreye girer.

AyarAnahtarVarsayılanAçıklama
Disk dolu eşiğimanagement.health.diskspace.threshold5GBBunun altındaki boş alanda disk fiilen doludur: Disk alanı denetimi Çalışmıyor olur, e-posta gider ve dış izleme alarm verir. Sıfırdan büyük bir boyut (5GB, 500MB). Yaklaşık 50 GB’tan küçük bir diskte, boş disk uyarısından önce gelmemesi için düşürün.
Boş disk uyarısı (%)ins.health.machine.disk-free-warning-percent10Boş alan diskin bu oranının altına düşünce Boş disk alanı uyarır. 1–99.
Kullanılan bellek uyarısı (%)ins.health.machine.memory-in-use-warning-percent90Makinede kullanılan bellek uyarı süresi boyunca bu oranın üstünde kalınca uyarır. 1–99.
CPU uyarısı (%)ins.health.machine.system-cpu-warning-percent90Makinenin CPU yükü uyarı süresi boyunca bu oranın üstünde kalınca uyarır. 1–99.
Uyarı süresiins.health.machine.warning-window15mBellek ya da CPU’nun uyarı vermeden önce eşiğin üstünde ne kadar kalması gerektiği; 1 dakika ile 24 saat arası.

Saklama başlığı altında dokuz gün sayısı: olay günlüğü, oluşan alarmlar, oturum açma denemeleri, yapılandırma / elle yapılan işlem / oluşan alarm denetim kayıtları, gönderilen e-postalar, gönderilen SMS’ler ve sohbet mesajları. Her biri 1–36500 gün; boş bırakılırsa süresiz saklanır.

Tarayıcının uygulamayı açtığı adresler, HTTPS’i kimin sunduğu, ardından portlar ve dinleme adresleri.

AyarAnahtarAçıklama
Uygulama adresiins.app.urlTarayıcıların uygulamayı açtığı adres. Bildirim e-postalarındaki bağlantı da buradan kurulur.
Sandbox adresiins.sandbox.urlSandbox portuyla birlikte uygulama adresi; custom HTML ve animasyonlar buradan yüklenir.
HTTPSserver.ssl.enabledÜç seçenek: HTTPS’i bu uygulama sunar, HTTPS önde bir proxy’de sonlanır, Önde bir proxy, bu sunucuya da HTTPS.
Güvenilen proxy’lerins.http.trusted-proxiesÖndeki proxy’ler, IP ya da CIDR olarak. İletilen istemci adresine yalnızca bunlardan geldiğinde güvenilir.
Uygulama dinleme adresiserver.addressAna portun bağlandığı adres; boşsa tüm arayüzler. Aynı makinedeki bir proxy’nin arkasında 127.0.0.1.
Uygulama portuserver.portUygulamanın portu.
Sandbox dinleme adresi / Sandbox portuserver.sandbox.address / server.sandbox.portSandbox bağlantısının adresi ve portu.
Iframe kaynaklarıins.iframe.allowed-hostsUygulamanın kendi adresleri dışında, onu gömebilen ve onun gömebileceği kaynaklar.
İzin verilen host deseniins.allowed-hostslocalhost, 127.x ve 10.66.66.x varsayılanlarının yerini alır; hâlâ kullanılıyorlarsa onları da ekleyin.

Ayarların altında, ayarlar yüklenemese bile çalışan üç araç:

  • Sertifika — sunucunun şu an sunduğu sertifika ve tarayıcının Uygulama adresinde gördüğü sertifika (tarayıcılar güvenir mi, adresi kapsıyor mu, kaç gün kaldı). Değiştir ile bir PKCS#12 (.p12, .pfx) ya da JKS dosyası yüklenir; önce denetlenir, kullanılabilirse yeniden başlatma olmadan hemen devreye girer (açık oturumlar yeniden bağlanır). Önceki dosya yedek olarak saklanır.
  • Proxy testi — kendi isteğinizin sunucuya nasıl ulaştığı: hangi proxy’den, proxy güvenilir mi, hangi protokolle.
  • Proxy örnekleri — bu sayfadaki değerlerle doldurulmuş Caddy, nginx ve IIS yapılandırmaları; Kopyala ile alınır.

Kimin imza atması gerektiği, oturumun ne kadar sürdüğü, ardından script’lerin ve bağlantıların nereye ulaşabileceği.

AyarAnahtarAçıklama
İmza gerektiren işlemlerins.auth.esign.required-operationsElektronik imza olmadan reddedilen işlemler; Tümü (*) hepsi demektir.
Oturum süresi (gün)ins.auth.refresh-token-duration-daysParola yeniden sorulmadan önce bir oturumun ne kadar sürdüğü.
Kilitlenmeden önceki başarısız oturum açma sayısıins.auth.attempt.max-auth-attemptsHesap kilitlenmeden önce art arda yanlış parola sayısı.
Kilit süresi (dakika)ins.auth.attempt.lockout-duration-minsKilitlenen hesabın beklemesi gereken süre.
Dizin (LDAP) ile oturum açmains.ldap.enabledKapalıyken hiçbir oturum açma dizine ulaşmaz; bağlantının kendisi LDAP ekranındadır. Yerel hesaplar kendi parolalarıyla girmeye devam eder.
Script hata ayıklayıcıins.script.debugger.enabledDebug Script yetkisi olanların kaydedilmiş bir script’i yazma yapmadan adım adım izlemesi.
Script’lerin erişebileceği adreslerins.rest.allowed-hostsins.rest(...) çağrılarının gidebileceği adresler.
Script’lerin kullanabileceği HTTP yöntemleriins.rest.allowed-methodsBoşsa hiçbir yöntem kullanılamaz.
Veri kaynaklarının bağlanabileceği adreslerins.datasource.allowed-hosts
Script’lerin ping atabileceği adresler / portlarins.ping.allowed-hosts / ins.ping.allowed-portsBoşsa hiçbir adrese / porta ping atılamaz.
Yayınların gönderilebileceği adreslerins.broadcast.allowed-hosts
OPC XML-DA’nın bağlanabileceği adreslerins.opcxml.allowed-hosts
E-posta OAuth belirteç adresleriins.mail.oauth.allowed-hostsBir e-posta hesabının OAuth2 belirteç adresinin bulunabileceği sunucular.

Custom HTML sayfalarının içerik güvenlik politikası (script-src, style-src, font-src, connect-src, img-src; anahtarlar ins.custom-html.csp.*) ve animasyon / faceplate eleman çerçevelerinin gösterebileceği görsel kaynakları (Eleman görsel kaynakları, ins.element.csp.img-src). Kaynaklar boşlukla ayrılır.

Custom HTML düzenleyicisinin Dış kaynakları yerelleştir özelliği bir CDN dosyasını yalnızca adı tam yazılmış bir sunucudan indirebilir (https://cdn.jsdelivr.net); *.gstatic.com gibi bir joker sayfanın kendisi için çalışır ama indirme için açılmaz. Google Fonts için iki sunucu gerekir: fonts.googleapis.com ve fonts.gstatic.com.

Üç parça: Düğümler, Broker, Redis. Her ayarın anlamı Yedekli Mimari sayfasındadır.

Bağlantıları test et, formdaki değerleri — kaydedilmemişler dahil — bir sonraki açılışın göreceği gibi denetler ve hiçbir şey kaydetmez: “Bir sonraki başlatma kabul edilir.” ya da kümeli açılmayı engelleyen nedenler. Bölümün altındaki Canlı küme durumu şu an çalışanı gösterir.

Sayfanın en altında, salt okunur:

  • Veri depoları — veritabanı adresi ve kullanıcısı, Redis sunucusu ve portu, InfluxDB adresi ve veritabanı, sürecin çalıştığı haliyle. Bunlar bu sayfadan değiştirilmez: uygulama bunlar olmadan açılamaz, yanlış bir adres kaydedilirse düzeltecek sayfa kalmaz. Veritabanı parolası hiç gösterilmez.
  • Ayar dosyası — sayfanın yazdığı dosyanın yolu (config/application.yml).
  1. Önce her değer denetlenir. Geçersiz bir değer, kilitli bir ayar ya da kümeli açılmayı engelleyecek bir küme değişikliği kaydın tamamını reddeder: hiçbir şey yazılmaz, yarım uygulanmış bir form dosyaya ulaşmaz. Hatalı alan kırmızıyla işaretlenir.
  2. Önceki dosya saklanır (config/application.yml.bak), yenisi yazılır. Sayfanın sahiplenmediği ayarlar korunur, ama dosyadaki yorum satırları korunmaz.
  3. İmzalanır ve denetim kaydına yazılır. Her kayıt eski ve yeni değerleriyle tek bir denetim satırıdır (gizli değerler değer olarak değil, “ayarlı / yeni değer” olarak). İmza gerektiren işlemler bunu içeriyorsa elektronik imza istenir.
  4. Bir sonraki yeniden başlatmada devreye girer. Değişen satırlar o zamana kadar Yeniden başlatma bekliyor gösterir.
  5. Açılış korumasını kurar (aşağıda).

Değiştirilemeyen ayarlar bilinçli olarak sayfada yoktur: veritabanı bağlantısı, INS_MASTER_KEY ve diğer açılış sırları, JVM seçenekleri (heap, saat dilimi) ve kota (kendi ekranı vardır: Kota Politikaları).

Bekleyen değişiklik bildiriminde, servis yöneticisinin servisi yeniden başlatacağı kanıtlanabiliyorsa Şimdi yeniden başlat düğmesi çıkar. Düğme temiz bir kapanış yapar — süren istekler biter, bağlantılar kendi yollarıyla durur, yazmalar yarıda kesilmez — ve servisi yeniden başlatmayı servis yöneticisine bırakır. Sayfa servis yeniden yanıt verdiğinde kendiliğinden bağlanır ve sonucu söyler:

  • “Servis yeni değerlerle yeniden başladı.”
  • “Servis yeniden başladı, ancak yeni değerlerle değil…” — yeni değerler açılışı engelledi ve önceki ayar dosyası geri yüklendi (açılış koruması).
  • Servis uzun süre yanıt vermezse, sunucuda kontrol etmeniz söylenir.

Yeniden başlatma sırasında oturum açmış kullanıcıların bağlantısı ve cihaz haberleşmesi kısa bir süre kesilir. Bir kümede yalnızca isteği yanıtlayan düğüm yeniden başlar; diğerlerine dokunulmaz. Yeniden başlatma da kayıt gibi imzalanır ve denetim kaydına yazılır.

KurulumDüğme ne zaman çıkar
Windows, kurulum programının servisiKurulum programının kurduğu servis (NSSM) olduğu gibi uygundur: çıkışta servisi yeniden başlatacak şekilde kurulur.
Linux, systemdServis bir systemd biriminden doğrudan başlatılmışsa ve birim çıkışta yeniden başlatıyorsa. [Service] bölümünde Restart=on-failure ya da Restart=always yeterlidir (örneğin RestartSec=5 ile). ExecStart Java’yı kendisi başlatmalıdır (ya da onu exec eden bir betik); Java’yı alt süreç olarak çalıştıran bir sarmalayıcı betik uygun değildir.
Docker, elle java -jar, başka bir servis yöneticisiSunulmaz: servisi her zamanki gibi sunucuda yeniden başlatın.
[Service]
Restart=on-failure
RestartSec=5

Düğme sunulmadığında sayfa nedenini söyler — örneğin “systemd, bu süreç kapandıktan sonra … birimini yeniden başlatmaz; birimde Restart=on-failure ya da Restart=always olmalı.” — ve “Geçerli olmaları için servisi sunucuda yeniden başlatın.” der. Denetim düğmeye basıldığında yeniden yapılır.

Sayfanın kabul ettiği bir değer yine de açılışı engelleyebilir: başka bir programın tuttuğu bir port, yanlış yazılmış bir küme adresi, makinede olmayan bir dinleme adresi. Servis yöneticisi servisi tekrar tekrar başlatır ve her deneme aynı şekilde düşer.

Açılış koruması bunu kendiliğinden geri alır:

  • Bir kayıt korumayı kurar. Servis bu ayarlarla hazır duruma gelirse değişiklik kanıtlanmış sayılır ve koruma kalkar.
  • Üç başarısız açılıştan sonraki açılışta — dosya hâlâ sayfanın yazdığı haliyse — önceki ayar dosyası geri yüklenir ve servis en son çalışan ayarlarla açılır.
  • Sayfa bunu bir sonraki kayda kadar gösterir: ”… tarihinde hizmet, kaydedilen ayarlarla N denemede başlayamadı; bu yüzden önceki ayar dosyası geri yüklendi.” ve Geri alınanlar: ayarların adları. Değeri düzeltip yeniden kaydedin.

Koruma yalnızca sayfanın kaydettiğini geri alır; dosyayı elle düzenlediyseniz ya da değer bir -D veya ortam değişkeninden geliyorsa dokunmaz. Açılışları yalnızca sayar: veritabanının kapalı olması gibi değişiklikle ilgisiz bir nedenle üç kez üst üste açılamayan servis de değişikliği geri alır — sayfa ve log bunu söyler, değişiklik bir kayıt uzaktadır.

config/application.yml elle düzenlenip bozulduysa sayfa yine açılır, ama kırmızı bir bildirim dosyayı, satırı, sütunu ve nedeni söyler; Düzenle kapalıdır ve kayıt reddedilir, böylece elle yazılan dosyanın üzerine yazılmaz. Dosyayı elle düzeltin (ya da application.yml.bak’ı geri koyun) — bir sonraki yeniden başlatmadan önce: servis okuyamadığı bir dosyayla açılmaz.

Sayı ve süre ayarları ürün tarafından da denetlenir — sayfadan, -D’den, ortam değişkeninden ya da elle düzenlemeden gelsin. Aralık dışındaki bir değer açılışı durdurmaz: yerine güvenli bir değer kullanılır — saklama sürelerinde süresiz saklama (hiçbir şey silinmez), diğerlerinde ürünün varsayılanı — ve açılışta bir ERROR satırı yazılır:

Setting ins.retention.event-log-days=0 is outside its valid range (1..36500); it is ignored and keep forever (nothing is deleted) is used instead.

Bir dağıtımdan sonra açılış logunda is outside its valid range arayın; temiz bir açılışta bu satır yoktur.