CShark Көрсөтүү
Меню

CShark документациясы

Администратордун колдонмосу

Кардардын сайтында CShark программасын конфигурациялоо жана тейлөө: жана топологияны башкаруудан резервдик көчүрүү, диагностика жана жаңыртуу.

Версия 2.0.3

1. Документтин максаты жана администратордун ролдору

Документ CShark программасын кардардын сайтында конфигурациялаган жана тейлеген адистер үчүн арналган.

Система менен күнүмдүк иштөө өзүнчө документте баяндалат "Колдонуучунун колдонмосу", жайылтуу - документте "Программанын көчүрмөсүн орнотуу боюнча нускамалар".

РольЖоопкерчилик чөйрөсү
Системалык администраторобъект топологиясы, аппараттар, камералар, дисплейлер, интеграциялар, системанын параметрлери, жаңыртуу
Паркинг администраторуокуяларды иштетүү эрежелери, зона режимдери, операторлор жана алардын укуктары
Кардар системасынын инженериинфраструктура, резервдик көчүрүү, мониторинг, тармак

Укуктар үлгү катары белгиленет (12-бөлүм); жогорудагы ролдорго бөлүштүрүү уюштуруучулук болуп саналат.

2. Программанын курамы жана компоненттерин жайгаштыруу

КызматМаксатПорт
coreколдонмо сервери: колдонмо логикасы, REST API, WebSocket, окуя керектөөчүлөрички
gatewayтүзмөк шлюзи: камера окуяларды кабыл алуу жана табло башкаруу18010/tcp
webвеб-интерфейс жана API'ге кирүүнүн бирдиктүү чекити8088/tcp
postgresPostgreSQL 17 маалымат базасыички
natsNATS JetStream окуя автобусуички
seaweedfsобъект кадр сактоо, S3 протоколу18333/tcp

Байкоо мүмкүнчүлүгү профили текшерүү комплектине киргизилген; Grafana тарабынан жарыяланган 13000/tcp, анын калган кызматтары Жазуу тармагында гана жеткиликтүү.

Бардык кызматтар объекттин жабык тармак периметри боюнча контейнерлерде иштейт. Иш учурунда тышкы кызматтарга чалуулар аткарылбайт.

3. Кызматты башкаруу

Иш каталогу: /opt/cshark-stand.

# кызматтардын абалы
sudo docker compose --env-file /opt/cshark-stand/.env \
  -f /opt/cshark-stand/compose.yml --profile obs ps

# ишке киргизүү
sudo docker compose --env-file /opt/cshark-stand/.env \
  -f /opt/cshark-stand/compose.yml --profile obs up -d

# токтотуу
sudo docker compose --env-file /opt/cshark-stand/.env \
  -f /opt/cshark-stand/compose.yml --profile obs stop

# өзүнчө кызматты кайра иштетүү
sudo docker compose --env-file /opt/cshark-stand/.env \
  -f /opt/cshark-stand/compose.yml restart core

# кызмат журналдары
sudo docker compose --env-file /opt/cshark-stand/.env \
  -f /opt/cshark-stand/compose.yml logs -f core

4. Орнотуулар

Параметрлер чөйрө өзгөрмөлөрү (file .env кызматтын сүрөттөмө файлынын жанында). Орнотууларды өзгөрткөндөн кийин, кызмат кайра иштетилиши керек.

VariableМаксатДемейки маани
CSHARK_DATABASE_URLмаалымат базасы байланыш сабы
CSHARK_NATS_URLокуя автобус дарегиnats://nats:4222
CSHARK_S3_ENDPOINT_URLобъект сактоо дарегиhttp://seaweedfs:8333
CSHARK_S3_PUBLIC_ENDPOINT_URLкардарга шилтемелерди түзүү үчүн сактоо дареги
CSHARK_S3_ACCESS_KEY, CSHARK_S3_SECRET_KEYсактагычка кирүү ачкычтары
CSHARK_S3_BUCKETобъект контейнерcshark-media
CSHARK_AUTH_ENFORCEмилдеттүү аутентификацияtrue
CSHARK_AUTH_SECRETсеанс белгисине кол коюу сырыорнотуу учурунда орнотулган
CSHARK_CORS_ORIGINSуруксат берилген веб-интерфейс булактары
CSHARK_WEB_PORTвеб интерфейсин жарыялоо порту8088
CSHARK_OTEL_ENDPOINTтелеметриялык коллектордун дарегикөрсөтүлгөн эмес

