CShark Namoyish
Menyu

CShark hujjatlari

Administrator uchun qo'llanma

Mijoz saytida CShark dasturiy ta'minotini sozlash va texnik xizmat ko'rsatish: va topologiyani boshqarishdan zaxiralash, diagnostika va yangilashgacha.

2.0.3 versiyasi

1. Hujjatning maqsadi va administrator rollari

Hujjat mijozning saytida CShark dasturiy ta'minotini sozlaydigan va unga xizmat ko'rsatadigan mutaxassislar uchun mo'ljallangan.

Tizim bilan kundalik ish alohida hujjatda tasvirlangan "Foydalanuvchi qo'llanmasi", joylashtirish - hujjatda "Dasturiy ta'minot nusxasini o'rnatish bo'yicha ko'rsatmalar".

RolMas'uliyat sohasi
Tizim administratoriob'ekt topologiyasi, qurilmalar, kameralar, displeylar, integratsiya, tizim parametrlari, yangilash
Avtoturargoh ma'murihodisalarni qayta ishlash qoidalari, zona rejimlari, operatorlar va ularning huquqlari
Mijoz tizimi muhandisiinfratuzilma, zaxira, monitoring, tarmoq

Huquqlar namuna sifatida belgilanadi (12-bo'lim); yuqoridagi rollarga bo'linish tashkiliydir.

2. Dasturiy ta'minot tarkibi va komponentlarini joylashtirish

XizmatMaqsadPort
coredastur serveri: dastur mantig'i, REST API, WebSocket, voqea iste'molchilariichki
gatewayqurilma shlyuzi: kamera hodisalarini qabul qilish va skorbordni boshqarish18010/tcp
webveb-interfeys va API-ga yagona kirish nuqtasi8088/tcp
postgresPostgreSQL 17 ma'lumotlar bazasiichki
natsNATS JetStream voqea avtobusiichki
seaweedfsob'ekt ramkasini saqlash, S3 protokoli18333/tcp

Kuzatish profili tekshirish to'plamiga kiritilgan; Grafana tomonidan nashr etilgan 13000/tcp, uning qolgan xizmatlari faqat Compose tarmog'ida mavjud.

Barcha xizmatlar ob'ektning yopiq tarmoq perimetri ichidagi konteynerlarda ishlaydi. Ish paytida tashqi xizmatlarga qo'ng'iroqlar amalga oshirilmaydi.

3. Xizmatlarni boshqarish

Ishchi katalog: /opt/cshark-stand.

# xizmatlar holati
sudo docker compose --env-file /opt/cshark-stand/.env \
  -f /opt/cshark-stand/compose.yml --profile obs ps

# ishga tushirish
sudo docker compose --env-file /opt/cshark-stand/.env \
  -f /opt/cshark-stand/compose.yml --profile obs up -d

# to‘xtatish
sudo docker compose --env-file /opt/cshark-stand/.env \
  -f /opt/cshark-stand/compose.yml --profile obs stop

# alohida xizmatni qayta ishga tushirish
sudo docker compose --env-file /opt/cshark-stand/.env \
  -f /opt/cshark-stand/compose.yml restart core

# xizmat jurnallari
sudo docker compose --env-file /opt/cshark-stand/.env \
  -f /opt/cshark-stand/compose.yml logs -f core

4. Sozlamalar

Parametrlar muhit o'zgaruvchilari tomonidan o'rnatiladi (fayl .env xizmat tavsifi fayli yonida). Sozlamalarni o'zgartirgandan so'ng, xizmatni qayta ishga tushirish kerak.

O'zgaruvchanMaqsadStandart qiymat
CSHARK_DATABASE_URLma'lumotlar bazasi ulanish qatori
CSHARK_NATS_URLvoqea avtobus manzilinats://nats:4222
CSHARK_S3_ENDPOINT_URLob'ektni saqlash manzilihttp://seaweedfs:8333
CSHARK_S3_PUBLIC_ENDPOINT_URLmijozga havolalar yaratish uchun saqlash manzili
CSHARK_S3_ACCESS_KEY, CSHARK_S3_SECRET_KEYsaqlashga kirish kalitlari
CSHARK_S3_BUCKETob'ekt konteynericshark-media
CSHARK_AUTH_ENFORCEmajburiy autentifikatsiyatrue
CSHARK_AUTH_SECRETsessiya tokenini imzolash sirio'rnatish vaqtida o'rnatiladi
CSHARK_CORS_ORIGINSruxsat etilgan veb-interfeys manbalari
CSHARK_WEB_PORTveb-interfeys nashriyot porti8088
CSHARK_OTEL_ENDPOINTtelemetriya kollektor manzilibelgilanmagan

5. Ob'ektni dastlabki sozlash

Birinchi marta tizimga kirganingizda, Boshlang'ich sozlash ustasi mavjud. Ketma-ketlik:

  1. O'rnatilgan administrator hisobi uchun parolni o'zgartiring.
  2. Ob'ektni (to'xtash joyi), darajalarni, zonalarni, to'xtash joylarini yarating.
  3. Darajaning grafik fonini yuklang va diagrammaga ob'ektlarni joylashtiring.
  4. Kameralarni ro'yxatdan o'tkazing va ularni to'xtash joylariga bog'lang.
  5. Axborot taxtasi uchun shablon va qurilmalar yarating.
  6. Erish mumkin bo'lgan zonalar va kirish nuqtalarining grafigini o'rnating.
  7. Operator rollari va hisoblarini yarating.
  8. Hodisalarni qayta ishlash qoidalarini sozlang.

