Файл содержит настройки пулов для подключения к базам данных.
# DB Event poolName1=event event.jdbc.driver=org.gjt.mm.mysql.Driver event.jdbc.dbUrl=jdbc:mysql://localhost/eltex_alert?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&useSSL=false event.jdbc.username=javauser event.jdbc.password=javapassword event.jdbc.maxPoolSize=32 event.jdbc.inUse=yes # remote db host access with su privileges # event.ssh.login= # event.ssh.password= # event.ssh.port= # DB Tree poolName2=tree tree.jdbc.driver=org.gjt.mm.mysql.Driver tree.jdbc.dbUrl=jdbc:mysql://localhost/eltex_ems?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&noAccessToProcedureBodies=true&useSSL=false tree.jdbc.username=javauser tree.jdbc.password=javapassword tree.jdbc.maxPoolSize=20 tree.jdbc.inUse=yes # DB Ont poolName3=ont ont.jdbc.driver=org.gjt.mm.mysql.Driver ont.jdbc.dbUrl=jdbc:mysql://localhost/eltex_ont?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&useSSL=false ont.jdbc.username=javauser ont.jdbc.password=javapassword ont.jdbc.maxPoolSize=40 ont.jdbc.inUse=yes # DB Syslog poolName4=syslog syslog.jdbc.driver=org.gjt.mm.mysql.Driver syslog.jdbc.dbUrl=jdbc:mysql://localhost/Syslog?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&useSSL=false syslog.jdbc.username=javauser syslog.jdbc.password=javapassword syslog.jdbc.maxPoolSize=4 syslog.jdbc.inUse=yes # remote db host access with su privileges # syslog.ssh.login= # syslog.ssh.password= # syslog.ssh.port= # DB acsmain (alias=cpe) poolName5=cpe cpe.jdbc.driver=org.gjt.mm.mysql.Driver cpe.jdbc.dbUrl=jdbc:mysql://localhost/acsmain?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&useSSL=false cpe.jdbc.username=javauser cpe.jdbc.password=javapassword cpe.jdbc.maxPoolSize=2 cpe.jdbc.inUse=yes # DB acscmds(alias=cmds) poolName6=cmds cmds.jdbc.driver=org.gjt.mm.mysql.Driver cmds.jdbc.dbUrl=jdbc:mysql://localhost/acscmds?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&useSSL=false cmds.jdbc.username=javauser cmds.jdbc.password=javapassword cmds.jdbc.maxPoolSize=2 cmds.jdbc.inUse=yes # DB acsinf(alias=inf) poolName7=inf inf.jdbc.driver=org.gjt.mm.mysql.Driver inf.jdbc.dbUrl=jdbc:mysql://localhost/acsinf?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&useSSL=false inf.jdbc.username=javauser inf.jdbc.password=javapassword inf.jdbc.maxPoolSize=2 inf.jdbc.inUse=yes # DB acscache(alias=cache) poolName8=cache cache.jdbc.driver=org.gjt.mm.mysql.Driver cache.jdbc.dbUrl=jdbc:mysql://localhost/acscache?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&useSSL=false cache.jdbc.username=javauser cache.jdbc.password=javapassword cache.jdbc.maxPoolSize=2 cache.jdbc.inUse=yes # DB radius(alias=radius) poolName9=radius radius.jdbc.driver=org.gjt.mm.mysql.Driver radius.jdbc.dbUrl=jdbc:mysql://localhost/radius?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&useSSL=false radius.jdbc.username=javauser radius.jdbc.password=javapassword radius.jdbc.maxPoolSize=40 radius.jdbc.inUse=yes # remote db host access with su privileges # radius.ssh.login= # radius.ssh.password= # radius.ssh.port= # ------------------------------------------- SSID --------------------------------------------- # DB wireless (alias=wireless) poolName10=wireless wireless.jdbc.driver=org.gjt.mm.mysql.Driver wireless.jdbc.dbUrl=jdbc:mysql://localhost/wireless?useUnicode=true&characterEncoding=utf8&relaxAutoCommit=true&connectTimeout=5000&useSSL=false wireless.jdbc.username=javauser wireless.jdbc.password=javapassword wireless.jdbc.maxPoolSize=30 wireless.jdbc.inUse=yes # memcached server address #memcached_server_ip_port=127.0.0.1:11211 |
Настройки подключения к каждой базе имеют идентичную структуру, поэтому рассмотрим настройку пула для подключения к БД 'radius':
Конфигурация логгера EMS сервера.
<?xml version="1.0" encoding="UTF-8"?> <!-- Use log4j version 2 - EMS server error и black_box - Ограничения для них работают одинаково: 1) В варианте по-умолчанию (исходный) - с сохранением по дням. 2) В новом варианте (закоментаренный) - без сохранения по дням. Параметры в теге configuration - monitorInterval="30" - для перечитки конфиг-файла каждые 30 сек - для отслеживания изменений. - 36000 - 10 часов. --> <configuration monitorInterval="600"> <properties> <property name="basedir">/var/log/eltex-ems</property> <property name="maxSize">20 MB</property> <property name="maxCount">20</property> <property name="gelfHost">udp:lab3-test.eltex.loc</property> <property name="gelfPort">12201</property> <property name="gelfLevel">OFF</property> <Property name="dateSuffix">%d{yyyyMMdd}</Property> <property name="pattern">%d{ISO8601} [%t] %-5p %logger{1} %C{1}.%M(line:%L). %m%n</property> </properties> <appenders> <!-- ========= black_box ============ --> <!-- 1) - Лог-файлы - только заданное в maxCount количество - и не больше. Хорошо, когда требуется оперативно смотреть логи. Плюс - лог-директория не разрастается. --> <RollingFile name="black" fileName="${basedir}/black_box.txt" filePattern="${basedir}/black_box/black_box-${dateSuffix}-%i.txt.gz"> <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- ========= error ============ --> <!-- 1) - Лог-файлы - количество файлов - только заданное в maxCount - и не больше --> <RollingFile name="errorLog" fileName="${basedir}/error.log" filePattern="${basedir}/error/error-${dateSuffix}-%i.log.gz"> <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- ========= unknown ============ --> <!-- Аппендер, в который выводятся сообщения, которые AsyncAppender не знает куда выводить (не может определить). Если не описан - кидаются в системный вывод. --> <RollingFile name="unknowLog" fileName="${basedir}/unknown.log" filePattern="${basedir}/unknown/unknown-${dateSuffix}-%i.log.gz"> <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- Говорим что следующие аппендеры должны работать не в этом же потоке, где вызывается logger.debug, а в отдельном - т.е. сначала в поток передается запрос на отображение лога, а потом уже происходит обработка. bufferSize - устанавливает размер входного буфера (по умолчанию - 128). --> <Async name="async"> <appender-ref ref="black"/> <appender-ref ref="errorLog"/> <!-- Аппендер, в который выводятся сообщения, которые AsyncAppender не знает куда выводить (не может определить). Если не описан - кидаются в системный вывод. --> <error-ref>unknowLog</error-ref> </Async> <Syslog name="syslogApp" format="RFC5424" host="192.168.1.1" port="514" protocol="UDP" appName="Eltex" includeMDC="true" mdcId="mdcId" facility="USER" enterpriseNumber="18060" newLine="true" messageId="Audit" id="App"/> <!-- Логгер для отправки некоторых трапов по syslog. Для отправки данных логов, необходимо поставить уровень фильтрации INFO --> <Syslog name="TrapSyslog" format="RFC5424" host="192.168.1.1" port="514" protocol="UDP" appName="Eltex-EMS" includeMDC="true" mdcId="mdcId" facility="USER" enterpriseNumber="18060" newLine="true" messageId="Audit" id="App"> <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY"/> </Syslog> <Gelf name="Gelf" host="${gelfHost}" port="${gelfPort}" version="1.1" facility="eltex-ems" extractStackTrace="true" originHost="%host{fqdn}" maximumMessageSize="8192" > <Field name="thread" pattern="%t" /> <Field name="level" pattern="%level" /> <Field name="severity" pattern="%-5level" /> <Field name="logger" pattern="%logger{1}" /> <Field name="location" pattern="%C{1}.%M(line:%L)" /> </Gelf> <!-- Тестовый логгер. --> <RollingFile name="testLog" fileName="${basedir}/test.txt" filePattern="${basedir}/test/test-${dateSuffix}-%i.txt.gz"> <!--ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"--> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- ================================= Мониторы ========================================== --> <RollingFile name="HandlersPool" fileName="${basedir}/monitor/HandlersPool/handlers_pool.log" filePattern="${basedir}/monitor/HandlersPool/handlers_pool-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="CheckDbConnect" fileName="${basedir}/monitor/CheckDbConnect/check_db.log" filePattern="${basedir}/monitor/CheckDbConnect/check_db-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="AlertsSynchronized" fileName="${basedir}/monitor/AlertsSynchronized/alerts_sync.log" filePattern="${basedir}/monitor/AlertsSynchronized/alerts_sync-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="AlertsArchiving" fileName="${basedir}/monitor/AlertsArchiving/alerts_archiving.log" filePattern="${basedir}/monitor/AlertsArchiving/alerts_archiving-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="FwReports" fileName="${basedir}/monitor/FwReports/fw_reports.log" filePattern="${basedir}/monitor/FwReports/fw_reports-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="MonitoringTask" fileName="${basedir}/monitor/MonitoringTask/monitoring_task.log" filePattern="${basedir}/monitor/MonitoringTask/monitoring_task-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="UploadConfigure" fileName="${basedir}/monitor/UploadConfigure/upload_configure.log" filePattern="${basedir}/monitor/UploadConfigure/upload_configure-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="SystemBackup" fileName="${basedir}/monitor/SystemBackup/system_backup.log" filePattern="${basedir}/monitor/SystemBackup/system_backup-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="SyncPon" fileName="${basedir}/monitor/SyncPon/sync_pon.log" filePattern="${basedir}/monitor/SyncPon/sync_pon-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="EmsServerDiagnostics" fileName="${basedir}/monitor/EmsServerDiagnostics/ems_server_diagnostics.log" filePattern="${basedir}/monitor/EmsServerDiagnostics/ems_server_diagnostics-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="SystemBackupDiagnostics" fileName="${basedir}/monitor/SystemBackupDiagnostics/system_backup_diagnostics.log" filePattern="${basedir}/monitor/SystemBackupDiagnostics/system_backup_diagnostics-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="SyslogCleaner" fileName="${basedir}/monitor/SyslogCleaner/syslog_clean.log" filePattern="${basedir}/monitor/SyslogCleaner/syslog_clean-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="AlertsClose" fileName="${basedir}/monitor/AlertsClose/alerts_close.log" filePattern="${basedir}/monitor/AlertsClose/alerts_close-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="LogsDirCleaner" fileName="${basedir}/monitor/LogsDirCleaner/logsdir_clean.log" filePattern="${basedir}/monitor/LogsDirCleaner/logsdir_clean-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="FwStationUpdate" fileName="${basedir}/monitor/FwStationUpdate/station_update.log" filePattern="${basedir}/monitor/FwStationUpdate/station_update-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="CheckOLTTermoMonitor" fileName="${basedir}/monitor/CheckOLTTermoMonitor/temperature_scan.log" filePattern="${basedir}/monitor/CheckOLTTermoMonitor/temperature_scan-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="LogsSender" fileName="${basedir}/monitor/LogsSender/logsdir_sender.log" filePattern="${basedir}/monitor/LogsSender/logsdir_sender-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="SwitchCounterCleaner" fileName="${basedir}/monitor/SwitchCounterCleaner/switch_counter_clean.log" filePattern="${basedir}/monitor/SwitchCounterCleaner/switch_counter_clean-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- ACS --> <RollingFile name="CheckAcsdBreak" fileName="${basedir}/monitor/CheckAcsdBreak/acsd_break.log" filePattern="${basedir}/monitor/CheckAcsdBreak/acsd_break-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- GePON --> <RollingFile name="FwNteUpdate" fileName="${basedir}/monitor/FwNteUpdate/nte_update.log" filePattern="${basedir}/monitor/FwNteUpdate/nte_update-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- RADIUS --> <RollingFile name="NasAndTreeObjFitnessMonitor" fileName="${basedir}/monitor/NasAndTreeObjFitnessMonitor/nas_treeobj_fitness.log" filePattern="${basedir}/monitor/NasAndTreeObjFitnessMonitor/nas_treeobj_fitness-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- GPON --> <RollingFile name="NtpOmciSheduler" fileName="${basedir}/monitor/NtpOmciSheduler/ntp_omci_sheduler_log.log" filePattern="${basedir}/monitor/NtpOmciSheduler/ntp_omci_sheduler_log-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="GponOntAutoupdateFlag" fileName="${basedir}/monitor/GponOntAutoupdateFlag/gpon_ont_autoupdate_flag.log" filePattern="${basedir}/monitor/GponOntAutoupdateFlag/gpon_ont_autoupdate_flag-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- PON COMMON --> <RollingFile name="OntProblems" fileName="${basedir}/monitor/OntProblems/ont_problems.log" filePattern="${basedir}/monitor/OntProblems/ont_problems-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- Ott Overdue --> <RollingFile name="OttOverdue" fileName="${basedir}/monitor/OttOverdue/ott_overdue.log" filePattern="${basedir}/monitor/OttOverdue/ott_overdue-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- TL1 --> <RollingFile name="TL1" fileName="${basedir}/modules/TL1/tl1.log" filePattern="${basedir}/modules/TL1/tl1-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- Feature #26980 Создать методы автоматического сбора данных 'ключ-значение' из xml файлов --> <RollingFile name="Language" fileName="${basedir}/language/language.log" filePattern="${basedir}/language/language-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!--appender type="List" name="List"></appender--> <!-- PON COMMON --> <RollingFile name="SyncPonProfiles" fileName="${basedir}/monitor/SyncPonProfiles/sync_pon_profiles.log" filePattern="${basedir}/monitor/SyncPonProfiles/sync_pon_profiles-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- SsidLinkCheckMonitor --> <RollingFile name="SsidLinkCheck" fileName="${basedir}/monitor/SsidLinkCheck/ssid_link_check.log" filePattern="${basedir}/monitor/SsidLinkCheck/ssid_link_check-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="RadiusBackup" fileName="${basedir}/monitor/RadiusBackup/radius_backup.log" filePattern="${basedir}/monitor/RadiusBackup/radius_backup-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="SsidSchedulerCheck" fileName="${basedir}/monitor/SsidSchedulerCheck/ssid_scheduler.log" filePattern="${basedir}/monitor/SsidSchedulerCheck/ssid_scheduler-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="WifiAlienMonitor" fileName="${basedir}/monitor/WifiAlienMonitor/wifi_alien_monitor.log" filePattern="${basedir}/monitor/WifiAlienMonitor/wifi_alien_monitor-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="SsidApbCheckMonitor" fileName="${basedir}/monitor/SsidApbCheckMonitor/ssid_apb_check.log" filePattern="${basedir}/monitor/SsidApbCheckMonitor/ssid_apb_check-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <RollingFile name="LossCommunication" fileName="${basedir}/monitor/LossCommunication/wifi_loss_communication.log" filePattern="${basedir}/monitor/LossCommunication/wifi_loss_communication-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- Eltex Radius NBI --> <RollingFile name="NBI" fileName="${basedir}/modules/NBI/nbi.log" filePattern="${basedir}/modules/NBI/nbi-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- Eltex PCRF --> <RollingFile name="PCRF" fileName="${basedir}/modules/PCRF/pcrf.log" filePattern="${basedir}/modules/PCRF/pcrf-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- Eltex SORM2 --> <RollingFile name="SORM2" fileName="${basedir}/modules/sorm2/sorm2.log" filePattern="${basedir}/modules/sorm2/sorm2-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- Eltex APB --> <RollingFile name="APB" fileName="${basedir}/modules/apb/apb.log" filePattern="${basedir}/modules/apb/apb-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> <!-- AccountExpireMonitor --> <RollingFile name="AccountExpire" fileName="${basedir}/monitor/AccountExpire/account_expire.log" filePattern="${basedir}/monitor/AccountExpire/account_expire-${dateSuffix}-%i.log.gz"> <PatternLayout> <pattern>${pattern}</pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="${maxSize}"/> </Policies> <DefaultRolloverStrategy max="${maxCount}"/> </RollingFile> </appenders> <loggers> <!-- ================================= Мониторы ========================================== --> <!-- additivity="false" - т.е. в другие аппендеры НЕ выводить TRUE - выводить в другие аппендеры согласно их ограничениям по уровням - сделано так, чтобы в аппендер errorLog выводились вообще все сообщения уровня ERROR. --> <logger name="gpon_ont_autoupdate_flag" level="error" additivity="true"> <appender-ref ref="GponOntAutoupdateFlag"/> </logger> <logger name="ntp_omci_sheduler_log" level="error" additivity="true"> <appender-ref ref="NtpOmciSheduler"/> </logger> <logger name="nte_update" level="error" additivity="true"> <appender-ref ref="FwNteUpdate"/> </logger> <logger name="acsd_break" level="error" additivity="true"> <appender-ref ref="CheckAcsdBreak"/> </logger> <logger name="logsdir_sender" level="error" additivity="true"> <appender-ref ref="LogsSender"/> </logger> <logger name="temperature_scan" level="error" additivity="true"> <appender-ref ref="CheckOLTTermoMonitor"/> </logger> <logger name="station_update" level="error" additivity="true"> <appender-ref ref="FwStationUpdate"/> </logger> <logger name="logsdir_clean" level="error" additivity="true"> <appender-ref ref="LogsDirCleaner"/> </logger> <logger name="syslog_clean" level="error" additivity="true"> <appender-ref ref="SyslogCleaner"/> </logger> <logger name="alerts_close" level="error" additivity="true"> <appender-ref ref="AlertsClose"/> </logger> <logger name="ems_server_diagnostics" level="error" additivity="true"> <appender-ref ref="EmsServerDiagnostics"/> </logger> <logger name="system_backup_diagnostics" level="error" additivity="true"> <appender-ref ref="SystemBackupDiagnostics"/> </logger> <logger name="sync_pon" level="error" additivity="true"> <appender-ref ref="SyncPon"/> </logger> <logger name="upload_configure" level="error" additivity="true"> <appender-ref ref="UploadConfigure"/> </logger> <logger name="system_backup" level="error" additivity="true"> <appender-ref ref="SystemBackup"/> </logger> <logger name="monitoring_task" level="error" additivity="true"> <appender-ref ref="MonitoringTask"/> </logger> <logger name="fw_reports" level="error" additivity="true"> <appender-ref ref="FwReports"/> </logger> <logger name="ott_overdue" level="error" additivity="true"> <appender-ref ref="OttOverdue"/> </logger> <logger name="alerts_archiving" level="error" additivity="true"> <appender-ref ref="AlertsArchiving"/> </logger> <logger name="alerts_sync" level="error" additivity="true"> <appender-ref ref="AlertsSynchronized"/> </logger> <logger name="handlers_pool" level="error" additivity="true"> <appender-ref ref="HandlersPool"/> </logger> <logger name="check_db" level="error" additivity="true"> <appender-ref ref="CheckDbConnect"/> </logger> <logger name="ont_problems" level="error" additivity="true"> <appender-ref ref="OntProblems"/> </logger> <logger name="switch_counter_clean" level="error" additivity="true"> <appender-ref ref="SwitchCounterCleaner"/> </logger> <logger name="sync_pon_profiles" level="error" additivity="true"> <appender-ref ref="SyncPonProfiles"/> </logger> <logger name="ssid_link_check" level="error" additivity="true"> <appender-ref ref="SsidLinkCheck"/> </logger> <logger name="nas_treeobj_fitness" level="error" additivity="true"> <appender-ref ref="NasAndTreeObjFitnessMonitor"/> </logger> <logger name="radius_backup" level="error" additivity="true"> <appender-ref ref="RadiusBackup"/> </logger> <logger name="ssid_scheduler" level="error" additivity="true"> <appender-ref ref="SsidSchedulerCheck"/> </logger> <logger name="TL1" level="error" additivity="true"> <appender-ref ref="TL1"/> </logger> <logger name="Language" level="error" additivity="true"> <appender-ref ref="Language"/> </logger> <logger name="wifi_alien_monitor" level="error" additivity="true"> <appender-ref ref="WifiAlienMonitor"/> </logger> <logger name="ssid_apb_check" level="error" additivity="true"> <appender-ref ref="SsidApbCheckMonitor"/> </logger> <logger name="wifi_loss_communication" level="error" additivity="true"> <appender-ref ref="LossCommunication"/> </logger> <!-- =============================== Установка свойств логирования на группы =============================== --> <!-- Говорим что все логи с именем Syslog скидывать только в аппендер с именем syslogApp additivity="false" - т.е. в другие аппендеры НЕ выводить --> <logger name="Syslog" level="error" additivity="false"> <appender-ref ref="syslogApp"/> </logger> <logger name="NBI" level="debug" additivity="true"> <appender-ref ref="NBI"/> </logger> <logger name="PCRF" level="debug" additivity="true"> <appender-ref ref="PCRF"/> </logger> <logger name="SORM2" level="debug" additivity="true"> <appender-ref ref="SORM2"/> </logger> <logger name="APB" level="debug" additivity="true"> <appender-ref ref="APB"/> </logger> <logger name="TRAP_SYSLOG" level="OFF" additivity="false"> <appender-ref ref="TrapSyslog"/> </logger> <logger name="AUTH_SYSLOG" level="OFF" additivity="false"> <appender-ref ref="TrapSyslog" /> </logger> <!-- Лезет по все аппендеры с этим уровнем. Нигде не режется. --> <!--logger name="Kernel" level="error"> <appender-ref ref="black"/> </logger> <logger name="DB" level="error"> <appender-ref ref="black"/> </logger--> <!-- Библиотеки snmp4j юзают логгер log4j через бридж. --> <logger name="org.snmp4j" level="error"> <appender-ref ref="black"/> </logger> <!-- Апачевские библиотеки тоже юзают свой логгер. Повышаем уровень чтобы не засоряли. --> <logger name="org.apache" level="error"> </logger> <!--logger name="org.apache.log4j.xml" level="error"> <appender-ref ref="black"/> </logger--> <!-- =============================== Тестовые группы =============================== --> <!-- Здесь все эти группы пишут только в один файл - test.txt (ref="testLog") В другие аппендеры не выводить (условие - additivity=false). --> <!-- Группа работы функционала обработки алерта wifi.associateClientsSize --> <logger name="wifiAssocClient" level="info" additivity="false"> <appender-ref ref="testLog"/> </logger> <!-- Тестирование функционала получения БД коннектов. --> <logger name="dbConn" level="error" additivity="false"> <appender-ref ref="testLog"/> </logger> <!-- ========================== Перечень всех аппендеров и стартовый уровень логирования ====================== --> <!-- Ставим дефолтный уровень DEBUG. Но приоритетнее ограничения по уровню на самих аппендерах. --> <root level="debug"> <!--appender-ref ref="List"/--> <!--appender-ref ref="async"/--> <appender-ref ref="errorLog"/> <appender-ref ref="black"/> <appender-ref ref="Gelf" level="${gelfLevel}"/> <!--appender-ref ref="syslogApp"/--> </root> </loggers> </configuration> |
<Configuration monitorInterval="600"> |
<property name="basedir">/var/log/eltex-ems</property> |
<property name="maxSize">20 MB</property> |
<property name="maxCount">20</property> |
<property name="gelfHost">udp:lab3-test.eltex.loc</property> <property name="gelfPort">12201</property> <property name="gelfLevel">OFF</property |
<root level="debug"> |
Файл содержит дефолтные настройки системы, которые используются при первой загрузке. В последствии некоторые параметры могут быть изменены из GUI EMS:
#Эта настройка попадает в ГУИ, в качестве дефолтной настройки MA4000 #Levels: Emergency,Alert,Critical,Error,Warning,Notice,Info,Debug #Transport: udp, tcp syslog.defaultIP=192.168.1.1 syslog.defaultPort=514 syslog.defaultTransport=udp syslog.defaultLevels=Emergency,Alert,Critical,Error,Warning # server socket and socket handlers pool gui.port=9310 #gui.handler_pool_size=48 gui.handler_pool_size=200 gui.connection.timeout.sec=300 # snmp alert.use=yes alert.port=162 alert.connection_timeout_sec=10 ### Monitors monitor.xml-config=conf/monitors.xml # Версия сокетного обработчика. Допустимые значения: 2, 4. socket_version=2 # Тип прав доступа пользователей (enum) : BY_DOMAIN, BY_ROLE. По умолчанию - BY_ROLE user_access_type=BY_ROLE |
syslog.defaultIP=192.168.1.1 syslog.defaultPort=514 syslog.defaultTransport=udp syslog.defaultLevels=Emergency,Alert,Critical,Error,Warning |
gui.port=9310 порт, который будет прослушиваться сервером для подключения GUI пользователей (используется для передачи данных в апплет пользователя) gui.handler_pool_size=200 пул обработчиков пользовательских подключений gui.connection.timeout.sec=300 таймаут ожидания ответа от пользователя до разрыва соединения |
alert.use=yes alert.port=162 alert.connection_timeout_sec=10 |
monitor.xml-config=conf/monitors.xml |
socket_version=2 |
user_access_type=BY_ROLE |
Файл конфигурации пользовательского апплета.
# Уровень логирования в GUI: DEBUG, INFO, WARN, SEVERE, ERROR, FATAL log.level=INFO # Период опроса сервера, в секундах ping.period=10 # Таймаут для запросов к серверу, в секундах socket.timeout=300 # Порт, по которому выполняется соединение с сервером # По умолчанию равен тому, который используется сервером #socket.port=9310 # Максимальный размер Java heap java.max_heap=700m # Размер Java heap при запуске java.init_heap=256m |
Конфигурация для проверки состояния репликации на серверах БД MySQL.
# Включить("Yes") / Выключить("No") проверку репликации ENABLE_REPLICATION="No" # Адрес первого хоста репликации HOST1=192.168.56.100 # Адрес второго хоста репликации HOST2=192.168.56.101 # параметры доступа к mysql серверу # mysql пользователь USER="root" # mysql пароль PASSWORD="root" |
Файл содержит параметры запуска процесса eltex-ems.
# Eltex.EMS (ACS GUI) Server daemon parameters # Location of java JAVA=/usr/bin/java # Maximum size of Java heap JAVA_MAX_HEAP_MB=1024 # Initial size of Java heap JAVA_INIT_HEAP_MB=256 # Options for Java Garbage Collector GC_OPTS="-XX:+UseG1GC \ -XX:+PrintGCDateStamps \ -XX:+PrintGCDetails \ -XX:+UseGCLogFileRotation \ -XX:NumberOfGCLogFiles=7 \ -XX:GCLogFileSize=5M \ -XX:+UseStringDeduplication \ -XX:+PrintGCTimeStamps \ -XX:+PrintTenuringDistribution \ -Xloggc:/var/log/eltex-ems/gc.log" # Additional arguments to pass to java JAVA_OPTS="-XX:+HeapDumpOnOutOfMemoryError \ -XX:HeapDumpPath=/var/log/eltex-ems \ -Djava.security.egd=file:/dev/./urandom" # Remore monitoring #JAVA_OPTS="-XX:+HeapDumpOnOutOfMemoryError \ #-XX:HeapDumpPath=/var/log/eltex-ems \ #-Djava.security.egd=file:/dev/./urandom \ #-Dcom.sun.management.jmxremote \ #-Djava.rmi.server.hostname=192.168.1.1 \ #-Dcom.sun.management.jmxremote.port=9900 \ #-Dcom.sun.management.jmxremote.authenticate=false \ #-Dcom.sun.management.jmxremote.ssl=false" # Eltex.EMS home location ELTEX_EMS_HOME="/usr/lib/eltex-ems" # Set it more than (EMS tree objects number * 5) FILE_LIMIT=65535 |
Файл содержит конфигурацию SSID для автоматического заполнения параметров SSID, при создании его в менеджере SSID
#General options radio=ALL bandSteering=true #RADIUS options activeServer=primary radiusip=192.168.1.1 radiuskey=eltex radiusaccount=up radiusAcctPeriod=600 apBssRadiusPort=1812 #CaptivePortal options apCaptivePortalExternalUrl=http://192.168.1.1:8080/eltex_portal/ |
Общие правила конфигурации файа
Тип параметра | Текстовое представление |
---|---|
Текст, включая домены и IP | Как в диалоге настройки SSID |
Число | Как в диалоге настройки SSID |
Логическое значение (CheckBox) |
|
Временной диапазон (расписание на день) | <1, если расписание на день активно, иначе 0>:<Ч>:<М>:<Ч>:<М> |
Выпадающий список | Название опции на английском (см. следующую таблицу). |
Регистр важен важен при заполнении параметров! |
Название параметров, их тип и формат
Параметр | Название | Тип | Формат |
---|---|---|---|
Общие | |||
Тип | ssidtype | Выпадающий список | Варианты: hotspot , enterprise |
Имя | NAME | Текст | |
Описание | DESCR | Текст | |
Domain | radiusDomain | Текст | |
Статус SSID | STATUS | Выпадающий список | Варианты: operational , locked |
Опции | |||
Bridge, Location | bridgeLocation | Текст | |
Switch Community | switchCommunity | Логическое значение | |
Статус VAP | status | Выпадающий список | Варианты: down , up |
Режим трафика VAP (только для GRE) | trafficModeVAP | Выпадающий список | Варианты: tunnel , local |
Broadcast SSID | broadcastSsid | Логическое значение | |
Radio | radio | Выпадающий список | Варианты: ALL , ALL24 , ALL5 |
Режим безопасности | security | Выпадающий список | Варианты: plainText , wpaPersonal , wpaEnterprise |
Отключить SSID на ТД (GlobalRadius) | validateSsidRadiusAcc | Логическое значение | |
Поддержка WPA-TKIP | wpaen | Логическое значение | |
Поддержка WPA2-AES | wpa2AesEn | Логическое значение | |
Поддержка TLS | tlsEnabled | Логическое значение | |
Enable pre-authentication | preauth | Логическое значение | |
MAC Auth Type | macCAuthType | Выпадающий список | Варианты: disable , local , radius |
MFP | mfp | Выпадающий список | Варианты: notrequired , capable , required |
Ключ (WPA) | wpakey | Текст | |
Policy | policy | Выпадающий список | Варианты: GLOBAL , ALLOW , BLOCK |
Список MAC адресов | macList | Текст | |
Broadcast Key Refresh Rate | brcstRfrshRate | Число | |
Session Key Refresh Rate | sessionRfrshRate | Число | |
Статус Client QoS | qosMode | Выпадающий список | Варианты: off , on |
VLAN-ID | vlanid | Число | |
QoS method (down link) | priority | Выпадающий список | Варианты: p8021 , dscp |
VLAN trunk | vlanTrunk | Логическое значение | |
General Mode | generalMode | Логическое значение | |
General VLAN-ID | generalVlanId | Число | От 1 до 4094 |
802.1p priority (up link) | vlanPrio | Число | От 0 до 7 |
Изоляция клиентов | stationIsolation | Логическое значение | |
Band steer | bandSteering | Логическое значение | |
Support 802.11k | support80211k | Логическое значение | |
PMKSA caching | pmksaCaching | Логическое значение | |
Accounting wait IP | accountingWaitIp | Логическое значение | |
Wireless Multicast Forwarding | wmfEnabled | Логическое значение | |
Hotspot 2.0 | hotspot20 | Текст | |
DiffServ Policy Up | policyUp | Текст | |
DiffServ Policy Down | policyDown | Текст | |
Bandwidth Limit Up, kbps | bwMaxUp | Число | От 0 до 1331200 |
Bandwidth Limit Down, kbps | bwMaxDown | Число | От 0 до 1331200 |
Quantity Resend | apBssMaxREeq | Число | |
Supplicant Timeout, ms | apBssSuppTimeout | Число | |
VAP Limit Up, kbps | vapLimitUp | Число | От 0 до 1331200 |
VAP Limit Down, kbps | vapLimitDown | Число | От 0 до 1331200 |
DPI (Step Logic) | dpiStepLogic | Логическое значение | |
Minimal Signal | |||
Enabled | checkMinimalSignal | Логическое значение | |
Level, dBm | minimalSignalLevel | Число | |
Timeout, s | minimalSignalTimeout | Число | |
Roaming Level, dBm | roamingSignalLevel | Число | |
RADIUS | |||
Active Server | activeServer | Выпадающий список | Варианты: primary , backupone , backuptwo , backupthree |
RADIUS IP Address | radiusip | Текст | Строка должна соответствовать формату IP-адреса |
RADIUS IP Address-1 | radiusip1 | Текст | Строка должна соответствовать формату IP-адреса |
RADIUS IP Address-2 | radiusip2 | Текст | Строка должна соответствовать формату IP-адреса |
RADIUS IP Address-3 | radiusip3 | Текст | Строка должна соответствовать формату IP-адреса |
RADIUS Key | radiuskey | Текст | |
RADIUS Key-1 | radiuskey1 | Текст | |
RADIUS Key-2 | radiuskey2 | Текст | |
RADIUS Key-3 | radiuskey3 | Текст | |
RADIUS accounting (вкл/выкл) | radiusaccount | Выпадающий список | Варианты: down , up |
RADIUS accounting period, s | radiusAcctPeriod | Число | |
RADIUS accounting retry count | apBssRadiusAcctRetryCount | Число | |
RADIUS accounting retry timeout | apBssRadiusAcctRetryTimeout | Число | |
RADIUS authenticate retry count | apBssRadiusAuthRetryCount | Число | |
RADIUS authenticate retry timeout | apBssRadiusAuthRetryTimeout | Число | |
RADIUS порт | apBssRadiusPort | Число | От 1 до 65534 |
Fast Bss Transition | |||
Статус Fast Transition | apFbtEnabled | Выпадающий список | Варианты: off , on |
FT over DS | apFbtOverDSEnabled | Выпадающий список | Варианты: off , on |
R0 Key Holder | apFbtR0KeyHolderID | Текст | |
Reassociation Deadline, ms | apFbtReassociationDeadline | Число | От 1000 до 4294967295 |
RRB key | apFbtRrbKey | Текст | |
Captive portal | |||
Enabled | apCaptivePortalAdminMode | Логическое значение | |
Virtual portal name | apCaptivePortalVirtualPortalName | Выпадающий список | Доступные варианты зависят от настроек EMS |
Протокол | apCaptivePortalTinyproxyTransportMode | Выпадающий список | Варианты: HTTPS , HTTP , Auto |
Verification | apCaptivePortalVerifyMode | Выпадающий список | Варианты: Guest , RADIUS , CaptivePortal |
External | apCaptivePortalExternalMode | Логическое значение | |
External URL | apCaptivePortalExternalUrl | Текст | |
Away Time, min | apCaptivePortalAwayTime | Число | От 0 до 1440 |
Session Timeout, min | apCaptivePortalSessionTimeout | Число | От 0 до 1440 |
User mobility domain (FW 1.9.0) | apCaptivePortalUserMobilityDomain | Текст | Это должен быть существующий домен |
Расписание работы | |||
Включить | scheduler | Логическое значение | |
Понедельник | monday | Временной диапазон | |
Вторник | tuesday | Временной диапазон | |
Среда | wednesday | Временной диапазон | |
Четверг | thursday | Временной диапазон | |
Пятница | friday | Временной диапазон | |
Суббота | saturday | Временной диапазон | |
Воскресенье | sunday | Временной диапазон |
Файл содержит соответсвие между именем хоста и ip адресом.
127.0.0.1 localhost 127.0.1.1 ubuntu |
В качестве базового принципа разделения прав используется механизм ролей. Роль — это логическая сущность, которая содержит в себе следующие данные:
В системе присутствует одна базовая роль администратора, которая называется «SuperUser». Эту роль запрещено редактировать. Она автоматически имеет все права на все объекты.
Все прочие роли настраиваются администратором, согласно должностным обязанностям операторов и логической разбивке по устройствам или территориальному принципу.
Настройка ролей и пользователей доступна для пользователей системы с правами «Редактировать права и роли». Добавление и редактирование ролей производится путём вызова пункта меню «Администрирование/Права и пользователи/Настройка ролей пользователей». При выборе этого пункта меню программа выдаст диалог, в котором можно редактировать роли (кроме системных ролей «SuperUser» и «NorthBound»), а также добавлять и удалять роли.
Есть возможность настройки времени бездействия для роли – это время в секундах, начиная с последней операции, выполненной пользователем с данной ролью, по истечении которого сессия будет завершена. Для задания бесконечного времени бездействия используется значение «0».
Для каждой роли существует перечень разрешений, который можно изменить, перейдя в меню «Редактировать привилегии».Привилегии сгруппированы в разделы по основным модулям. Все действия по настройке системы управления собраны в разделе «system». Настройка прав на действия с устройствами wireless и конфигурирование основных параметров ТД производится во вкладке «Wireless Common». Для каждой привилегии есть возможность просмотра расположения акций, входящих в состав данной привилегии (кнопка слева от привилегии).
Список и описание привилегий в приложении v1.18_Привилегии пользователей EMS
В настройке роли в разделе «Регистрация на аварии» указываются уровни аварий, которые необходимо отправлять пользователю с данной ролью, подписанному на отправку аварий на почту (E-mail).
Для каждой роли, помимо закреплённых за ней прав, необходимо также задать и область действия этих прав. Для разграничения по группам объектов и узлов можно использовать настройку списка разрешенных объектов либо домен. Настройка производится в разделе "Системные модули", параметр "Тип доступа к устройствам системы".
При выборе типа доступа пользователей по ролям при редактировании роли необходимо отметить флагом «Разрешить» соответствующие узлы в правой части диалога настройки роли. При разрешении доступа к узлу для данной роли происходит автоматическое разрешение на все вложенные узлы и объекты. Для конфигурирования полного доступа к дереву необходимо выдать разрешение на корневой узел «RootNode».
Пользователь системы — это логическая сущность, предназначенная для авторизации входа в систему. Каждый пользователь имеет следующий набор параметров:
При создании нового пользователя обязательно заполнение полей 'Имя', 'Пароль' ('Подтверждение'), которые требуются для каждого входа в систему (авторизация), а так же 'Роль', которая определяет перечень разрешённых действий. Дата окончания действия учётной записи регулирует время действия записи и проверяется при каждой авторизации, автоматически устанавливается в один год.
Добавление и редактирование пользователей производится путём вызова пункта меню «Администрирование/Права и пользователи/Настройка пользователей системы». При выборе этого пункта меню программа выдаст диалог, в котором можно редактировать пользователей. Системный пользователь с именем «admin» не может быть удалён или переименован. Также для него нельзя поменять дату окончания срока действия прав и сменить роль. Для прочих пользователей можно задавать следующие параметры:
При отсутствии таблицы базы данных, отвечающей за списки адресов, данный режим считается выключенным. |
Пароль не хранится в чистом виде в системе, поэтому администратор системы не сможет сообщить эту информацию. |
Флаг «Изменить» рядом с полем «Пароль» предназначен для того, чтобы была возможность заново задавать пароли. В случае если необходимо изменить пароль (или задать его в первый раз), нужно включить флаг и заполнить поле «Пароль». Иначе при изменении прочих параметров, но не активном флаге, изменение пароля не производится. Функция реализована для того, чтобы администратор системы не вводил пароль пользователя при прочих изменениях его данных. Пароль по умолчанию для учётной записи «admin» - пароль пустой. |
После окончания срока действия учётной записи пользователя система блокирует вход с этим именем. Администратор системы может продлить время действия или удалить учётную запись. |
Домены – абстрактные сущности, включающие в себя сквозные идентификаторы, посредством которых осуществляется связь системы SoftWLC.
Доступность для управления и мониторинга узлов (групп) точек доступа или единичных точек доступа определяется доменом. В случае если домен, указанный в роли, совпадает с доменом группы или точки доступа, то пользователь SoftWLC, которому присвоена данная роль, будет обладать правами работы с точкой доступа или группой точек доступа. Также Пользователь сможет иметь права на управление ТД или группой, если его домен находится на уровень выше, но при этом совпадает на аналогичном уровне с доменом ТД или группы.
Возможности системы позволяют создавать SSID с любым доменом на любой точке доступа. Таким образом, можно организовывать общую Wi-Fi сеть в различных регионах, при этом пользователь с одной и той же учетной записью сможет авторизоваться на всей этой сети. В связи с этим возникает необходимость в создании отдельных веток доменов для точек доступа и для SSID (а также пользователей, потому что их домены совпадают). Для такого разделения в систему была добавлена типизация доменов:
Если тип домена не указан, то он наследуется из родительского домена, вплоть до корневого. Если у корневого домена отсутствует тип, то он считается за тип 'both'.
Ограничение на количество пользователей, которых можно создать в этом домене. По умолчанию не устанавливается.
Сумма пользователей в дочерних доменах не может превышать количество пользователей в родительском домене.
Цифровое обозначение субъекта РФ. Параметр используется для работы СОРМ. Этот параметр может наследоваться из родительского домена, вплоть до корневого. Дефолтного значения для этого параметра нет, поэтому если в корневом домене не указан номер региона, то параметр не сможет быть унаследован.
Обозначение часового пояса для данного домена. Параметр необходим для поддержки сервисов, работающих по расписанию. Например, отображение портала в зависимости от времени.
Если параметр не указан в домене, то он наследуется из родительского, вплоть до корневого. Если параметр не указан в корневом домене, то используется часовой пояс сервера.
Для большей однозначности, рекомендуется использовать таймзны вида Asia/Novosibirsk, Europe/Moscow.
Область "Etc" в наименовании таймзоны имеет особое значение, смещение в ней считается так: зоны западнее GMT имеют положительный сдвиг, а зоны восточнее - отрицательный. Таким образом зона Etc/GTM-7 соответствует UTC+7 (GMT+7) или Asia/Novosibirsk
Внешний идентификатор, Название компании и Номер лицевого счёта (НЛС) относятся к дополнительным параметрам домена, которые используются при необходимости для более точной фильтрации при выгрузках данных доменов во внешние системы или биллинга (с использованием eltex-bob). |
Для создания и редактирования доменов используется схожий интерфейс диалогового окна.
При создании нового домена обязательным параметром является только название домена, остальные параметры могут быть унаследованы от родительского домена.
Наименование домена редактировать запрещено. Возможно только полностью удалить домен и создать заново с новым именем. |
Удаление домена доступно только пользователям с привилегией SuperUser. Это сделано с целью обезопасить от случайных, либо ошибочных удалений, ввиду того, что удаление домена включает в себя удаление и всего содержимого этого домена. |
При удалении домена, система проверяет. используется ли домен где-либо в системе. Если он задействован, то пользователю будет выведено предупреждение об удалении со списком всех сущностей этого домена (SSID, пользователи, поддомены, тарифные планы и прочее) о невозможности откатить выполнение данной операции.
При нажатии Подтверждаю, в целях безопасности, будет выведена форма ввода пароля учетной записи.
После ввода пароля и нажатия кнопки "ОК" будет удален домен, со всем содержимым (всё что выведено в предупреждении ранее). Откат этой операции не возможен. |
Интерфейс позволяет настраивать шейпинг трафика на SSID, для этого нужно нажать на кнопку в виде шемтеренки. Работа этого функционала обеспечивается устройством ESR/BRAS, на котором терминируются туннели от точек доступа.
Кроме ограничения по скорости, наличие правила шейпинга требуется для поднятия data-туннелей в динамическом режиме. Поэтому, для работы каждого SSID на ESR в режиме BRAS необходимо правило шейпинга.
При создании привязки на точках доступа к домену типа 'ap' или 'both', правило шейпинга создается автоматически, по дефолту в нем нет ограничений по скорости.
Ограничения скорости передачи трафика:
Разрешенная пиковая скорость должна быть больше или равно средней скорости.
В меню осуществляется настройка приема и обработки SNMP-трапов в системе.
Редактирование доступно по нажатию кнопки «Редактировать» либо двойным щелчком мыши на строке выбранного трапа SNMP.
Для редактирования доступны следующие настройки:
По кнопке «Сброс» производится сброс параметров в значения по умолчанию.
По кнопке «Черный список» можно настроить для отдельного трапа список устройств, для которых данный трап отбрасывается (аналогично настройке «Disabled»). Для части трапов из списков «ALL», «EMS_SERVER» и «KEEPALIVED» добавление в черный список недоступно, поскольку трапы системные и необходимы для нормальной работы СУ.
Подробное описание системных мониторов приведено в приложении v1.18_Системные мониторы
В разделе содержатся настройки различных модулей, необходимых для работы сервера EMS.
|
|
|
Раздел содержит настройки работы основного модуля EMS.
Название параметра | Описание |
---|---|
Язык интерфейса и системных сообщений | Выбор языка интерфейса, доступны русский и английский языки. |
Запретить отправлять трапы на ГУИ | Деактивация поступления обновлений. Пользователю придется пользоваться кновкой "Обновить". |
IP адрес EMS сервера в управляющей сети станций | IP-адрес интерфейса, с которого сервер EMS будет обращаться к точкам доступа. |
Каталог временных файлов | Адрес хранения временных файлов, создаваемых при работе сервера EMS. |
Tomcat URL | URL-адрес сервера EMS для доступа к нему из внешних сетей. Используется для скачивания данных с сервера на пользовательские ПК по протоколу HTTP. |
Внутренний TOMCAT URL | URL-адрес сервера EMS для доступа к нему из cети управления точками доступа. Используется для обновления прошивок точек доступа по протоколу HTTP. |
Каталог общих файлов | Каталог файлов, создаваемых EMS и требующих хранения, например шаблоны файлов конфигураций. |
Каталог временных файлов БД | Каталог для хранения временных фалойв, получаемых с БД, например, дампов или архивов, которые будут в последствии отправлены на другой сервер. |
Уровни логирования работы мониторов | Глобальная установка уровня логирования мониторов EMS сервера (задачи по расписанию). Доступные значения: DEBUG, INFO, WARN, SEVERE, ERROR, FATAL |
Дополнительные команды | Набор дополнительных команд. |
Посылать SNMP предзапрос 'Контроль доступности' | Выполнение проверки доступности устройства перед выполнением операций конфигурирования. |
Таймаут операции SNMP предзапроса | Время ожидания ответа от устройства при проверке доступности. |
Копировать принятые трапы в Syslog | Копирование всех принятых сообщений (SNMP trap) в Syslog. |
Сохранять дату автоматического закрытие в БД | Сохранение даты автоматического закрытия аварии в БД. Если False, дата проставляется только при ручном закрытии. |
Размер очереди для менеджера асинхронных задач | Максимальное количество одновременно выполняемых асинхронных задач. |
Время хранения записей в списке 'Задачи' | Максимальное время хранения задач, по истечению которого задачи из списка будут удалены. |
Активировать работу ICMP/SNMP пинга | Включение/выключение механизма опроса устройств в дереве объектов. |
Период опроса устройства (ICMP, SNMP ping) | Интервал опроса устройств в дереве объектов. При большом количестве устройств система может не успевать выполнить опрос всех устройств в указанное время, в этом случае при запуске сервера будет отображаться сообщение о необходимости увеличить интвервал. |
Флаги ping-утилиты при периодическом опросе устройства | Флаги ping-утилиты при периодическом опросе устройства, для построения графика доступности. |
Лимит по количеству устройств за 1 запуск ping-утилиты fping | Лимит по количеству устройств за 1 запуск ping-утилиты при периодическом опросе устройства, для постороения графика доступности. |
Размер пула обработчиков опроса доступности | Количество обработчиков, выполняющих опрос устройств в дереве. |
Период хранения результатов ICMP, SNMP запросов | Период опроса, который будет хранится в памяти EMS. Более старые данные будут удаляться. |
Таймаут проверки GUI сессии в состоянии 'Создана' | Время проверки сессии после загрузки апплета. |
Синхронизировать устройство после восстановления связи | Механизм автоматической синхронизации устройств в случае, если связь с ним была потеряна на длительное время (равное "Периоду, после которого запустится автосинхронизация"), а потом восстановлена. |
Конфигурация устройства после восстановления связи | Механизм, выполняющий конфигурирование устройства в соответствии с действующей привязкой инициализации. |
Период, после которого запустится автосинхронизация | Интервал времени между событиями потери и восстановления связи к объекту, при превышении которого запускается автоинициализация и конфигурирование. |
Режим ACS.GUI | Активация режима работы ACS. |
Применять генерацию пользовательских событий | Включение функционала, позволяющего создавать специальные аварии и события, на основе существующих триггеров. |
HTTP таймаут | Время ожидания ответа ответа на запросы по протоколу HTTP. |
Тип доступа к устройствам системы | Выбор механизма определения области видимости объектов системы для пользователей. При использовании доменной системы видимость объекта определяется по совпадению доменов пользователя и объекта. В системе по ролям зоны видимости по узлам в дереве объектов. |
Проверять хостнейм для всех устройств | Функция проверки hostname у устройств в дереве объектов. В случае если имя объекта в дереве не совпадает с hostname устройство помечается как аварийное. |
Токен для платного доступа к КЛАДР | Токен, используемый для платного доступа к системе КЛАДР (при отсутвии используется бесплатный доступ). |
Включить геоданные объектов | Дополнительные опции при инициализации точек доступа, включают в себя адрес инсталляции, ФИО сотрудника, номер заявки, географические координаты. |
Включить обязательность геоданных объектов | При создании привязок инициализации заполнение геоданных становится обязательным условием. |
Настройка геокодера | Выбор геокодера для определения географических координат. |
Ключ геокодера | Клдюч геокодера. |
Название параметра | Описание |
---|---|
Тип выборки обработчика трапов | Выбор типа выборки из выпадающего меню. |
Максимальный размер буфера IP адресов | Максимальное количество IP-адресов в буфере. |
Максимальный размер количества обработчиков трапов | Максимальное количество обработчиков трапов. |
Название параметра | Описание |
---|---|
Заголовок аплета | Отображается в заголовке окна. |
Скрывать панель "Задачи" | При запуске аплета панель с асинхронными задачами будет скрыта. |
Отображать кнопку "Помощь" рядом с параметром | Рядом с параметрами появляется дополнительная кнопка с кратким описанием. |
Сохранять значение фильтров поиска при выходе из вкладки | Сохранение фильтров на вкладках, например, на вкладке "Список устройств". |
Запоминать ранее выбранную вкладку при переходе к другому объекту | При переходе на устройство будет открыта последняя открытая вкладка для этого типа устройств. |
Открывать вкладку 'Активные аварии' при переходе на узел | При переходе на любой узел всегда открывается вкладка "Активные аварии". |
Приоритет аварий для сигнализации в дереве объектов | Уровень аварии на устройстве, достаточный чтобы попасть в список активных аварий. |
Модуль сохранения результатов мониторинга в кольцевую базу (RRD) | Включение/отключение модуля мониторинга RRD. |
Отображать количество записей в таблицах | Отображение счетчика числа записей в таблицах. Рекомендуется отключать в высоконагруженных системах. |
Приоритет аварии о проблемах при опросе доступности устройств | Авария генерируется при отсутвиии свободного обрабортчика доступности. |
Название параметра | Описание |
---|---|
Включить сервис | Активация сервиса. |
Включить стартовый трап системы EMS | Отправка специального трапа при старте сервера EMS. |
Тип отправляемого сообщения | Тип сообщения trap/inform. |
Адрес приемника | IP-адрес сервера, обрабатывающего сообщения от EMS. |
Порт приемника | Порт, прослушиваемый сервером-обработчиком. |
Количество повторов informv2 | Количество повторных отправок сообщений, если не пришло подтверждение о доставке. |
Таймаут повтора informv2 | Интвервал времени между повторными отправками. |
Системный OID, с которого отправляется трап | Информационное поле. |
Системный OID, означающий тип нотификации | Информационное поле. |
Включить транслитерацию | Конвертация русскоязычных символов в сообщении в лаитиницу. |
SNMP trap community | Имя сообщества. |
Список приоритетов отправляемых событий | Может принимать значения DEBUG, INFO, WARN, SEVERE, ERROR, FATAL. |
Отправка сообщений об авариях на почту по протоколу SMTP.
Название параметра | Описание |
---|---|
Включить сервис | Активация сервиса. |
Адрес сервера | IP-адрес SMTP-сервера. |
Порт сервера | Порт, прослушиваемый SMTР-сервером. |
Логин | Логин учетной записи для на SMTP-сервере. |
Пароль | Пароль от учетной записи на SMTP-сервере. |
Использование шифрования | Настройка типа шифрования, используемого почтовым сервером (без шифрования, STARTLS, SSL TLS). |
Имя сервера | Доменное имя SMTP-сервера. |
Первая строка содержимого письма | Информационное поле, содержит пример сообщения в письме. |
От кого (адрес отправителя) | Еmail пользователя. от имени которого отправляется сообщение. |
EMail адрес службы поддержки | Адрес техподдержки, который будет указан в конце письма для обратной связи. |
airtune
|
|
Название параметра | Описание |
---|---|
Максимальное время хранения информации о ТД | Время хранения информации. полученной при открытии вкладок конфигурации точки доступа. |
Путь к файлам статических IP адресов DHCP серверов | Путь к файлам статических IP адресов DHCP серверов, если несколько, они указываются через пробел. |
Автоматическая инициализация | Автоматическая инициализация точек доступа, от которых были получены трапы присутствия. Функция должна быть активна для автоматической обработке смены IP-адресов точками доступа. |
Удалять ТД из дерева при неудачной инициализации | При неплановом завершении инициализации ТД удалять ее из дерева устройств. |
Ключи привязок инициализации | Выбор ключей, по которым можно создавать привязки к устройствам. |
Разрешить установку SSID на WDS радиоканалы | По умолчанию функция выключена, т.к. настройка дополнительных SSID вместе с WDS снижает общую скорость передачи данных. |
Выключать SSID не имеющие привязки | При работе монитора проверки SSID на точках доступа будут выключаться все SSID, для которых не создана привязка к этой точке доступа в менеджере SSID. |
Собирать статистику по количеству пользователей | Активация функции сохранения данных о количестве активных пользователей на точках доступа при отрабатывании монитора синхронизации устройств. |
Собирать статистику загрузки uplink | Активация функции сохранения данных о максимальном количестве трафика, прошедщего через сетевой интерфейс eth0 на точках доступа. Расчитывается среднее количество трафика в единицу времени за последний интервал между двумя последними срабатываниями монитора 'Синхронизация устройств' - если расчитанное за интервал значение больше текущего максимального значения, то максимальное значение будет обновлено. |
Шаг отправки алерта AssociateClients, в сек. | Период отправки сообщений об ассоциации клиента. |
Запретить назначать WPA2 Personal на VAP, если не заполнены параметры для RADIUS accounting | Запрет назначения WPA2 Personal на VAP, если не заполнены параметры для RADIUS accounting. По умолчанию функция отключена. |
Период актуализации данных динамических туннелей, в сек. | Интервал времени включения задачи по актуализации данных динамических туннелей. |
Доступ к личному кабинету | |
Включен | Активация Личного Кабинета. |
URL Личного Кабинета | URL для перехода на сервис Личного Кабинета. |
Secret для POST запросов к Личному Кабинету | Секретный ключ для отправки запросов в Личный Кабинет. |
Timeout запросов к Личному Укибинету, сек | Интервал времени на отправку запросов к Личному Кабинуте, в секундах. |
Выключить проверку сертификатов | Выключение проверки сертификата при настройке подключения через HTTPS к Личному Кабинету. |
Настройки уведомлений смены паролей SSID | |
Включить уведомления смены паролей SSID | Активация функционала отправки уведомлений. |
E-mail адрес | Адрес для отправки уведомлений. |
Меню отображает информацию об активных пользователях системы.
Список текущих активных пользователей приведен в поле «Активные пользователи», для его обновления необходимо нажать кнопку «Обновить список».
В данном меню осуществляется принудительный перезапуск системы EMS. Для подтверждения необходимо указать пароль для вашей учетной записи в системе.
Настройка осуществляется из меню «Администрирование/Поведение графического интерфейса/Настройка цветовой схемы».
На рисунке приведены цвета для каждого типа аварии, установленные по умолчанию.
Для смены цветового маркера аварии необходимо щелкнуть кнопкой мыши на прямоугольнике требуемого уровня сообщения, откроется меню редактирования для данного типа аварии.
В нижней части каждой вкладки расположена область просмотра (Preview) – для визуальной оценки выбранного цветового решения.
Вкладка Swatches
Swatches – палитра образцов. Здесь возможно выбрать один из готовых цветов, представленных в палитре.
Вкладки HSV и HSL
|
Вкладка RGB
|
Вкладка CMYK
|
Для сохранения изменений необходимо нажать кнопку «ОК», для выхода из меню редактирования без сохранения изменений – «Cancel». Кнопка «Reset» позволяет отменить текущие изменения без выхода из меню редактирования.
По окончанию настройки цветовой гаммы аварий для вступления изменений в силу необходимо нажать кнопку «Принять», для выхода без сохранения изменений – кнопку «Отменить». По нажатию на кнопку «Default» выводятся цвета, установленные по умолчанию.
Настройка осуществляется из меню «Администрирование/Поведение графического интерфейса/Настройка звуковой схемы апплетов».
Включение/выключение звукового сигнала при поступлении каждого типа сообщения осуществляется в выпадающем меню.
По окончанию настройки звуковой схемы аварий для вступления изменений в силу необходимо нажать кнопку «Принять», для выхода без сохранения изменений – кнопку «Отменить». По нажатию на кнопку «Default» выводятся значения, установленные по умолчанию.
|
|
В данном меню осуществляется выгрузка файлов логов работы сервера EMS, captive portal:
/var/log/eltex-portal/debug_ep.txt
/var/log/eltex-portal/error_ep.txt
/var/log/eltex-portal/sms_ep.txt
/var/log/eltex-ems/black_box.txt
/var/log/eltex-ems/ems_error.txt
Файлы доступны по ссылке для скачивания архива в задаче.
Ниже приведено содержание архива.
Событиями в системе управления EMS являются:
События могут служить для следующих целей:
Все принятые события могут сохраняются в базу данных MySQL.
Исключения (т.е. указание не сохранять сообщения в БД) могут быть настроены через GUI (см. ниже).
Записи из БД отображаются на вкладках «Мониторинг/Журнал событий» индивидуально для каждого устройства.
Также в системе EMS доступно меню «События/Журнал событий», где можно просмотреть события для всех устройств и самого сервера EMS.
Все правила обработки сообщений изначально заданы разработчиками системы SoftWLC в конфигурационном файле TrapRules.xml и не предполагают вмешательства со стороны пользователя системы. |
Настройки, доступные для пользователя, выведены в GUI интерфейс (меню «Администрирование/Настройка сервера/Прием и обработка SNMP трапов») и хранятся в БД. Их значения переопределяют исходные значения, указанные в TrapRules.xml.
|
Автоматическая очистка аварий выполняется монитором «Экспорт журнала сообщений (alerts_archiving)».
Удаление событий выполняется по партициям (разбивка БД по дням).
Если в настройках монитора указана опция «enable_export», то перед удалением записи сохраняются в csv-файл.
Администратору SoftWLC доступны следующие настройки отображения аварий в меню «Администрирование/Поведение графического интерфейса»:
В настройке звуковой схемы отображаются только те приоритеты, которые отображаются в «Активных событиях». По принятой договоренности события INFO и CLEAR в «Активных событиях» не отображаются, так как не могут быть удалены оттуда.
При настройке звука доступны следующие опции:
Все звуки могут быть прослушаны в диалоге настройки с помощью кнопки с изображением динамика.
Звуки приоритетов назначены разработчиками системы, загрузка своих мелодий, индивидуальная настройка звуков для отдельных аварий системой не предусмотрена.
Все события, приоритет которых выше чем INFO, попадают в «Активные аварии».
Активные аварии – это динамический список событий, который существует только в оперативной памяти системы. С базой данных он никак не связан.
При получении аварии (например, OID1, Критическая нагрузка на канал №3), в «Активные аварии» попадает авария уровня MAJOR. В случае повторного получения аварийного события система обновит дату приема сообщения, чтобы событие переместилось вверх в таблице при постоянной сортировке по времени. Дату получения первого аварийного сообщения можно будет установить по параметру «Время возникновения». Ключом к установлению уникального события является комбинация ID устройства в дереве, OID сообщения и значимых параметров. Значимым параметром в указанном примере является номер канала. Конфигурация TrapRules.xml позволяет назначить связь между OK-событием и аварией. Это значит, что в правило обработки OID2 (нагрузка на канал в норме) включен параметр NormalizesOID. По комбинации ID устройства, NormalizesOID и значимых параметров система EMS находит активную аварию OID1 и удаляет ее из списка «Активных событий». Этот процесс в системе EMS называется нормализацией. В БД («Журнал событий») в этом случае попадает запись уровня CLEAR, где сообщается, что критической нагрузки на канал №3 больше нет. Записи, полученные при приеме аварийных сообщений, в БД никак не модифицируются (иначе это была бы бессмысленная нагрузка на БД). Время возникновения и устранения аварии устанавливается по времени записи аварийного и активного события в БД.
«Журнал событий» - это непрерывная лента событий в системе EMS, куда последовательно записываются все события для устройств сети и самой системы. «Активные аварии» - виртуальный список событий, количество записей в котором при нормальной работе сети должно стремиться к нулю.
Вкладка «Активные аварии» обновляется автоматически на основе данных, постоянно присылаемых сервером в GUI пользователя.
Отключить автообновление можно, сняв флаг «Автообновление» на вкладке.
Фильтр на вкладке «Активные аварии» позволяет отобразить часть записей по определенному условию: присутствие всех перечисленных слов (разделенных пробелом) в строке таблицы (вне зависимости от колонки), присутствие хотя бы одного из перечисленных слов в строке таблицы (если стоит галочка ИЛИ).
Также «Активные аварии» отвечают за включение Сигнализации. Каждый раз при обновлении списка «Активных с аварий» GUI проверяет обновленный список на предмет наличия в нем аварии, на приоритете которой включена звуковая сигнализация. Если такая авария присутствует, включается звуковое оповещение. Сигнализацию можно остановить (когда оператор занялся проблемой) с помощью кнопки «Выключить» на вкладке «Активные аварии». Однако при следующем получении аварийного сообщения от устройства сигнализация будет включена повторно.
Для информирования пользователя об активной сигнализации в меню «События» (верхний правый угол конфигуратора) текст подсвечивается красным, и при наведении указателя мыши в подсказке можно увидеть источник и текст аварии, которая стала причиной включения сигнализации в этот раз.
Для «Активных аварий» доступно редактирование статуса.
При переводе события в состояние «В обработке» в БД для данного события отмечается дата обработки и пользователь-обработчик.
При переводе в состояние «Закрыто» в БД для данного события отмечается дата закрытия и пользователь, закрывший аварию. При переводе в состояние «Закрыто» авария пропадает из списка «Активных аварий».
Также доступно массовое удаление записей из «Активных аварий». Для этого существует меню правой кнопки мыши «Удалить все активные события для устройства или узла». В открывшемся диалоге пользователю нужно выбрать: очистить ли все аварии для устройства, на котором возникла выделенная авария, или очистить все аварии для всех устройств узла, где находится устройство.
Статистика «Активных аварий» отображается в верхнем правом углу и показывается число аварий на устройстве, на котором работает пользователь, или на узле, если оператор работает с вкладками узла.
В меню «События/Статистика активных аварий» можно увидеть данных о числе аварий по приоритетам по всем устройствам сети.
Записи вкладки «Журнал событий» можно сохранить в файл.
Для этого существуют две кнопки:
Журнал «Syslog» служит для сбора syslog-сообщений с устройств сети.
Для этого на хосте системы работает rsyslog, модуль которого, rsyslog-mysql, позволяет сохранять все полученные по сети сообщения в базу данных для последующей обработки.
Для записей таблицы Syslog доступны операции экспорта и сохранения, работа которых полностью аналогична их работе с авариями.
Подсистема опроса доступа устройств. Принцип генерации аварии недоступного устройства
Важным компонентом системы EMS является «Опрос доступности устройств».
Включается в настройках модулей системы (меню «Администрирование/Настройка сервера/Системные модули») в модуле system «Опрос доступности (ICMP, SNMP ping)».
Опрос доступности выполняется по протоколу ICMP и SNMP и позволяется оперативно информировать пользователя о нарушении связи с устройством в целом или о наличии проблем в работе SNMP-протокола.
Для опроса доступности по SNMP выполняется GET запрос на OID 1.3.6.1.2.1.1.3.0 (SNMPv2-MIB::sysUpTime.0).
Статистика по времени получения ответа может быть получена на вкладке «Мониторинг/Статистика ICMP», «Статистика SNMP» для каждого устройства индивидуально в виде графика.
Также подсистема опроса доступности отвечает за генерацию системной аварий «Потеря связи» и ОК-события «Восстановление связи».
К восстановлению связи может быть привязана синхронизация устройства (реализовано для LTP, MA4000, WEP, WOP). Функция увеличивает нагрузку на SNMP на устройстве и потому включается при необходимости в настройках модулей системы в модуле system «Синхронизировать устройство после восстановления связи по SNMP».
Просмотр и управление режимом резервирования в GUI осуществляется через диалог пункта меню «Информация/Состояние системы резервирования» главного меню апплета.
Контроль состояния системы резервирования Keepalived в GUI осуществляется в меню «Информация/ Состояние системы резервирования».
|
В диалоге по нажатию на кнопку «Статистика» отображается текущая конфигурация и состояние выбранного виртуального или реального сервера.
|
|
Проверка системы резервирования осуществляется после настройки всех вышеперечисленных служб: mysql, rsync, keepalived и заполнения конфигурационных файлов всех сопутствующих скриптов.
Требуется проверить корректность обработки следующих ситуаций:
Необходимо проверить поведение системы как при аварийной ситуации, так и при восстановлении (связи, питания, служб и т. д.).
Необходимо убедиться в следующем:
Для контроля используются:
Программный комплекс SoftWLC состоит из серверной и клиентской части. Клиентская часть (GUI) выполняется на ПК пользователя в браузере. Серверная часть (Server) функционирует на отдельном сервере (или паре серверов в варианте с резервированием). Для обеспечения непрерывной работы на сервере используется механизм самоконтроля, сторожевой таймер (контрольный таймер, англ. Watchdog). Задачей данного механизма является периодический опрос сервера с целью определения работоспособного состояния. В случае, когда сторожевой таймер определяет, что сервер недоступен, выполняется попытка принудительного перезапуска основной службы eltex-ems, и в случае необходимости – вспомогательного WEB-сервера tomcat6.
Механизм контроля основан на опросе одного из интерфейсов сервера, предназначенного для межмашинного взаимодействия: http web service. Данный интерфейс предназначен для общения между службами eltex-ems в варианте с резервированием серверов, а также может использоваться для самодиагностики, для фиксации выдачи DHCP-адресов (в варианте с модифицированным сервером dhcpd-eltex), для получения списка OLT, получения версии сервера в консольном режиме и прочего служебного обмена.
Технологически самоконтроль реализован в виде скрипта, который периодически запускает операционная система Linux в рамках собственной службы cron. Скрипт находится в файле:
/usr/lib/eltex-ems/scripts/check_ems_srv.sh |
В службе cron поведение регулируется файлом:
/etc/cron.d/ems-backup |
Запись в файле:
*/5 * * * * root /usr/lib/eltex-ems/scripts/check_ems_srv.sh |
Алгоритмконтроля:
Механизм самоконтроля системы намеренно реализован таким образом, чтобы было задействовано как ядро системы eltex-ems (сервер обмена с устройствами), так и WEB-сервер tomcat6, который реализует три функции:
Обеспечение работы Northbound по протоколу SOAP/XML.|
Во время работы скрипт сторожевого таймера журналирует состояние системы и статус ответов сервера в файл:/var/log/eltex-ems/check/ems-check.<current-date>.txt
В файле содержатся записи следующего вида:
----------------------------- (START) ------------------------------ 14-06-2017 15:45:01: System information: 14-06-2017 15:45:01: Linux ubuntu 4.4.0-78-generic #99~14.04.2-Ubuntu SMP Thu Apr 27 18:49:46 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 14-06-2017 15:45:01: java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode) 14-06-2017 15:45:01: LoadAverage info 14-06-2017 15:45:01: 1min 5min 15min 14-06-2017 15:45:01: 0.01 0.04 0.03 1/571 4244 14-06-2017 15:45:01: RAM MemFree: 91596 kB Disk info Disk Size Used Available Used % Mount /dev/sda1 15G 11G 3,1G 79% / 14-06-2017 15:45:01: EMS status: Eltex.EMS Server is running with pid 30258 14-06-2017 15:45:01: Tomcat status: * Tomcat servlet engine is running with pid 30891 14-06-2017 15:45:01: ports (9310, 9340, 8080) status: tcp6 0 0 :::9310 :::* LISTEN 30260/java tcp 0 1 192.168.15.106:33608 192.168.26.201:8080 SYN_SENT 4216/curl tcp6 0 0 :::8080 :::* LISTEN 30891/java 14-06-2017: Northbound is working 14-06-2017: EMS and Northbound are working |
Журналирование для каждой даты ведётся в отдельных файлах, ротация производится согласно общим настройкам SoftWLC (настройки монитора архивирования и очистки журналов).
По записям возможно восстановить дату и время принудительного перезапуска служб, а также состояние системы во время контроля: загрузка процессора, использование памяти, количество свободного места на жёстких дисках. Если сервер недоступен, в журнал будет выведена трассировка ошибки, указывающая на источник проблемы.
В случае, если служба eltex-ems намеренно остановлена командой:
sudo service eltex-ems stop |
Скрипт самодиагностики не производит принудительный запуск службы.
В случае запуска скрипта в консоли пользователь увидит запись:
EMS service disabled. No checks will be performed. |
Ручной запуск скрипта можно выполнить с правами суперпользователя:
sudo /usr/lib/eltex-ems/scripts/check_ems_srv.sh |
Контроль доступности сервера SoftWLC из консоли без использования скрипта можно выполнить командой:
curl -shttp://localhost:8080/northbound/getVersion |
В ответ работоспособный сервер вернёт xml-сообщение с версией ПО.
$ curl -s http://localhost:8080/northbound/getVersion |
В инсталляциях с резервированием серверов данный механизм используется и для определения доступности сервера при распределении ролей Master и Backup между двумя и более физическими хостами. |
OID | Тип | Описание |
1.3.6.1.4.1.2021.10.1.3.1 | OctetString | Load average 1 минута |
1.3.6.1.4.1.2021.10.1.3.2 | OctetString | Load average 5 минут |
1.3.6.1.4.1.2021.10.1.3.3 | OctetString | Load average 15 минут |
1.3.6.1.4.1.2021.4.6.0 | Integer | ОЗУ, свободно, в Кбайт |
1.3.6.1.4.1.2021.4.5.0 | Integer | ОЗУ, всего, в Кбайт |
1.3.6.1.4.1.2021.4.4. | Integer | Swap свободно, в Кбайт |
1.3.6.1.4.1.2021.4.3.0 | Integer | Swap всего, в Кбайт |
1.3.6.1.2.1.25.2.3.1.5.31 | Integer | Полный размер корневой файловой системы сервера, в блоках (см. ниже) |
1.3.6.1.2.1.25.2.3.1.6.31 | Integer | Объём занятого дискового пространства корневой файловой системы сервера, в блоках (см. ниже) |
1.3.6.1.2.1.25.2.3.1.4.31 | Integer | Размер блоков, в которых измеряется объём дисков сервера |
1.3.6.1.4.1.9586.100.5.2.3.1.4.1 | Integer | Роль сервера в системе резервирования. Возможные значения: |
Мониторинг дисковой подсистемы выполняется с помощью таблицы hrStorageTable (1.3.6.1.2.1.25.2.3) из MIB Host Resources (RFC1514).
Таблица имеет следующую структуру:
HrStorageEntry ::= SEQUENCE { hrStorageIndex INTEGER, hrStorageType OBJECT IDENTIFIER, hrStorageDescr DisplayString, hrStorageAllocationUnits INTEGER, hrStorageSize INTEGER, hrStorageUsed INTEGER, hrStorageAllocationFailures Counter } |
Каждая запись в таблице описывает один ресурс сервера. Это может быть, например, ОЗУ или дисковый накопитель.
Для каждой записи указывается:
hrStorageDescr
— название ресурса, например «Swap space» или «/» - корневая файловая система;hrStorageAllocationUnits
— размерность единиц измерения, в которых указываются размеры дисков и количество занятого пространства. Иными словами — количество байтов в блоке;hrStorageSize
— полный размер ресурса (в блоках);hrStorageUsed
— объём занятого пространства ресурса (в блоках).При работе в условиях системы резервирования мониторинг параметров серверов необходимо выполнять по реальным IP-адресам.