5. Объекттин баштапкы орнотуу

Сиз биринчи жолу киргенде, Баштапкы орнотуу устасы жеткиликтүү болот. Ырааттуулук:

  1. Камтылган администратор эсебинин сырсөзүн өзгөртүңүз.
  2. Объектти (паркинг), деңгээлдерди, зоналарды, унаа токтотуучу жайларды түзүү.
  3. Деңгээлдин графикалык фонун жүктөңүз жана объекттерди диаграммага жайгаштырыңыз.
  4. Камераларды каттап, аларды унаа токтотуучу жайларга байланыштырыңыз.
  5. Маалымат такталары үчүн калыптарды жана түзүлүштөрдү түзүү.
  6. Жетүү аймактарынын жана кирүү чекиттеринин графигин түзүңүз.
  7. Оператор ролдорун жана эсептерди түзүңүз.
  8. Окуяны иштетүү эрежелерин конфигурациялаңыз.

6. Топологияны жана схеманы орнотуу

Бөлүм "Администрация" → "Топология".

Иерархия: уюм → паркинг → деңгээл → аймак → унаа токтотуучу жай.

Экспрессивдүүлүктүн негизги формасы - бул эмоционалдык реакция.Заказ
Деңгээл түзүүатын жана сериялык номерин көрсөтүңүз
Аймак түзүүатын, деңгээл шилтемесин, түрүн көрсөтүңүз
Унаа токтотуучу жайды түзүүкодду (объекттин ичинде уникалдуу), зонаны, түрүн көрсөтүү
Деңгээл астындагы катмар жүктөлүүдөдеңгээл планынын графикалык файлын жүктөп алыңыз
Диаграмма боюнча жайгаштыруудиаграмма редакторунда унаа токтотуучу жайлардын, зоналардын жана түзүлүштөрдүн координаттарын жана формасын коюу

Унаа токтотуучу жайдын коддору колдонуучуларга көрсөтүлөт жана сайттагы белгилер менен дал келиши керек.

7. Видео аналитика камераларын орнотуу

Бөлүм "жабдуулар".

  1. Окуяларды түзмөктүн шлюз дарегине жөнөтүү үчүн камераны конфигурациялаңыз (HTTP аркылуу сатуучунун протоколу). Дарек жана порт камера жөндөөлөрүндө көрсөтүлгөн.
  2. Системага кирген камера аныкталбаган түзмөктөрдүн тизмесинде пайда болот.
  3. Камераны каттаңыз: атын, тармактын дарегин, жайгашкан жерин коюңуз.
  4. Камераны ал тейлеген унаа токтотуучу жайларга байланыштырыңыз.
  5. Окуялардын келишин текшериңиз: кырдаал өзгөргөндө, тиешелүү унаа токтотуучу жайдын абалы өзгөрүшү керек.

Аткаруу мониторинги мезгилдүү катышуусунун сигналдарынын негизинде автоматтык түрдө аткарылат. Түзмөктүн абалы "Жабдуулар" бөлүмүндө жана сайттын диаграммасында көрсөтүлөт. Мамлекеттик өзгөрүүлөрдүн тарыхы сакталат.

Башкарууну колдогон түзмөктөр үчүн буйрук каналы аркылуу буйрук берүү жеткиликтүү.

8. Маалымат такталарын орнотуу

Бөлүм "Упайлар тактасы".