6. Topologiya va sxemani sozlash

Bo'lim "Ma'muriyat" → "Topologiya".

Ierarxiya: tashkilot → to'xtash joyi → daraja → zona → to'xtash joyi.

Faoliyat: Faollik amalga oshiriladi.Buyurtma
Darajani yaratishnomi va seriya raqamini ko'rsating
Hudud yaratingism, daraja ma'lumotnomasi, turini ko'rsating
Avtoturargohni yaratishkodni (ob'ekt ichida yagona), zonani, turini ko'rsating
Darajali astar yuklanmoqdadaraja rejasining grafik faylini yuklab oling
Diagrammada joylashtirishdiagramma muharririda to'xtash joylari, zonalar va qurilmalarning koordinatalari va shaklini o'rnating

Avtoturargoh kodlari foydalanuvchilarga ko'rsatiladi va saytdagi belgilarga mos kelishi kerak.

7. Video tahlil kameralarini sozlash

Bo'lim "Uskunalar".

  1. Voqealarni qurilma shlyuzi manziliga yuborish uchun kamerani sozlang (HTTP orqali sotuvchi protokoli). Manzil va port kamera sozlamalarida ko'rsatilgan.
  2. Tizimga kiradigan kamera aniqlanmagan qurilmalar ro'yxatida paydo bo'ladi.
  3. Kamerani ro'yxatdan o'tkazing: nom, tarmoq manzili, joylashuvni o'rnating.
  4. Kamerani u xizmat ko'rsatadigan to'xtash joylariga ulang.
  5. Voqealar kelishini tekshiring: vaziyat o'zgarganda bog'liq to'xtash joyining holati o'zgarishi kerak.

Ishlash monitoringi davriy mavjudlik signallari asosida avtomatik ravishda amalga oshiriladi. Qurilmaning holati "Uskunalar" bo'limida va sayt diagrammasida ko'rsatiladi. Davlat o'zgarishlari tarixi saqlanadi.

Boshqarishni qo'llab-quvvatlaydigan qurilmalar uchun buyruq kanali orqali buyruq uzatish mavjud.

8. Axborot taxtalarini o'rnatish

Bo'lim "Skorlar jadvali".

8.1. Shablonlar

Shablon ramkaning tartibini tavsiflaydi va mintaqalardan iborat:

Mintaqa turiTarkib
Matnkontekst qiymatini almashtirish bilan ixtiyoriy matn
Bepul o'rindiqlar hisoblagichizona yoki ob'ektdagi bo'sh o'rindiqlar soni
yo'nalish o'qizonaga harakat yo'nalishi
Rasm tasviri.statik tasvir
QR kodihavola tasvirga kodlangan
Daraja xaritasiyuqori aniqlikdagi monitorlar uchun daraja diagrammasi
Zona jadvalizona xulosasi
Ko'rsatkichraqamli ko'rsatkich

Shrift hajmi avtomatik ravishda mintaqaning o'lchamiga moslashtiriladi; Agar mintaqaning imkoniyatlari etarli bo'lmasa, shablonni saqlashda ogohlantirish beriladi.

8.2. Displey qurilmalari

  1. Qurilma yarating, sinfni tanlang: matnli LED paneli (EK07, TCP/RS-485 protokoli) yoki yuqori aniqlikdagi monitordagi veb-kiosk.
  2. Ulanish parametrlarini belgilang.
  3. Bog'lanish shabloni, zonasi va kirish nuqtasi.
  4. Yaratilgan ramkani oldindan ko'rish orqali natijani tekshiring.

Shaklning umumiy manzili veb-kiosk uchun yaratiladi /kiosk/display/<identifikator>?token=<token>; monitor bu sahifani kiosk rejimida ochadi. Token kontentga kirishni cheklaydi.

8.3. Kontent ustuvorliklari

Favqulodda → qo'lda almashtirish → jadval → xodimlar. Favqulodda vaziyat kontenti (yong'in yoki boshpana rejimi) har qanday boshqa kontentni almashtiradi va uni qo'lda almashtirib bo'lmaydi.

