GithubHelp home page GithubHelp logo

kulpin74 / zabbix-1c Goto Github PK

View Code? Open in Web Editor NEW
20.0 20.0 9.0 5.28 MB

Monitoring session 1C Enterprise using Zabbix

License: GNU General Public License v3.0

Python 100.00%
1c-enterprise python rac zabbix zabbix-1c zabbix-templates

zabbix-1c's People

Contributors

castorsky avatar kulpin74 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

zabbix-1c's Issues

Вычисляемое значение

День добрый!
Не подскажите, как записать "формулу" вычисляемого значения числа работающих в кластере пользователей, как сумму последних значений клиентов (тонкий + толстый + web) ?
У нас Web до 80 сессий в рабочий день.
Попробовал по описанию - вместо значений получаю ошибку, в которой видно, что берется не числовое значение ключа, а его ID.

Периодически всплавает проблема с нехваткой ключей, хотелось бы иметь возможность повесить триггер на пороговое и критическое значение.

По графикам не совсем удобно смотреть получается, да и триггеры вешать надо на сумму пользователей, без разбивки на типы.
image

p.s. не посоветуете монитор ключей 1С, который Вы считаете работоспособным? используем 2х100 программных + 1х100 аппаратный, хочется тоже повесить триггер на их утилизацию.

Cannot parse as a valid JSON object

Invalid discovery rule value: cannot parse as a valid JSON object: invalid object format, expected opening character '{' or '[' at: 'Traceback (most recent call last):
File "C:\Program Files\Zabbix Agent\scripts\ib_list.py", line 21, in
cluster_res = subprocess.check

Debian + 8.3.22.1750 - не работает опрос

На сервер 1С баз пока нет