8.1. Шаблондор

Шаблон кадрдын макетін сүрөттөйт жана аймактардан турат:

Аймактын түрүМазмуну
Текстконтексттик маанини алмаштыруу менен каалаган текст
Бош орундардын эсептегичизонадагы же объекттеги бош орундардын саны
багыт жебезонага карай кыймылдын багыты
Сүрөт: pixabay.comстатикалык сүрөт
QR кодушилтеме сүрөткө коддолгон
Деңгээл картасыжогорку чечим мониторлор үчүн деңгээл диаграмма
Аймактык таблицазонанын корутундусу
Индикаторсандык көрсөткүч

Ариптин өлчөмү автоматтык түрдө аймактын өлчөмүнө ылайыкташтырылган; Эгерде аймактын кубаттуулугу жетишсиз болсо, шаблонду сактоодо эскертүү берилет.

8.2. Дисплей түзмөктөрү

  1. Түзмөк түзүңүз, классты тандаңыз: тексттин LED панели (EK07, TCP/RS-485 протоколу) же жогорку чечилиштеги монитордогу веб-киоск.
  2. Туташуу параметрлерин көрсөтүңүз.
  3. Шилтеме шаблону, зонасы жана кирүү чекити.
  4. Түзүлгөн кадрды алдын ала көрүү менен натыйжаны текшериңиз.

Веб киоск үчүн форманын жалпы дареги түзүлөт /kiosk/display/<идентификатор>?token=<токен>; монитор бул баракты киоск режиминде ачат. Токен мазмунга кирүүнү чектейт.

8.3. Мазмун артыкчылыктары

Өзгөчө кырдаал → кол менен алмаштыруу → график → кадрлар. Өзгөчө кырдаал мазмуну (өрт же баш калкалоо режими) башка мазмунду алмаштырат жана аны кол менен алмаштырууга болбойт.

8.4. Тексттердин дареги

Жеткиликсиздиктин себептери коомдук (айдоочуга көрсөтүлөт) жана административдик (кызматкерлерге гана жеткиликтүү) болуп бөлүнөт. Административдик тексттер коомдук киосктун жообунда жана WebSocket агымында физикалык түрдө жок. Дисплейдин диагностикалык абалы төмөнкү жерден жеткиликтүү /api/displays/{id}/state ырасталган кызматкерлер үчүн гана.

10. Объекттин режимдерин жана зоналарын орнотуу

Зона жана объект мамлекеттери: кызматкерлер, өрт, баш калкалоочу жай, тейлөө.

Режимди өзгөртүү ыкмасыЗаказ
Кол мененбөлүм "Администрация" → "Зондор" → режимди тандоо
Автоматтык түрдөприбор шлюз аркылуу өрт автоматтык системалардын сигналына ылайык

Режимди өзгөртүү ошол замат өзгөрөт: зонада унаа токтотуучу жайлардын болушу, маалымат такталарынын мазмуну (шашылыш кырдаалдын мазмуну эң жогорку артыкчылыкты алат), окуяларды иштетүү эрежелери жана билдирүүлөрдүн курамы.

Администратор себепти жок кылгандан кийин кол менен кадимки режимге кайтып келет.

11. Окуяларды иштетүү эрежелерин орнотуу

Бөлүм "Администрация" → "Эрежелер".

Эреже төмөнкү схема боюнча белгиленет:

триггер (окуя түрү) × аймак (объект, зона, жерлердин тобу, белгилүү бир жер) × условие шарты условие шарттары (убакыт, абал, башка белгилер) → аракеттер

Жеткиликтүү аракеттер: операторго кабарлоо, инцидент түзүү, статусту өзгөртүү, аппаратка буйрук жөнөтүү.

Эреже кызматтарды кайра баштабастан күчүнө кирет. Эрежелердин колдонулуш тартиби алардын артыкчылыктары менен аныкталат.