8.4. Matnlar manzili

Mavjud bo'lmaslik sabablari umumiy (haydovchiga ko'rsatiladi) va ma'muriy (faqat xodimlar uchun mavjud) bo'linadi. Ma'muriy matnlar umumiy kiosk javobida va WebSocket oqimida jismonan mavjud emas. Displeyning diagnostika holati quyidagi manzilda mavjud /api/displays/{id}/state faqat autentifikatsiya qilingan xodimlar uchun.

10. Obyekt rejimlari va zonalarini sozlash

Zona va ob'ekt holatlari: xodimlar, yong'in, boshpana, texnik xizmat ko'rsatish.

Tartibni o'zgartirish usuliBuyurtma
Qo'lda"Ma'muriyat" bo'limi → "Zonalar" → rejimni tanlash
Avtomatik ravishdaqurilma shlyuzi orqali yong'in avtomatik tizimlarining signaliga ko'ra

Rejimni o'zgartirish bir zumda o'zgaradi: zonada to'xtash joylari mavjudligi, ma'lumot taxtalarining tarkibi (favqulodda vaziyatlar tarkibi eng yuqori ustuvorlikni oladi), hodisalarni qayta ishlash qoidalari va bildirishnomalar tarkibi.

Buning sababini bartaraf etgandan so'ng, administrator qo'lda normal rejimga qaytadi.

11. Hodisalarni qayta ishlash qoidalarini o'rnatish

Bo'lim "Ma'muriyat" → "Qoidalar".

Qoida quyidagi sxema bo'yicha o'rnatiladi:

