# Siemens Industrial Edge

> Proxus'u Siemens Industrial Edge cihazında uygulama olarak çalıştırın. Paketi Industrial Edge Management'a alın, cihaza kurun ve arayüzü açın.

Kaynak: https://proxus.io/tr/docs/operate/siemens-industrial-edge

Bu kılavuzu tamamladığınızda Proxus, bir Siemens Industrial Edge cihazında uygulama olarak çalışır. Kullanıcılar
Proxus'u cihazın kendi adresi ve sertifikasıyla `https://<cihaz>/proxus/` adresinden açar. Cihazın yedeği,
Proxus'un yapılandırmasını ve veritabanını da kapsar.

Uygulamanın adı **Proxus IIoT Platform for Siemens Industrial Edge**'dir (`proxus-industrial-edge`). İçinde
[Docker](https://proxus.io/tr/docs/operate/docker) kurulumundaki Proxus'un aynısı çalışır; paket, Siemens'in Industrial Edge
uygulamaları için koyduğu kurallara göre hazırlanmıştır.

## Başlamadan önce

- Uygulamaları **Catalog**'a alma ve kurma yetkiniz olan bir Industrial Edge Management (IEM).
- Bu IEM'e bağlı ve çevrim içi bir Industrial Edge cihazı (IED). Cihazın mimarisini öğrenin: paket **x86-64** ve
  **arm64** için ayrı ayrı hazırlanır.
- Cihazda yeterli bellek. Hizmetler toplam yaklaşık 1,5 GB ayırır ve en fazla yaklaşık 11 GB kullanabilir. Üst
  sınırın büyük kısmı telemetri veritabanına aittir (ClickHouse, en fazla 8 GB). Kullanım, topladığınız tag sayısıyla
  artar.
- Cihazınızın mimarisine uygun paket. [Proxus sürümleri](https://github.com/proxusiiotplatform/proxus-distro/releases/latest)
  sayfasından indirin: bir `.app.zip` dosyası (çok büyük paketler `.partNN` parçalarına bölünür) ve
  `SHA256SUMS-app.txt` dosyası.
- Proxus lisans anahtarınız. Bkz. [Lisans](https://proxus.io/tr/docs/administer/license).

## Uygulamanın içinde ne var

Uygulama cihazda şu hizmetleri çalıştırır:

| Hizmet | Görevi | Hangi kullanıcıyla çalışır |
| --- | --- | --- |
| `proxus-init` | Uygulamanın her açılışında bir kez çalışır ve durur. İlk açılışta cihaza özel veritabanı parolalarını oluşturur; her açılışta platformun yazdığı klasörleri platformun kullanıcısına verir. | Yalnızca bu birkaç saniye için root |
| `proxus-hub` | Merkez sunucu: web arayüzü, REST API ve Edge Gateway'in koordinasyonu. | `1654` (`app`) kullanıcısı |
| `proxus-gateway` | Merkez sunucunun kendi Edge Gateway'i, **SYSTEM**. Bağladığınız cihazları okur, yerleşik MQTT sunucusunu çalıştırır. | `1654` (`app`) kullanıcısı |
| `proxus-nats` | Merkez sunucu ile Edge Gateway arasındaki NATS sunucusu. | `1654` (`app`) kullanıcısı |
| `proxus-postgresql` | Yapılandırma veritabanı: cihazlar, profiller, alarm kuralları, kullanıcılar, değişiklik geçmişi. | Veritabanının kendi kullanıcısı |
| `proxus-clickhouse` | Telemetri veritabanı: okunan her değer ve sistem günlükleri. | Veritabanının kendi kullanıcısı |

`proxus-init` dışındaki her hizmet durursa kendiliğinden yeniden başlar. Her hizmetin bir bellek sınırı vardır.

## Adım 1: Paketi kontrol edin

1. Paket birkaç `.partNN` parçası olarak geldiyse parçaları sırasıyla tek bir `.app.zip` dosyasında birleştirin:

   ```bash
   cat proxus-industrial-edge_2.0.0_amd64.app.zip.part* > proxus-industrial-edge_2.0.0_amd64.app.zip
   ```

   Windows'ta parçaları sırasıyla `copy /b` ile birleştirin, örneğin
   `copy /b dosya.part00 + dosya.part01 dosya.app.zip`.

2. Dosyayı açın. İçinden tek bir `.app` dosyası çıkar, örneğin `proxus-industrial-edge_2.0.0_amd64.app`.
3. `.app` dosyasını `SHA256SUMS-app.txt` ile karşılaştırın:

   ```bash
   shasum -a 256 proxus-industrial-edge_2.0.0_amd64.app
   ```

   Windows'ta: `certutil -hashfile proxus-industrial-edge_2.0.0_amd64.app SHA256`. Sonuç, `SHA256SUMS-app.txt`
   içindeki o dosyanın satırıyla aynı olmalıdır. Aynı değilse dosyayı içe aktarmayın ve yeniden indirin.

## Adım 2: Uygulamayı Catalog'a alın

1. Industrial Edge Management'ta oturum açın.
2. **Catalog**'u açın ve `.app` dosyasını içe aktarın. Yükleme biraz sürer: paket, uygulamanın ihtiyaç duyduğu
   bütün imajları içinde taşır, bu yüzden cihaz internetten hiçbir şey indirmez.
3. Yükleme bitince uygulama **Catalog**'da **Proxus IIoT Platform for Siemens Industrial Edge** adıyla, `2.0.0`
   sürümüyle görünür.

Proxus paketi kendi [sürümler sayfasında](https://github.com/proxusiiotplatform/proxus-distro/releases) yayımlar,
Industrial Edge Hub üzerinden dağıtmaz.

## Adım 3: Uygulamayı cihaza kurun

1. **Catalog**'da Proxus kutucuğunu seçin. Uygulamanın sayfası açılır.
2. **Install**'ı seçin. **Install App** penceresi açılır.
3. Uygulama bir yapılandırma dosyasına ihtiyaç duymaz. **Next**'i seçin.
4. Cihazı seçin ve **Install now**'ı seçin.
5. Kurulumu **Job Status** altında izleyin. Bittiğinde uygulama **My Installed Apps** altında listelenir.

İlk açılışta veritabanları ve platformun güvenlik anahtarları oluşturulduğu için bu açılış sonrakilerden uzun sürer.

## Adım 4: Proxus'u açın

1. Industrial Edge cihazının web arayüzünde oturum açın.
2. Proxus uygulamasını cihazın uygulama listesinden açın ya da aynı tarayıcıda `https://<cihaz>/proxus/` adresine
   gidin. `<cihaz>`, cihaza eriştiğiniz adrestir.
3. Proxus'un oturum açma sayfasında kullanıcı adına `Admin` yazın, **Parola** alanını boş bırakın ve **Oturum aç**
   düğmesini seçin.
4. **Admin** kullanıcısına hemen bir parola verin: **Yönetim > Profilim** ekranında **Parolamı değiştir**'e tıklayın.
   Bkz. [Güvenlik](https://proxus.io/tr/docs/operate/security#değiştirilmesi-gereken-varsayılan-kimlik-bilgileri).
5. Lisansınızı etkinleştirin. Bkz. [Lisansı etkinleştirin](https://proxus.io/tr/docs/administer/license#lisansı-etkinleştirin).
   Cihazın internet erişimi yoksa orada anlatılan çevrim dışı etkinleştirmeyi kullanın.
6. Tesisin saat dilimini **Yönetim > Bölge ve saat** ekranından seçin. Uygulama UTC ile çalışır ve tesis saati
   başlangıçta UTC'dir; zamanlar her durumda UTC saklandığı için bu yalnızca gösterimi değiştirir. Bkz.
   [Bölge ve saat](https://proxus.io/tr/docs/administer/region-and-time).

Proxus'a yalnızca cihazda oturum açmış kullanıcılar ulaşır: cihaz, isteği uygulamaya iletmeden önce kendi oturumunu
kontrol eder. Ardından Proxus kendi kullanıcı adını ve parolasını sorar.

## Uygulamanın kurgusu

### Cihazın ters proxy'si üzerinden erişim

Siemens, bir uygulamanın web arayüzüne cihazın ters proxy'si üzerinden erişilmesini şart koşar. Proxus buna uyar:

- Arayüz `https://<cihaz>/proxus/` adresindedir. Cihazın ters proxy'si HTTPS'i cihazın sertifikasıyla karşılar ve
  istekleri `/proxus` yolunu koruyarak merkez sunucuya iletir. Merkez sunucu sayfalarını bu yolun altında sunar
  (`[Service] PathBase = "/proxus"`, bkz. [Yapılandırma](https://proxus.io/tr/docs/reference/configuration)).
- Merkez sunucu cihazda kendi adına hiçbir port açmaz. Cihazın web arayüzünü açabilen herkes Proxus'u da açabilir;
  arayüz için güvenlik duvarında başka bir port açmak gerekmez.
- Cihazın ters proxy'si, web arayüzünün canlı kalması için gereken WebSocket bağlantılarını iletir.
- **Secure redirection** açıktır: yalnızca cihazda oturum açmış kullanıcılar geçebilir.

Uygulama cihaza şu ters proxy ayarlarını bildirir:

| Ayar | Değer |
| --- | --- |
| Hizmet | `proxus-hub` |
| Ad (yol) | `proxus` |
| Protokol | `HTTP` (HTTPS'i cihaz karşılar) |
| Port | `32780` (uygulamanın içinde, dışarıya açılmaz) |
| Rewrite target | `/proxus` (yol korunur) |
| Secure redirection | açık |
| Yönergeler | WebSocket yükseltmesi (`Upgrade`, `Connection`), `Host`, `X-Forwarded-For`, `X-Forwarded-Proto`, `X-Forwarded-Host`, `proxy_read_timeout 3600s` |

### Parolalar

Uygulamanın dosyalarında hiçbir parola yer almaz. İlk açılışta `proxus-init`, PostgreSQL ve ClickHouse için her
cihazda farklı, rastgele birer parola oluşturur. Parolalar uygulamanın yapılandırma klasöründe, `secrets/` altında
tutulur; her parolayı yalnızca onu kullanan veritabanı ve platformun kullanıcısı okuyabilir. Merkez sunucu ve Edge
Gateway parolaları açılırken okur. Yapılandırma klasörü cihazın yedeğinde olduğu için geri yüklenen bir cihaz
parolalarını korur.

### Root yetkisi olmadan çalışma

Merkez sunucu, Edge Gateway ve NATS sunucusu, imajların kendi kullanıcısı `app` (`1654`) ile çalışır. Veritabanları
kendi kullanıcılarını kullanır. Yalnızca `proxus-init`, klasörleri bu kullanıcıya vermek için her açılışta birkaç
saniye root olarak çalışır ve ardından durur.

### Cihazda açılan portlar

| Cihazdaki port | Hizmet | Ne için |
| --- | --- | --- |
| `32883` | `proxus-gateway` | Yerleşik MQTT sunucusu; Proxus'a veri yayınlayan makineler ve sistemler için. |
| `38083` | `proxus-gateway` | Edge Gateway'in kendi HTTP uç noktası (sağlık kontrolü). |
| `34222` | `proxus-nats` | NATS sunucusunun istemci portu. |
| `37422` | `proxus-nats` | NATS sunucusunun Edge Gateway bağlantı portu. |
| `38222` | `proxus-nats` | NATS sunucusunun izleme uç noktası. |

Web arayüzü bu listede yoktur: ona yalnızca cihazın ters proxy'si üzerinden, `443` portundan erişilir.
Kullanmadığınız portları cihazın güvenlik duvarında kapatın. Bkz. [Güvenlik](https://proxus.io/tr/docs/operate/security#ağ-portları).

## Yedekleme ve geri yükleme

Cihazın yedeği (Industrial Edge State Service), uygulamanın **Host** birimlerini kapsar:

| Uygulamadaki klasör | İçindekiler | Cihazın yedeğinde |
| --- | --- | --- |
| `proxus-config` | Yapılandırma, güvenlik anahtarları, sertifika deposu anahtarı, NATS güveni, cihazın parolaları | evet |
| `proxus-postgresql` | Yapılandırma veritabanı | evet |
| ClickHouse verisi | Telemetri geçmişi ve sistem günlükleri | hayır |
| Edge Gateway durumu | İşlem akışlarının pencere durumu | hayır |

Geri yüklemeden sonra Proxus aynı yapılandırma, cihazlar, kullanıcılar, kurallar ve parolalarla açılır. Yedekten
önce kaydedilen telemetri cihazın yedeğinde yoktur. Telemetri geçmişini korumak için onu bir veri hedefine de
gönderin (bkz. [Veri hedefleri](https://proxus.io/tr/docs/connect/outbound-targets)) ya da
[Yedekleme ve geri yükleme](https://proxus.io/tr/docs/operate/backup-and-restore) sayfasında anlatıldığı gibi ayrıca yedekleyin.

## Uygulamayı güncelleyin

Yeni sürümü **Catalog**'a alın ve 2. ve 3. adımdaki gibi cihaza kurun. Yapılandırma ve veritabanı cihazda kalır,
yeni sürüm bunları kullanır.

Uygulamanın önceki bir derlemesini çalıştıran cihazlarda arayüz `http://<cihaz>:32780` adresinde açılıyordu. Arayüz
artık `https://<cihaz>/proxus/` adresindedir ve `32780` portu açılmaz. Veritabanı, yeni derlemenin ilk açılışında
cihazın kendi parolasına geçer; elle bir şey yapmak gerekmez.

Önceki derlemeler İstanbul saatiyle çalışıyordu. 2.1.0 sürümünden itibaren uygulama UTC ile çalışır ve tesisin saat
dilimi **Yönetim > Bölge ve saat** ekranından seçilir: güncellemeden sonra orada bir kez seçin, yoksa saatler UTC
gösterilir.

## Sınırlar

- **Başka makinelerdeki Edge Gateway'ler.** Uygulamadaki merkez sunucu kendi Edge Gateway'ini, **SYSTEM**'i
  yönetir; SYSTEM, Industrial Edge cihazından erişilebilen cihazları okur. Bu merkez sunucudan başka makinelere Edge
  Gateway kurmak desteklenmez: kurulum komutu merkez sunucunun HTTPS portuna ihtiyaç duyar ve uygulama bu portu
  açmaz. Birden fazla sahada Edge Gateway gerekiyorsa merkez sunucuyu [Docker](https://proxus.io/tr/docs/operate/docker) ile kurun.
- **Industrial Edge Management üzerinden uzaktan erişim.** Proxus'u IEM'in uzaktan erişimiyle açmak test edilmedi.
  Proxus'u cihazın adresinden açın.

## Bir şey çalışmadığında

| Ne görüyorsunuz | Neden | Ne yapmalı |
| --- | --- | --- |
| `https://<cihaz>/proxus/` cihazın oturum açma sayfasını gösteriyor. | Secure redirection: cihazda oturum açmamışsınız. | Cihazın web arayüzünde oturum açın, sonra adresi yeniden açın. |
| Proxus sayfası yükleniyor ama açılış ekranında kalıyor. | Canlı bağlantı (WebSocket) geçemiyor. | Tarayıcı ile cihaz arasındaki bir proxy ya da güvenlik cihazının WebSocket'i engellemediğini kontrol edin. |
| Uygulama çalışmıyor görünüyor ve `proxus-hub` günlüğünde sürekli `Waiting for the device passwords (proxus-init)...` yazıyor. | `proxus-init` çalışmadı ya da işini bitirmedi. | `proxus-init` günlüğünü açın; işini bitirdiğinde son satırı `Proxus: device passwords and folder owners are ready.` olur. Uygulamayı yeniden başlatın. |
| Bir hizmetin günlüğünde uygulamanın bir klasörü için `Permission denied` görünüyor. | Klasörün sahibi uygulamanın dışından değiştirilmiş. | Uygulamayı yeniden başlatın: `proxus-init` klasörleri platformun kullanıcısına geri verir. |
| Geri yüklemeden sonra trendlerde ve raporlarda geçmiş yok. | Telemetri cihazın yedeğinde değildir. | Bkz. [Yedekleme ve geri yükleme](#yedekleme-ve-geri-yükleme). |

Proxus desteğine günlükleri ve ayarları göndermek için bir [destek paketi](https://proxus.io/tr/docs/administer/support-bundle)
oluşturun.

## Sonraki adımlar

- **SYSTEM** Edge Gateway'ine [bir cihaz bağlayın](https://proxus.io/tr/docs/connect/devices/add-a-device).
- [Güvenlik](https://proxus.io/tr/docs/operate/security): sağlamlaştırma kontrol listesi.
- [Lisans](https://proxus.io/tr/docs/administer/license): lisans haklarınızı ve anlık kapasiteyi görün.