Мисалдар: “кыймылдуулугу чектелген адамдар үчүн аймактагы белгилерди бузуу → оор деңгээлдеги инцидентти түзүү”; "Кире бериштеги унаа токтотуучу жай 10 мүнөттөн ашык убакыттан бери уруксатсыз ээлеп турат → нөөмөт жетекчисине кабарлаңыз."

12. Колдонуучуларды, ролдорду жана укуктарды башкаруу

Бөлүм "Администрация" → "Колдонуучулар" жана "Ролдор".

  • Уруксаттар "ресурс: аракет" формасынын бир мейкиндигине коюлат (мисалы, displays:manage, users:manage).
  • Рол - бул уруксаттардын аталган жыйындысы. Колдонуучуга роль ыйгарылган; Мындан тышкары, жеке уруксаттар берилиши мүмкүн.
  • Укуктарга байланыштуу колдонуучуга жеткиликтүү болбогон интерфейстин бөлүмдөрү навигацияда көрсөтүлбөйт.
  • Колдонуучунун аракеттери аракеттер журналына жазылат.

Сырсөз талаптары: кеминде 6 белги. Сырсөздөр хэштер түрүндө сакталат (bcrypt алгоритми); алар так текстте сакталбайт же берилбейт.

Сессиялар кол коюлган токендер менен ишке ашырылат; кол коюу сыры параметр менен аныкталат CSHARK_AUTH_SECRET. Сырды өзгөртүү бардык активдүү сессияларды аяктайт.

13. Тышкы системалар менен интеграцияны орнотуу

Бөлүм "Администрация" → "Интеграциялар".

МүмкүнчүлүкDescription
REST APIобъекттердин маалымдамалары, унаа токтотуучу жайлардын болушу, тышкы кирүүнү башкаруу системасынын сессиялары жөнүндө маалымат алуу; OpenAPI спецификациясын бул жерден таба аласыз /openapi.json
Кирүү баскычтарыкөрүнүү чөйрөлөрү жана суроо-талаптын ылдамдыгы чектери менен түзүлөт
Чыгуучу вебхуктарокуяларга тышкы системага жазылуу; суроо-талаптарга кол коюлат, ката болсо жеткирүү кайталанат

Өнөктөштүн автоматташтырылган паркинг системасы (кирүү тобу) менен өз ара аракеттенүү ушул механизмдер аркылуу ишке ашырылат.

14. Маалыматтарды сактоо жана сактоо саясаты

МаалыматтарСактоочу жайСактоо мөөнөтү: 12 ай
Каталогдор, топология, колдонуучуларбазасы маалыматтары базасы.чексиз
Зыяраттар, унаа токтотуучу жайлардын иш-чаралары, адамдарды ээлөө сүрөттөрүобъект жана убакыт индекстери менен үзгүлтүксүз PostgreSQL таблицаларыбекитилген оперативдик саясат менен аныкталат
Окуянын кадрларыобъект сактооөзгөчөлөштүрүлүүчү, окуяны сактоо мөөнөтү менен шайкеш келет
Колдонуучунун аракет журналыбазасы маалыматтары базасы.ыңгайлаштырылган

Сактоо мөөнөтү системанын жөндөөлөрү бөлүмүндөгү саясаттар менен белгиленет. Кадрлар чектелген убакыттагы шилтемелер аркылуу гана жеткиликтүү; сактоочу жайларга калктын түздөн-түз кирүүсү жабык.

15. Камдык көчүрмөнү сактоо жана калыбына келтирүү

15.1. Камдык көчүрмө

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

Маалымат базасынын таштандысы жана медиа манифест түзүлөт. Сактоо объекттери синхрондоштуруу куралдарынын жардамы менен өзүнчө көчүрүлөт - буйрук скрипт тарабынан берилет. Сунушталган жыштык: маалымат базасы - күн сайын (хостдогу графикке ылайык), ЖМК материалдары - жума сайын. Көчүрмөлөрдү сактоо тереңдиги системада маалыматтарды сактоо мөөнөтүнөн кем эмес.