tetik (voqea turi) × mintaqa (ob'ekt, zona, joylar guruhi, aniq joy) × Shart sharti. (vaqt, holat, boshqa belgilar) → harakatlar

Mavjud harakatlar: operatorni xabardor qilish, hodisa yaratish, holatni o'zgartirish, qurilmaga buyruq yuborish.

Qoida xizmatlarni qayta ishga tushirmasdan kuchga kiradi. Qoidalarni qo'llash tartibi ularning ustuvorligi bilan belgilanadi.

Misollar: "harakati cheklangan odamlar uchun hududdagi belgilarni buzish → tanqidiy darajadagi hodisani yaratish"; "Kirish joyidagi mashinalar joyi ruxsatsiz 10 daqiqadan ko'proq vaqt davomida band bo'lgan → smena boshlig'ini xabardor qiling."

12. Foydalanuvchilar, rollar va huquqlarni boshqarish

Bo'lim "Ma'muriyat" → "Foydalanuvchilar" va "Rollar".

  • Ruxsatlar "resurs: harakat" shaklining yagona maydoniga o'rnatiladi (masalan, displays:manage, users:manage).
  • Rol - bu ruxsatlar to'plami. Foydalanuvchiga rol tayinlangan; Bundan tashqari, individual ruxsatnomalar berilishi mumkin.
  • Huquqlar tufayli foydalanuvchiga kirish imkoni bo'lmagan interfeys bo'limlari navigatsiyada ko'rsatilmaydi.
  • Foydalanuvchi harakatlari harakatlar jurnalida qayd etiladi.

Parol talablari: kamida 6 ta belgi. Parollar xesh shaklida saqlanadi (bcrypt algoritmi); ular aniq matnda saqlanmaydi yoki uzatilmaydi.

Seanslar imzolangan tokenlar orqali amalga oshiriladi; imzo siri parametr bilan belgilanadi CSHARK_AUTH_SECRET. Sirni o'zgartirish barcha faol seanslarni tugatadi.

13. Tashqi tizimlar bilan integratsiyani o'rnatish

Bo'lim "Ma'muriyat" → "Integratsiya".

ImkoniyatTavsif
REST APIob'ektlar ma'lumotnomalari, to'xtash joylari mavjudligi, tashqi kirishni boshqarish tizimining sessiyalari haqida ma'lumot olish; OpenAPI spetsifikatsiyasi quyidagi manzilda mavjud /openapi.json
Kirish kalitlariko'rinish doiralari va so'rov tezligi chegaralari bilan yaratilgan
Chiqish vebhuklarihodisalarga tashqi tizimga obuna bo'lish; so'rovlar imzolanadi, agar xato bo'lsa, etkazib berish takrorlanadi

Hamkorning avtomatlashtirilgan to'xtash tizimi (kirish guruhi) bilan o'zaro hamkorlik ushbu mexanizmlar orqali amalga oshiriladi.

14. Ma'lumotlarni saqlash va saqlash siyosati

Ma'lumotlarSaqlash joyiSaqlash muddati: 1 yil.
Kataloglar, topologiya, foydalanuvchilarma’lumotlar bazasi ma’lumotlar bazasini yaratish.cheksiz muddatga
Tashriflar, avtoturargoh voqealari, bandlik suratlariob'ekt va vaqt indekslari bilan muntazam PostgreSQL jadvallaritasdiqlangan operatsion siyosat bilan belgilanadi
Voqea lavhalariob'ektni saqlashmoslashtirilgan, hodisani saqlash muddatiga mos keladi
Foydalanuvchi faoliyati jurnalima’lumotlar bazasi ma’lumotlar bazasini yaratish.moslash mumkin

Saqlash muddati tizim sozlamalari bo'limidagi siyosatlar bilan belgilanadi. Kadrlar faqat cheklangan vaqtli havolalar orqali mavjud; saqlash joylariga to'g'ridan-to'g'ri jamoat kirishi yopiq.

15. Zaxiralash va tiklash

15.1. Zaxira

tools/backup/backup.sh /path/to/backups

Ma'lumotlar bazasi dumpi va media manifest yaratiladi. Saqlash ob'ektlari sinxronizatsiya vositalari yordamida alohida nusxalanadi - buyruq skript tomonidan chiqariladi. Tavsiya etilgan chastota: ma'lumotlar bazasi - har kuni (xostdagi jadvalga muvofiq), media materiallari - haftalik. Nusxalarni saqlash chuqurligi tizimdagi ma'lumotlarni saqlash muddatidan kam emas.

15.2. Nusxani tekshirish

Ishlayotgan ma'lumotlar bazasiga xavf tug'dirmasdan vaqtinchalik ma'lumotlar bazasiga tiklash:

tools/backup/restore.sh backups/cshark-XXXX.dump cshark_restore_check

Skript yarashtirish uchun nazorat hisoblagichlarini (avtomobil bo'shliqlari, tashriflar, hodisalar, foydalanuvchilar) ko'rsatadi.

15.3. Qayta tiklash

Qayta tiklashdan oldin to'xtating core va gateway Fayl yaratish orqali /opt/cshark-stand/compose.yml, yetkazib berishdan standart tiklash skriptini bajaring va keyin bir xil xizmatlarni ishga tushiring. Zaxira nusxasiga buyruqlar va yo'l ish jurnalida qayd etiladi; qayta tiklash birinchi navbatda alohida stendda sinovdan o'tkaziladi.

Media materiallari manifest bilan tekshirish bilan ob'ekt konteyneriga sinxronlash orqali tiklanadi.

16. Monitoring va diagnostika

TekshirishBuyruq yoki manzil
Ilova salomatligicurl -fsS http://127.0.0.1:8088/api/health
Xizmat holatisudo docker compose --env-file /opt/cshark-stand/.env -f /opt/cshark-stand/compose.yml --profile obs ps
Jurnallarsudo docker compose --env-file /opt/cshark-stand/.env -f /opt/cshark-stand/compose.yml logs -f core

Dastur OpenTelemetry standartiga muvofiq ko'rsatkichlar, jurnallar va izlarni yaratadi. Kuzatish profili yoqilganda, Grafana panellari mavjud.

Asosiy ko'rsatkichlar:

Ko'rsatkichBu nimani anglatadi
nashr etilgan tadbirlar soniuskunadan ma'lumotlarni olish
qayta ishlangan voqealar sonidastur serveri iste'molchilarining ishlashi
qayta ishlanmagan xabarlar hajmio'sish server davom eta olmasligi yoki iste'molchi to'xtatilganligini anglatadi
ulangan WebSocket mijozlari sonifaol operator ish joylari

Shaxsiy va maxfiy ma'lumotlar avtomatik ravishda jurnallardan chiqarib tashlanadi.

17. Dasturiy ta'minotni yangilash

Yangilanish mijoz administratori tomonidan boshlanadi. Ob'ektning perimetri tashqarisidan majburiy yangilash va masofadan boshqarish mexanizmlari mavjud emas.

Joriy versiya avtomatik masofadan yangilashni o'z ichiga olmaydi. Istiqbolli boshqariladigan mexanizmni amalga oshirishdan oldin, yangilanish alohida tartibga soluvchi etkazib berish sifatida amalga oshiriladi: imzolangan oflayn to'plamni qabul qiling, SHA-256 va xorijiy kalit imzosini tekshiring, zaxira nusxasini yarating va tekshiring, relizga oid ko'rsatmalarni va to'liq tutun sinovini bajaring. Amaliyot ma'mur tomonidan kelishilgan parvarishlash oynasida amalga oshiriladi.

Migratsiya kengayish-siqish tamoyiliga amal qiladi: buzilish sxemasi o'zgarishlari ularsiz ishlaydigan kod chiqarilgandan so'ng nashrda chiqariladi. Shuning uchun, kodning oldingi versiyasiga qaytish xavfsiz va sxemani orqaga qaytarishni talab qilmaydi.

Qaytish faqat ma'lumotlar sxemasining muvofiqligini baholagandan so'ng, avvalgi versiyaning oldindan saqlangan va sinovdan o'tgan to'plamida ruxsat etiladi. O'rnatilgan nusxada konteyner tegini o'zboshimchalik bilan o'zgartirish standart yangilanish emas.

18. Odatdagi nosozliklar va ularni hal qilish usullari

ImzoMumkin sababHarakatlar
Avtoturargohlarning holati yangilanmaganhodisani yetkazib berish buzilgankamera mavjudligini tekshirish; qurilma shlyuzi jurnallarini tekshirish; ishlov berilmagan xabarlar tezligini tekshiring - agar u oshsa, dastur serverini qayta ishga tushiring
Voqealar ramkalarsiz keladiobyekt xotirasi mavjud emassaqlash xizmatini tekshirish; hodisalar yo'qolmaydi, ramkalar faqat mavjud bo'lmagan davrda yo'qoladi
Tablo yangilanmayaptidispley qurilmasi mavjud emas"Uskunalar" bo'limida ulanishni tekshiring; ramkani oldindan ko'rish - agar ramka hosil bo'lsa, muammo qurilma bilan aloqa kanalida
Veb-interfeys mavjud emasXizmat ishlamayapti yoki port bandkonteynerlarning holatini tekshirish; port ziddiyati mavjud bo'lsa, o'rnating CSHARK_WEB_PORT va qayta ishga tushiring
Veb-interfeys davriy ravishda qayta ishga tushadiyo'qolgan konteyner tarmog'ikalit bilan xizmatni qayta yarating --force-recreate
Barcha foydalanuvchilar tizimga kirmagantoken imzolash sirini o'zgartirditekshirish CSHARK_AUTH_SECRET; sirni o'zgartirgandan so'ng, qayta kirish talab qilinadi
Xotiraga freymlarni yuklashda xatolik vaqtga mos kelmasligini bildiradixost va konteyner soatining farqiNTP orqali xost vaqtini sinxronlash
Ma'lumotlar bazasi hajmi o'sib bormoqdasaqlash siyosatlari sozlanmagantizim sozlamalarida hodisalar va kadrlar uchun saqlash muddatini o'rnating

19. Fayllar va komponentlarning joylashuvi

KomponentJoylashuv
Xizmat tavsifi fayli/opt/cshark-stand/compose.yml
Atrof-muhit sozlamalari/opt/cshark-stand/.env
Asosiy tafsilotlar/opt/cshark-stand/INITIAL-CREDENTIALS.txt
O'rnatish jurnali/opt/cshark-stand/install.log
Ma'lumotlar bazasi ma'lumotlariDocker hajmi pg_data
Ob'ektni saqlash ma'lumotlariDocker hajmi seaweed_data
Voqealar avtobusi ma'lumotlariDocker hajmi nats_data
Ilova serverining manba kodi (rasm ichida)/app/apps/core/app/
Qurilma shlyuzining manba matni (rasm ichida)/app/apps/gateway/gateway/
Ma'lumotlar bazasi sxemalarini ko'chirish/app/apps/core/alembic/versions/
Statik veb-interfeys fayllari/usr/share/nginx/html/ veb-interfeys konteynerida
Dastur interfeysi spetsifikatsiyasihttp://<manzil>:8088/openapi.json
Interaktiv API hujjatlarihttp://<manzil>:8088/docs

Konteyner ichiga kirish:

sudo docker compose --env-file /opt/cshark-stand/.env \
  -f /opt/cshark-stand/compose.yml exec core sh
docker run --rm cshark-core:<versiya> cat /etc/os-release    # obrazning asosiy operatsion tizimi

20. Texnik yordam

KanalMa'nosi
Tashkilot tashkilotiMChJ "KOMPETENTSIA"
Telefon: 900-180-00+7 495 532-61-18
Ishlash rejimiDushanba-Juma, Moskva vaqti bilan 09:00-18:00
Qo'llab-quvvatlash manzili115280, Moskva, st. Leninskaya Sloboda, 21, 1-bino

Hujjatda so'rovlarni ko'rib chiqish tartibi, ustuvorliklar va javob berish muddatlari keltirilgan "Dasturiy ta'minotning hayot aylanishini ta'minlaydigan jarayonlar tavsifi".