From OpenSCADAWiki
Jump to: navigation, search
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 6: Line 6:
 
<section begin=info />
 
<section begin=info />
 
| [[Special:MyLanguage/Modules/System|System]] || Збір даних ОС
 
| [[Special:MyLanguage/Modules/System|System]] || Збір даних ОС
| 3.3 || GPL2 || daq_System.so || en,uk,ru,de || x86,x86_64,ARM
+
| 3.4 || GPL2 || daq_System.so || en,uk,ru,de || x86,x86_64,ARM
 
<section end=info />
 
<section end=info />
 
| DAQ || Роман Савоченко || Надає збір даних із Операційної Системи. Підтримуються джерела даних ОС Linux: ЦП, Пам'ять, Сенсори, SMART Диску, Статистика Диску, Файлова Система, Мережа, Живлення, ДБЖ, Час Дії та інше.
 
| DAQ || Роман Савоченко || Надає збір даних із Операційної Системи. Підтримуються джерела даних ОС Linux: ЦП, Пам'ять, Сенсори, SMART Диску, Статистика Диску, Файлова Система, Мережа, Живлення, ДБЖ, Час Дії та інше.
Line 78: Line 78:
  
 
|-
 
|-
| Процес (proc) || Перелік команд процесів із можливістю визначення регулярного виразу до повного командного рядка у вигляді "'''/{RE}/'''". ||
+
| Process (proc) || List of commands of the processes with the possibility to specify the regular expression to the whole command-line in view "'''/{RE}/'''". ||
* "Поточна кількість слотів файлових дескрипторів" ('''FDSize'''[integer])
+
* "User loading (%)" ('''UserLoad'''[real])
* "Піковий розмір віртуальної пам'яті (КіБ)" ('''VmPeak'''[integer])
+
* "System loading (%)" ('''SystemLoad'''[real])
* "Розмір віртуальної пам'яті (КіБ)" ('''VmSize'''[integer])
+
* "Number of file descriptor slots currently" ('''FDSize'''[integer])
* "Розмір заблокованої пам'яті (КіБ)" ('''VmLck'''[integer])
+
* "Peak virtual memory size (KiB)" ('''VmPeak'''[integer])
* "Розмір закріпленої пам'яті (КіБ)" ('''VmPin'''[integer])
+
* "Virtual memory size (KiB)" ('''VmSize'''[integer])
* "Піковий розмір резидентного набору (КіБ)" ('''VmHWM'''[integer])
+
* "Locked memory size (KiB)" ('''VmLck'''[integer])
* "Розмір резидентного набору (КіБ)" ('''VmRSS'''[integer])
+
* "Pinned memory size (KiB)" ('''VmPin'''[integer])
* "Розмір резидентної анонімної пам'яті (КіБ)" ('''RssAnon'''[integer])
+
* "Peak resident set size (KiB)" ('''VmHWM'''[integer])
* "Розмір резидентних файлових мапувань (КіБ)" ('''RssFile'''[integer])
+
* "Resident set size (KiB)" ('''VmRSS'''[integer])
* "Розмір резидентної спільної пам'яті (КіБ)" ('''RssShmem'''[integer])
+
* "Size of resident anonymous memory (KiB)" ('''RssAnon'''[integer])
* "Розмір сегменту даних (КіБ)" ('''VmData'''[integer])
+
* "Size of resident file mappings (KiB)" ('''RssFile'''[integer])
* "Розмір сегменту стеку (КіБ)" ('''VmStk'''[integer])
+
* "Size of resident shared memory (KiB)" ('''RssShmem'''[integer])
* "Розмір сегменту тексту (КіБ)" ('''VmExe'''[integer])
+
* "Size of data segment (KiB)" ('''VmData'''[integer])
* "Розмір коду спільних бібліотек (КіБ)" ('''VmLib'''[integer])
+
* "Size of stack segment (KiB)" ('''VmStk'''[integer])
* "Розмір таблиці записів (КіБ)" ('''VmPTE'''[integer])
+
* "Size of text segment (KiB)" ('''VmExe'''[integer])
* "Розмір віртуальної пам'яті, вилучений анонімними приватними сторінками (КіБ)" ('''VmSwap'''[integer])
+
* "Shared library code size (KiB)" ('''VmLib'''[integer])
* "Розмір порцій пам'яті hugetlb (КіБ)" ('''HugetlbPages'''[integer])
+
* "Page table entries size (KiB)" ('''VmPTE'''[integer])
* "Кількість потоків у процесі" ('''Threads'''[integer])
+
* "Swapped-out virtual memory size by anonymous private pages (KiB)" ('''VmSwap'''[integer])
| У якості джерела використано "/proc/{PID}/status".
+
* "Size of hugetlb memory portions (KiB)" ('''HugetlbPages'''[integer])
 +