15.2. Көчүрмө текшерүү

Убактылуу маалымат базасын иштөө үчүн коркунучсуз калыбына келтирүү:

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

Скрипт элдештирүү үчүн башкаруу эсептегичтерин (унаа мейкиндиктери, сапарлар, инциденттер, колдонуучулар) көрсөтөт.

15.3. Калыбына келтирүү

калыбына келтирүү алдында токтот core жана gateway Файлды түзүү аркылуу /opt/cshark-stand/compose.yml, жеткирүүдөн стандарттык калыбына келтирүү скриптин аткарып, анан ошол эле кызматтарды баштаңыз. Командалар жана резервдик көчүрмөгө жол иш журналында жазылат; калыбына келтирүү биринчи өзүнчө стендде текшерилет.

Медиа материалдар манифестке каршы текшерүү менен объект контейнерине синхрондоштуруу жолу менен калыбына келтирилет.

16. Мониторинг жана диагностика

ТекшерүүБуйрук же дарек
Колдонмонун ден соолугуcurl -fsS http://127.0.0.1:8088/api/health
Кызмат абалыsudo docker compose --env-file /opt/cshark-stand/.env -f /opt/cshark-stand/compose.yml --profile obs ps
Журналдарsudo docker compose --env-file /opt/cshark-stand/.env -f /opt/cshark-stand/compose.yml logs -f core

Программа OpenTelemetry стандартына ылайык метрикаларды, журналдарды жана издерди жаратат. Байкоо профили иштетилгенде, Grafana панелдери жеткиликтүү болот.

Негизги көрсөткүчтөр:

ИндикаторБул эмнени билдирет
жарыяланган окуялардын саныжабдуулардан маалыматтарды алуу
иштетилген окуялардын санытиркеме серверинин керектөөчүлөрүнүн иштеши
иштетилбеген билдирүүлөрдүн көлөмүөсүү сервердин туруштук бере албайт же керектөөчү токтоп калганын билдирет
туташкан WebSocket кардарларынын саныактивдүү оператор жумуш орундары

Жеке жана купуя маалыматтар автоматтык түрдө журналдардан чыгарылат.

17. Программаны жаңылоо

Жаңыртуу кардардын администратору тарабынан ишке ашырылат. Объекттин периметринен тышкары жерлерден мажбурлап жаңылоо жана аралыктан башкаруу механизмдери жок.

Учурдагы чыгарылыш автоматтык түрдө алыстан жаңыртууну камтыбайт. Перспективдүү башкарылуучу механизмди ишке ашыруунун алдында жаңыртуу өзүнчө регулятивдик жеткирүү катары жүзөгө ашырылат: кол коюлган оффлайн комплектин кабыл алуу, SHA-256 жана чет элдик ачкыч кол тамгасын текшерүү, резервдик көчүрмөнү түзүү жана текшерүү, чыгарууга тиешелүү инструкцияларды жана толук түтүн-тестти аткаруу. Операция администратор тарабынан макулдашылган техникалык тейлөө терезесинде жүзөгө ашырылат.

Миграциялар кеңейүү-кысуу принцибине ылайык ишке ашырылат: схеманын бузулушу өзгөртүүлөр аларсыз иштеген код чыгарылгандан кийинки релизде чыгарылат. Ошондуктан, коддун мурунку версиясына кайтуу коопсуз жана схеманы артка кайтарууну талап кылбайт.

Кайтарууга маалымат схемасынын шайкештигин баалагандан кийин мурунку версиянын мурда сакталган жана сыналган топтомуна гана уруксат берилет. Орнотулган инстанцияда контейнердин тэгин өзүм билемдик менен өзгөртүү стандарттык жаңыртуу эмес.

18. Типтүү каталар жана аларды чечүү жолдору