В логах zabbix-сервера ошибка:
"discovery rule "1c-server:1cEnt.infobases" became not supported: Invalid discovery rule value: cannot parse as a valid JSON object: invalid object format, expected opening character '{' or '[' at: 'Traceback (most recent call last):
File "/etc/zabbix/scripts/ib_list.py", line 36, in
ib_list.append({**get_dict_from_string(ib),
File"

На сервере 1С
#python3 /etc/zabbix/scripts/ib_list.py
Traceback (most recent call last):
File "/etc/zabbix/scripts/ib_list.py", line 36, in
ib_list.append({**get_dict_from_string(ib),
File "/etc/zabbix/scripts/ib_list.py", line 16, in get_dict_from_string
key, value = i.split(':', 1)
ValueError: not enough values to unpack (expected 2, got 1)

Система (виртуальная машина)
Linux 1c-server 5.10.0-20-amd64 #1 SMP Debian 5.10.158-2 (2022-12-13) x86_64

1С сервер
[email protected] - 1C:Enterprise Server 8.3 (8.3.22.1750) (default)
Loaded: loaded (/opt/1cv8/x86_64/8.3.22.1750/[email protected]; enabled; vendor preset: ena>
Active: active (running) since Wed 2023-03-01 13:53:27 MSK; 7min ago

RAS
ras.service - RAS
Loaded: loaded (/etc/systemd/system/ras.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-03-01 13:53:30 MSK; 8min ago

Zabbix-agent
zabbix-agent.service - Zabbix Agent
Loaded: loaded (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2023-03-01 13:53:30 MSK; 8min ago

При установке хотя бы одной базы все работает.

Хорошо бы сделать внятную реакцию на отсутствие баз на сервере

Скрипт

Здравствуйте!
Подскажите пожалуйста, куда необходимо скопировать скрипты и файл конфигурации?
"необходимо положить файлы *.py из каталога scripts и файл конфигурации 1c_zabbix.conf."
агент у меня установлен -C:\Program Files\Zabbix Agent\

Нет некоторых данных

Добрый день! Подскажите в Графиках Infobase data нет данных по Data и Blocked objects by DMS. Возможно я снова где-то что-то упустил?
Снимок экрана от 2021-04-20 10-24-51

python script cannot run

I`ve installed on Windows server 2012 R2 with Python python-3.10.2-amd64
trying to run first script ib_list.py
RAS is fine, checked with RAC cluster info

Python 3.10.2 (tags/v3.10.2:a58ebcc, Jan 17 2022, 14:12:15) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.

===================== RESTART: C:\zabbix\scripts\ib_list.py ====================
Traceback (most recent call last):
File "C:\zabbix\scripts\ib_list.py", line 21, in
cluster_res = subprocess.check_output(['rac', 'cluster', 'list']).decode(C_PAGE).strip()
File "C:\Program Files\python37\lib\subprocess.py", line 420, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "C:\Program Files\python37\lib\subprocess.py", line 501, in run
with Popen(*popenargs, **kwargs) as process:
File "C:\Program Files\python37\lib\subprocess.py", line 966, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Program Files\python37\lib\subprocess.py", line 1435, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified

Value should be a JSON object

День добрый!
Проверка работоспособность py-запроса (запуск из папки c:\zabbix\scripts)
Время выполнения скриптов - менее 3 секунд для списка баз, менее 2 сек для подключений

sess.txt
list.txt

На всякий случай -
Агент 3,2,0,10000
лог в режиме дебага
zabbix_agentd.log
конфиг ZABBIX-агента
zabbix_agentd.zip

Скрипт ib_list.py не выполняется

Добрый день!
Спасибо за вашу работу.
у нас немного иная ситуация: кластеров два, но они разнесены на разные службы, слушаются на разных портах: 1540 и 2540
Установил 2 службы RAS, которые смотрят на разные порты и обращение RAC к RAS тоже на портах 1545 и 2545.
Каким образом можно доработать скрипт, чтобы он работал?

Ошибка Invalid discovery rule value: cannot parse as a valid JSON object:

Сервер Zabbix 5.0.25 LTS
Клиент 5.10.0-13-amd64 #1 SMP Debian 5.10.106-1 (2022-03-17) x86_64 GNU/Linux
1C 8.3.20.1914/Postgres 14

Два идентичных сервера1С, настроены одинаково, версии софта одинаковые

На одном мониторинг заработал корректно, на втором Zabbix сервер выдает ошибку у Discovery rule

"Invalid discovery rule value: cannot parse as a valid JSON object: invalid object format, expected opening character '{' or '[' at: 'Traceback (most recent call last):
File "/etc/zabbix/scripts/ib_list.py", line 21, in
cluster_res = subprocess.check_output(['rac', 'clu"

Удаление и создание хоста заново не помогают

ib_list.py возвращает ошибку при наличии 2 кластеров на сервере

Доброго времени суток!

Если будет минутка, прошу Вашей помощи

Для тестирования необходимо было создать второй кластер на сервере. Программеры прикрутили.
В итоге статистика перестала работать.

Тестирование при ручном запуске ib_list.py показало:

C:\zabbix\scripts>ib_list.py
Traceback (most recent call last):
  File "C:\zabbix\scripts\ib_list.py", line 13, in <module>
    cluster = getDictFromString(cluster_res)
  File "C:\zabbix\scripts\ib_list.py", line 8, in getDictFromString
    dict_el = {**dict_el, **dict([[j.strip() for j in i.split(' :')]])}
ValueError: dictionary update sequence element #0 has length 1; 2 is required

Запустил руками RAC:

C:\zabbix\scripts>rac cluster list
cluster                       : d0e04812-1022-4664-8575-3552e1aecd37
host                          : APP-1C02
port                          : 1541
name                          : "Локальный кластер"
expiration-timeout            : 60
lifetime-limit                : 8600
max-memory-size               : 20971520
max-memory-time-limit         : 30
security-level                : 0
session-fault-tolerance-level : 0
load-balancing-mode           : performance
errors-count-threshold        : 0
kill-problem-processes        : 0

cluster                       : e0307b33-a0e0-4921-80e5-5fe199bfc9e7
host                          : app-1c02
port                          : 1741
name                          : "Кластер Гилева"
expiration-timeout            : 30
lifetime-limit                : 8600
max-memory-size               : 4194304
max-memory-time-limit         : 0
security-level                : 0
session-fault-tolerance-level : 0
load-balancing-mode           : memory
errors-count-threshold        : 0
kill-problem-processes        : 0

т.е. получаю 2 ID кластера, что и вызывает ошибку

Запрос RAC по ID вручную отрабатывает нормально, получаю то, что нужно:

C:\zabbix\scripts>rac infobase --cluster=d0e04812-1022-4664-8575-3552e1aecd37 summary list
infobase : 535d5611-5737-42c1-8c9b-487099a06f13
name     : pivzavoz_new
descr    : "pivzavoz_new"

Вопрос/просьба - можно ли ограничить работу функции getDictFromString(txtBlock) первым найденным значением?
Или же - как его указать "в лоб" в скрипте, в случае подобного "нешаблонного" применения?

Насколько понимаю, необходимо указать значение cluster вручную, т.е. убрать вызов функции в строке
cluster = getDictFromString(cluster_res)

(мои извинения, в Python вообще не ориентируюсь, просто комментирование строки и попытка указать ID вручную - вызывает новые ошибки)

Совсем в идеале - иметь возможность в конфиге указать, какой по счету ID использовать, но, думаю, таких экспериментаторов, как мы, немного и время на доработку несопоставимо с итоговым результатом.

Заранее благодарен

После обновления платформы скрипт перестал отрабатывать

C:\WINDOWS\system32>C:\zabbix\scripts\ib_list.py
Traceback (most recent call last):
File "C:\zabbix\scripts\ib_list.py", line 25, in
cluster_res = subprocess.check_output(['rac', 'cluster', 'list']).decode(C_PAGE).strip()
File "C:\Program Files\Python37\lib\subprocess.py", line 376, in check_output
**kwargs).stdout
File "C:\Program Files\Python37\lib\subprocess.py", line 453, in run
with Popen(*popenargs, **kwargs) as process:
File "C:\Program Files\Python37\lib\subprocess.py", line 756, in init
restore_signals, start_new_session)
File "C:\Program Files\Python37\lib\subprocess.py", line 1155, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

импорт шаблона в Zabbix 5.0.20

Добрый день
подскажите как импортировать ваш шаблон в Zabbix 5.0.20?

выдает ошибку:
Ошибочный тег "/zabbix_export/templates/template(1)/discovery_rules/discovery_rule(1)": неожиданный тег "snmp_community".

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.