* "Number of threads in process" ('''Threads'''[integer])
 +
| As the source there is used "/proc/{PID}/status" and "/proc/{PID}/stat".
  
 
|-
 
|-

Revision as of 17:49, 16 July 2025

Other languages:
English • ‎mRussian • ‎Українська
Модуль Ім'я Версія Ліцензія Джерело Мови Платформи Тип Автор Опис
System Збір даних ОС 3.4 GPL2 daq_System.so en,uk,ru,de x86,x86_64,ARM DAQ Роман Савоченко Надає збір даних із Операційної Системи. Підтримуються джерела даних ОС Linux: ЦП, Пам'ять, Сенсори, SMART Диску, Статистика Диску, Файлова Система, Мережа, Живлення, ДБЖ, Час Дії та інше.
-

Модуль є своєрідним шлюзом між OpenSCADA та операційною системою (ОС), який отримує дані із різних джерел даних та дозволяє керувати деякими компонентами ОС.

Модуль надає можливість автоматичного пошуку підтримуваних активних джерел даних із створенням параметрів для доступу до них, а також реалізацію функції горизонтального резервування, а саме спільної роботи з віддаленою станцією цього-ж рівня.

1 Об'єкт контролеру

Для додання джерела даних ОС створюється та конфігурується об'єкт контролера у OpenSCADA. Приклад вкладки конфігурації об'єкта контролера цього типу зображено на рисунку 1.

Рис.1. Вкладка конфігурації об'єкту контролеру.

За допомогою цієї вкладки можна встановити:

  • Стан об'єкту контролеру, а саме: статус, "Ввімкнено", "Виконується" та ім'я сховища, яке містить конфігурацію.
  • Ідентифікатор, ім'я та опис контролеру.
  • Стан "Ввімкнено" та "Виконується", у який переводити об'єкт контролеру при запуску.
  • Автоматичний пошук активних джерел даних та створення параметрів до них, для режимів: "Ручний", "Швидкі джерела", "Повільні джерела", "Всі джерела".
  • Планування обчислення та пріоритет задачі опитування джерел даних.

2 Параметри

Модуль надає лише один "Стандартний (std)" тип параметрів із назвою таблиці параметрів "OSPrm_{CntrId}". Додатковими конфігураційними полями параметрів цього модуля (Рис.2) є:

  • частина системи;
  • підтип, залежний від джерела даних і може бути відсутнім загалом.
Рис.2. Вкладка конфігурації параметру.
Підтримувані джерела даних ОС
Джерело Даних (ІД)
"АвтСтворІД"
Значення підтипу Атрибути параметру (ідентифікатор[властивості]) Примітки
ЦП (CPU)
"CPU[{N}]"
"Загалом (gen)" або номер N ЦП.
  • "Навантаження загальне, системне, користувацьке, відсутнє\nУ %" (load[real], sys[real], user[real], idle[real])
  • "Частота: драйвер" (frqDrv[string])
  • "Частота: керувач" (frqGov[string|wr])
  • "Частота: поточна\nУ МГц" (frqCur[real|wr])
  • "Частота: мінімум, встановлення\nУ МГц" (frqMin[real], frqMinCur[real|wr])
  • "Частота: максимум, встановлення\nУ МГц" (frqMax[real], frqMaxCur[real|wr])
  • "Назва моделі" (model[string])
  • "МГц" (MHz[real])
  • "ПідставніМОЗаС" (BogoMIPS[real])
  • "МГц за rdtsc" (rdtsc[real])
