Имя: Пароль:
1C
 
Удалить сеансы ИБ по RAS, сервер 1с на Linux.
0 spiller26
 
22.08.18
10:12
Платформа 8.3.10.2252
Сервер 1с на Linux, делаю обработку удаления сеансов (в последствии регламентное задание), но натыкаюсь на ошибку:
"error of administration operation cluster administrator is not authenticated".

&НаСервере
Процедура НайтиИУничтожитьСеансыНаСервере()

    КлиентскиеПриложения = Новый Массив;
    КлиентскиеПриложения.Добавить(ВРег("1CV8")); //толстый клиент
    КлиентскиеПриложения.Добавить(ВРег("1CV8C")); //тонкий клиент
    КлиентскиеПриложения.Добавить(ВРег("WebClient")); //web-клиент
    КлиентскиеПриложения.Добавить(ВРег("COMConnection")); //внешнее соединение 1С:Предприятия через COM
    КлиентскиеПриложения.Добавить(ВРег("WSConnection")); //web-сервис
    //КлиентскиеПриложения.Добавить(ВРег("BackgroundJob")); //обработк заданий
    //КлиентскиеПриложения.Добавить(ВРег("SrvrConsole")); //консоль кластера
    //КлиентскиеПриложения.Добавить(ВРег("COMConsole")); //администрирование сессии внешнего соединения
    //КлиентскиеПриложения.Добавить(ВРег("JobScheduler")); //планировщик заданий
    //КлиентскиеПриложения.Добавить(ВРег("Designer")); //конфигуратор / отладка
    
    СеансыИнформационнойБазы = ПолучитьСеансыИнформационнойБазы();
    НомераСеансов = Новый Массив;
    Для Каждого СеансИБ Из СеансыИнформационнойБазы Цикл
        Если КлиентскиеПриложения.Найти(ВРег(СеансИБ.ИмяПриложения)) <> Неопределено Тогда
            Если СеансИБ.НачалоСеанса < НачалоДня(ТекущаяДата()) Тогда
                НомераСеансов.Добавить(СеансИБ.НомерСеанса);
            КонецЕсли;    
        КонецЕсли;    
    КонецЦикла;    
    
    Если НомераСеансов.Количество() > 0 Тогда
        
        //Для COM
        //ПараметрыАдминистрирования = Новый Структура();
        //ПараметрыАдминистрирования.Вставить("ТипПодключения", "COM"); // "COM" или "RAS"
        //ПараметрыАдминистрирования.АдресАгентаСервера = "xxx.xxx.xxx.xxx";
        //ПараметрыАдминистрирования.ПортАгентаСервера = 1540; //по умолчанию в 1С используется 1540
        //Для RAS
        ПараметрыАдминистрирования = Новый Структура();
        ПараметрыАдминистрирования.Вставить("ТипПодключения", "RAS"); // "COM" или "RAS"
        ПараметрыАдминистрирования.Вставить("АдресСервераАдминистрирования", "xxx.xxx.xxx.xxx");
        ПараметрыАдминистрирования.Вставить("ПортСервераАдминистрирования", 1545);
        //общее
        ПараметрыАдминистрирования.Вставить("ПортКластера", 1541); //по умолчанию в 1С используется 1541
        ПараметрыАдминистрирования.Вставить("ИмяАдминистратораКластера", "SupUser");
        ПараметрыАдминистрирования.Вставить("ПарольАдминистратораКластера", "xxxx");
        
        ПараметрыАдминистрированияИБ = АдминистрированиеКластераКлиентСервер.ПараметрыАдминистрированияИнформационнойБазыКластера();
        ПараметрыАдминистрированияИБ.ИмяВКластере = "DocMsg";
        ПараметрыАдминистрированияИБ.ИмяАдминистратораИнформационнойБазы = "SupUser";
        ПараметрыАдминистрированияИБ.ПарольАдминистратораИнформационнойБазы = "xxxx";

        СтруктураСеанса = Новый Структура;
        СтруктураСеанса.Вставить("Свойство", "Номер");
        СтруктураСеанса.Вставить("ВидСравнения", ВидСравнения.ВСписке);
        СтруктураСеанса.Вставить("Значение", НомераСеансов);
        Фильтр = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(СтруктураСеанса);

        АдминистрированиеКластераКлиентСервер.УдалитьСеансыИнформационнойБазы(ПараметрыАдминистрирования, ПараметрыАдминистрированияИБ, Фильтр);

    КонецЕсли;    