Кол коюуБолжолдуу себепАракеттер
Унаа токтотуучу жайлардын статустары жаңыланган эмесокуяны жеткирүү бузулганкамеранын болушун текшерүү; түзмөк шлюз журналдарын текшерүү; иштетилбеген билдирүүлөрдүн ылдамдыгын текшериңиз - эгер ал көбөйсө, колдонмо серверин өчүрүп күйгүзүңүз
Окуялар кадрсыз келетобъект сактагыч жеткиликсизсактоо кызматын текшерүү; окуялар жоголбойт, рамкалар жеткиликсиздик мезгилинде гана жок болот
Таблица жаңыланбай жататдисплей түзмөгү жеткиликтүү эмес"Жабдуулар" бөлүмүндө байланышты текшерүү; кадрды алдын ала көрүү - кадр түзүлсө, көйгөй түзмөк менен байланыш каналында
Веб интерфейси жеткиликтүү эмесКызмат иштебей жатат же порт бош эмесконтейнерлердин абалын текшерүү; порт чыр-чатак бар болсо, коюу CSHARK_WEB_PORT жана кайра баштаңыз
Веб интерфейс циклдик түрдө кайра башталатжоголгон контейнер тармагыачкыч менен кызматты кайра түзүңүз --force-recreate
Бардык колдонуучулар кирген эмесТокенге кол коюу сырын өзгөрттүтекшерүү CSHARK_AUTH_SECRET; сырды өзгөрткөндөн кийин, кайра кирүү талап кылынат
Сактагычка рамкаларды жүктөөдөгү ката убакыттын дал келбестигин көрсөтүп туратхост менен контейнер саатынын дивергенциясыNTP аркылуу хост убактысын синхрондоштуруу
Маалымат базасынын көлөмү өсүп жататсактоо саясаттары конфигурацияланган эместутум орнотууларында окуялар жана жээкчелер үчүн сактоо мөөнөтүн коюу

19. Файлдардын жана компоненттердин жайгашуусу

КомпонентЖайгашкан жер
Кызматтын сүрөттөлүшү файлы/opt/cshark-stand/compose.yml
Environment Settings/opt/cshark-stand/.env
Негизги деталдар/opt/cshark-stand/INITIAL-CREDENTIALS.txt
Орнотуу журналы/opt/cshark-stand/install.log
Маалыматтар базасыДокер көлөмү pg_data
Объектти сактоо маалыматтарыДокер көлөмү seaweed_data
Окуя автобус маалыматтарыДокер көлөмү nats_data
Колдонмо серверинин баштапкы коду (сүрөттүн ичинде)/app/apps/core/app/
Түзмөк шлюзинин баштапкы тексти (сүрөттүн ичинде)/app/apps/gateway/gateway/
Берилиштер базасынын схемасын көчүрүү/app/apps/core/alembic/versions/
Статикалык веб интерфейс файлдары/usr/share/nginx/html/ веб-интерфейс контейнеринде
Программалык камсыздоонун интерфейсинин спецификациясыhttp://<дарек>:8088/openapi.json
Interactive API документтериhttp://<дарек>:8088/docs

Контейнердин ичине кирүү:

sudo docker compose --env-file /opt/cshark-stand/.env \
  -f /opt/cshark-stand/compose.yml exec core sh
docker run --rm cshark-core:<версия> cat /etc/os-release    # образдын негизги операциялык системасы

20. Техникалык колдоо

КаналМааниси
Организациянын аты-жөнү:ООО "КОМПЕТЕНЦИЯ"
Телефон номери: 0700-0001+7 495 532-61-18
Иштөө режимиДүйшөмбү-Жума, Москва убактысы боюнча 09:00-18:00
Колдоо дареги115280, Москва, ул. Ленинская слобода, 21, 1 корпус

Документте суроо-талаптарды кароонун тартиби, артыкчылыктары жана жооп берүү мөөнөттөрү келтирилген "Программалык камсыздоонун жашоо циклин камсыз кылуучу процесстердин сүрөттөлүшү".