Оновлення у загальних циклах щодо усіх значень атрибутів та приготування найбільш актуальної загальної-середньої частоти ЦП для кореневої сторінки. Усі специфічні до ЦП значення частоти усереднюються для "Загалом (gen)" а зміни тут розповсюджуються на них всіх. У якості джерела використано:
  • "/proc/stat" — для навантаження ЦП;
  • "/sys/devices/system/cpu/cpu{N}/cpufreq/" — для CPUFreq;
  • "/proc/cpuinfo" — для загальної інформації ЦП.
Пам'ять (MEM)
"MEM"
Не використовується.
  • "Вільно (КіБ)" (free[integer])
  • "Разом (КіБ)" (total[integer])
  • "Використано (КіБ)" (use[integer])
  • "Буфера (КіБ)" (buff[integer])
  • "Кеші (КіБ)" (cache[integer])
  • "Своп вільно (КіБ)" (sw_free[integer])
  • "Своп загалом (КіБ)" (sw_total[integer])
  • "Своп використано (КіБ)" (sw_use[integer])
У якості джерела використовується "/proc/meminfo".
Сенсори (sensors)
"Sensors"
Не використовується. Визначаються сенсорами, які доступні на обладнані. Для кожного сенсора створюється унікальний атрибут. Використовується бібліотека libsensors або програма mbmon, так само як сенсори прямо у "/sys/devices/virtual/hwmon/*/temp" і /sys/devices/virtual/hwmon/*/temp*". Найбільший пріоритет використання надається бібліотеці libsensors оскільки mbmon має проблеми на багатоядерних архітектурах і переважно застаріле.
Process (proc) List of commands of the processes with the possibility to specify the regular expression to the whole command-line in view "/{RE}/".
  • "User loading (%)" (UserLoad[real])
  • "System loading (%)" (SystemLoad[real])
  • "Number of file descriptor slots currently" (FDSize[integer])
  • "Peak virtual memory size (KiB)" (VmPeak[integer])
  • "Virtual memory size (KiB)" (VmSize[integer])
  • "Locked memory size (KiB)" (VmLck[integer])
  • "Pinned memory size (KiB)" (VmPin[integer])
  • "Peak resident set size (KiB)" (VmHWM[integer])
  • "Resident set size (KiB)" (VmRSS[integer])
  • "Size of resident anonymous memory (KiB)" (RssAnon[integer])
  • "Size of resident file mappings (KiB)" (RssFile[integer])
  • "Size of resident shared memory (KiB)" (RssShmem[integer])
  • "Size of data segment (KiB)" (VmData[integer])
  • "Size of stack segment (KiB)" (VmStk[integer])
  • "Size of text segment (KiB)" (VmExe[integer])
  • "Shared library code size (KiB)" (VmLib[integer])
  • "Page table entries size (KiB)" (VmPTE[integer])
  • "Swapped-out virtual memory size by anonymous private pages (KiB)" (VmSwap[integer])
  • "Size of hugetlb memory portions (KiB)" (HugetlbPages[integer])
  • "Number of threads in process" (Threads[integer])
As the source there is used "/proc/{PID}/status" and "/proc/{PID}/stat".
Сенсор Qt (QSensor)
"{OrigName}"
Перелік Сенсорів Qt у їх первинній назві OrigName
  • "Стан" (st[string])
  • "Властивість {N}" (pr{N}[boolean|integer|real|string])
Джерело динамічне, тож наявність атрибутів залежить від типу QSensor. Типовими типами сенсорів є: QAccelerometer, QAmbientLightSensor, QCompass, QIRProximitySensor, QLightSensor, QMagnetometer, QOrientationSensor, QProximitySensor, QRotationSensor, QTapSensor.

At.png Сенсори переважно доступні на Android і MeeGo.

SMART Диску (hddsmart)
"DiskSMART{DEV}"
Пристрої DEV дисків, що доступні у системі. Визначаються SMART-полями, доступними для цього диску. Для кожного поля створюється унікальний атрибут. Це повільне джерело. Джерело динамічне, тож наявність атрибутів залежить від типу диску. Має бути встановлена та доступна програма smartctl.
Температура HDD (hddtemp)
"Temperature_hd{DEV}"
Пристрої DEV Жорстких Дисків, що доступні у системі.
  • "Назва" (disk[string])
  • "Одиниця виміру" (ed[string])
  • "Температура" (t[integer])
At.png Переважно застаріле і замінене "SMART Диску (hddsmart)". Програма hddtemp має бути встановлена, налаштована і виконувана як сервіс.
Статистика Диску (hddstat)
"DiskSt_{DEV}"
Пристрої DEV дисків або їх розділи, що доступні у системі.
  • "Прочитано (Б)" (rd[real])
  • "Швидкість читання (Б/с)" (rdSp[real])
  • "Записано (Б)" (wr[real])
  • "Швидкість запису (Б/с)" (wrSp[real])
У якості джерел використано:
  • "/proc/diskstats" — для дисків;
  • "/proc/partitions" — для розділів.
Файлова Система (fs)
"FS{MP}"
Підключена файлова система MP.
  • "Разом (ГБ)" (total[real])
  • "Використано (ГБ)" (used[real])
  • "Вільно (ГБ)" (free[real])
  • "Разом файлових вузлів" (totalN[integer])
  • "Використано файлових вузлів" (usedN[integer])
  • "Вільно файлових вузлів" (freeN[integer])
У якості джерела використано "/etc/fstab" для файлових систем.
Мережа (netstat)
"Net_{IF}"
Мережеві інтерфейси IF, що доступні у системі.
  • "Прийнято (Б)" (rcv[real])
  • "Швидкість прийняття (Б/с)" (rcvSp[real])
  • "Передано (Б)" (trns[real])
  • "Швидкість передавання (Б/с)" (trnsSp[real])
У якості джерела використано "/proc/net/dev" для мережевих пристроїв-інтерфейсів.
Живлення (Power)
"Power{DEV}"
Пристрої DEV живлення, що доступні на обладнані. Читання і запис усіх властивостей, доступних у теці пристрою, із спеціальною обробкою найбільш відомих:
  • "Тип" (type[string])
  • "Технологія" (technology[string])
  • "Простір" (scope[string])
  • "Наявне" (present[boolean])
  • "Виробник, модель, SN" (manufacturer[string], model_name[string], serial_number[string])
  • "Статус" (status[string])
  • "ВМережі" (online[boolean])
  • "Здоров'є" (health[string])
  • "Ємність" (capacity[integer])
  • "Рівень ємності" (capacity_level[string])
  • "Заряд зараз, повний, дизайн\nУ Аг" (charge_now[real], charge_full[real], charge_full_design[real])
  • "Енергія зараз, повна, дизайн\nУ Аг" (energy_now[real], energy_full[real], energy_full_design[real])
  • "Напруга" (voltage_now[real])
  • "Напруга мінімум" (voltage_min_design[real])
  • "Кількість циклів" (cycle_count[integer])
  • "Потужність\nУ Ватах" (power_now[real])
  • "Струм\nУ мАмперах" (current_now[real])
  • "Температура\nУ градС" (temp[real])
  • "Час спустошення зараз, середній" (time_to_empty_now[real], time_to_empty_avg[real])
  • "Час наповнення" (time_to_full_now[real])
  • "Поріг зарядження початок, зупинка" (charge_start_threshold[integer|wr], charge_stop_threshold[integer|wr])
  • "Поріг контролю зарядження початок, кінець" (charge_control_start_threshold[integer|wr], charge_control_end_threshold[integer|wr])
Джерело динамічне, тож наявність атрибутів залежить від типу джерела. У якості джерела використано інтерфейс Живлення Linux Power у "/sys/class/power_supply/".
ДБЖ (ups) Адреса ДБЖ. Визначаються полями, які надаються відповідним ДБЖ. Для кожного поля створюється унікальний атрибут. Це повільне джерело. Джерело динамічне, тож наявні атрибути залежать від типу ДБЖ. Демон upsd від проєкту NUT має бути доступний у системі або мережі, тобто не визначається автоматично і його адресу необхідно вказувати прямо.
Час Дії (uptime)
"UpTm_[sys|stat]"
Системний (sys) або Станційний (stat) час дії.
  • "Секунди повні" (full[integer])
  • "Секунди" (sec[integer])
  • "Хвилини" (min[integer])
  • "Години" (hour[integer])
  • "Дні" (day[integer])