КонецПроцедуры
1 Cyberhawk
 
22.08.18
10:16
Ну, что в тексте ошибке тебе не понятно?
2 Cyberhawk
 
22.08.18
10:16
*ошибки
3 Фрэнки
 
22.08.18
10:29
судя по всему, в коде самого БСП подразумевается, что
вот эта процедура

Процедура УдалитьСеансыИнформационнойБазы(Знач ПараметрыАдминистрированияКластера, Знач ПараметрыАдминистрированияИБ = Неопределено, Знач Фильтр = Неопределено) Экспорт

не станет перезаписывать в структуре первого параметра значения полей через вызов конструктора

Функция ПараметрыАдминистрированияКластера() Экспорт

Другими словами, отладчиком ищи, что там не так записано.
4 spiller26
 
22.08.18
10:41
(3) Скорее всего идентификатор кластера не тот.
5 Фрэнки
 
22.08.18
10:45
(4) А в какой версии БСП это все происходит?
6 spiller26
 
22.08.18
10:49
(5) Мучую в Бухгалтерии 3.0.63.2252

Консоль
sudo "/opt/1C/v8.3/x86_64/rac" xxx.xxx.xxx.xxx:1545 cluster list

cluster                       : 5b792642-8a4e-11e8-ba95-ea109289f9c0
host                          : 1c
port                          : 1541
name                          : "Local cluster"
expiration-timeout            : 30
lifetime-limit                : 86400
max-memory-size               : 3000000
max-memory-time-limit         : 90
security-level                : 0
session-fault-tolerance-level : 0
load-balancing-mode           : performance
errors-count-threshold        : 0
kill-problem-processes        : 1
7 Фрэнки
 
22.08.18
10:55
Посмотрел сам по ИТС - начиная с 2.3 и до самой новой все написано в БСП в этом коде ПараметрыАдминистрированияКластера одинаково.

В типовая БП 3 , если я не перепутал ничего то это 2.4.4 - но там все в этих параметрах должно быть одинаково, повторяюсь. Имхо, только отладчиком сможешь увидеть в чем проблема.
8 spiller26
 
22.08.18
11:01
Всё вроде нашел падает на этом моменте, не нравиться ему user

sudo "/opt/1C/v8.3/x86_64/rac" xxx.xxx.xxx.xxx:1545 infobase summary --cluster="5b792642-8a4e-11e8-ba95-ea109289f9c0" --cluster-user=SupUser --cluster-pwd=xxxx list

Error of administration operation
Cluster administrator is not authenticated
9 spiller26
 
22.08.18
11:08
(8) Завел в кластере Администратора "SupUser", всё пошло.

"/opt/1C/v8.3/x86_64/rac" xxx.xxx.xxx.xxx:1545 infobase summary --cluster="5b792642-8a4e-11e8-ba95-ea109289f9c0" --cluster-user=SupUser --cluster-pwd=xxxx list
infobase : ee3ddd74-8a4e-11e8-739d-ea109289f9c0
name     : Base1
descr    : "База1"

infobase : 6926319e-8a4f-11e8-739d-ea109289f9c0
name     : Base2
descr    : "База2"

.......
и т.д.
10 Фрэнки
 
22.08.18
11:13
т.е. в документации на платформу не учтен тот момент, что когда на кластере не заведен явным образом SupUser , сам кластер создает подобие такого юзера сам, но на этого юзера уже не получается ссылаться, т.к. пароль у него не пойми какой
11 Cyberhawk
 
22.08.18
11:17
(10) "сам кластер создает подобие такого юзера сам, но на этого юзера уже не получается ссылаться, т.к. пароль у него не пойми какой" // Откуда инфа про какого-то "неявного администратора кластера"?
12 spiller26
 
22.08.18
11:35
Спасибо всем удачи с Linux системами. Уже делаю регламентное задание.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс