Coder Social home page Coder Social logo

arkuznetsov / iracli Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 3.0 204 KB

Приложение oscript для взаимодействия с сервисом администрирования 1С

License: Mozilla Public License 2.0

1C Enterprise 100.00%
1c 1c-enterprise bsl cli onescript oscript rac ras hacktoberfest

iracli's Introduction

GitHub release GitHub license Build Status Quality Gate Coverage Tech debt

Checked by Silver Bulleters SonarQube BSL plugin

Comand line interface for RAC

Приложение oscript для взаимодействия с сервисом администрирования 1С

Требования

Требуются следующие библиотеки и инструменты:

Команды

  • <тип объектов> list - список объектов
  • <тип объектов> get - данные объекта по указанному пути
  • counter <тип объектов> - значения счетчиков для <тип объектов>
  • counter list - список доступных счетчиков
  • counter <тип объектов> list - список доступных счетчиков для <тип объектов>
  • dump - запись состояния кластера в файл

Используемые типы объектов (<тип объектов>)

  • cluster - информация о кластерах
  • server - информация о рабочих серверах
  • process - информация о рабочих процессах
  • infobase - информация об информационных базах
  • session - информация о сеансах
  • connection - информация о соединениях

Доступные параметры команд

Доступные параметры команды получения списка объектов кластера (<тип объектов> list)

  • --field <имена полей> - имена полей запрашиваемого типа объекта, которые попадут в результат, имена полей разделяются запятыми (--field _all - попадут все поля)
  • --filter <имя поля>_<операция сравнения>=<значение поля> - условие <операция сравнения> (фильтр) по значению полей <имя поля>, условия разделяются запятыми
  • --order <имена полей> - сортировка по значениям полей, имена полей разделяются запятыми
  • --top <количество> - отбор <количество> первых объектов с учетом порядка сортировки --order

Доступные параметры команды получения данных объекта (<тип объектов> get)

  • --id <GUID или метка объекта> - идентификатор объекта (GUID) или метка объекта
  • --field - имена полей запрашиваемого объекта, которые попадут в результат (--field _all - попадут все поля)
  • --property <имя поля> - выводимое свойство объекта
  • --format <формат> - формат вывода результата (json|prometheus|plain)

Доступные поля запроса счетчиков (counter <тип объектов>)

  • --counter <имя поля счетчика> - имя поля объекта из которого получается значение счетчика, если не указано, то получаются значения всех полей счетчика
  • --dim <имена полей> - имя измерения счетчика по которым выполняется свертка значения счетчика (dim _all - попадут все измерения счетчика)
  • --filter <имя поля>_<операция сравнения>=<значение поля> - условие <операция сравнения> (фильтр) по значению полей <имя поля>, условия разделяются запятыми
  • --top <количество> - отбор <количество> первых значений счетчика с максимальным значением
  • --aggregate <агрегатная функция> - агрегатная функция свертки значений счетчика
  • --format - формат вывода результата (json|prometheus|plain)

Формат меток типов объектов кластера (<метка объекта>)

  • cluster - <адрес сервера>:<порт сервера>
  • server - <адрес агента>:<порт агента>
  • process - <адрес агента>:<порт процесса>
  • infobase - <имя информационной базы>
  • session - <имя информационной базы>:<номер сеанса>
  • connection - <адрес агента>:<порт процесса>:<номер соединения или имя приложения для соединений с conn-id = 0>

Доступные операции сравнения фильтров (<операция сравнения>)

  • eq - равно (может не указываться), для строк выполняется без учета регистра
  • neq - не равно, для строк выполняется без учета регистра
  • gt - больше
  • gte - больше или равно
  • lt - меньше
  • lte - меньше или равно

Доступные агрегатные функции свертки значений счетчиков (<агрегатная функция>)

  • count - количество значений счетчика
  • distinct - количество различных значений счетчика
  • sum - сумма значений счетчика
  • min - минимальное значение счетчика
  • max - максимальное значение счетчика
  • avg - среднее значение счетчика

Доступные форматы

  • json - (по умолчанию) JSON-текст собственной структуры
  • prometheus - формат Prometheus
  • plain - плоский текстовый формат без указания значений измерений

Примеры комманд:

Получение списка кластеров


iracli cluster list

Серверы

Получение списка серверов


iracli server list

Информационные базы

Получение списка ИБ


iracli infobase list

Сеансы

Получение списка сеансов


iracli session list

Счетчики

Получение списка счетчиков


 iracli counter list

Получение всех счетчиков сеансов

Развернуто по всем измерениям


iracli counter session

или

iracli counter session --dim _all

В формате Prometheus


iracli counter session --format prometheus

Свернуто по всем измерениям

Агрегатная функция по умолчанию (count)


iracli counter session --dim _no

Агрегатная функция СУММА (sum)


iracli counter session --dim _no aggregate sum

Получение конкретного счетчика сеансов

Развернуто по всем измерениям


iracli counter session count --dim _all

С отбором по типу клиента


iracli counter session count --filter app-id_eq=Designer

Свернуто по хосту и ИБ

Агрегатная функция СУММА (sum)


iracli counter session count --dim host,infobase --aggregate sum

iracli's People

Contributors

arkuznetsov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

iracli's Issues

Не работает свежесобранное приложение lib\iracli\src\Модули\ПараметрыПриложения.os / Ошибка в строке: 16,0 / Библиотека не найдена: '../../config'}

Версия (коммит) 3ce6ed7
При сборке (opm build) и установке (opm i iracli-0.6.0.ospx ) в библиотеки не попадает папка iracli\config
После чего запуск падает с

C:\GIT_REPO\iracli>iracli.bat /?
{Модуль C:\soft\OneScript\lib\iracli\src\Модули\ПараметрыПриложения.os / Ошибка в строке: 16,0 / Библиотека не найдена: '../../config'}

Что тут ошибка - сборка забыла папку или приложение должно работать без папки - не знаю.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.