Ad Widget

Collapse

Zabbix API Broken Pipe Error from Python

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mikezett
    Junior Member
    • Jul 2017
    • 17

    #1

    Zabbix API Broken Pipe Error from Python

    Приветствую.

    Столкнулся со странной проблемой. Я использую скрипт на питоне, который через API закрывает\подтверждает события.
    Использую параметры в json-s, например и функцию request.post.Например (укорочено):

    login_params = {
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
    "user": user,
    "password": password
    },

    login_result = requests.post(url, data=json.dumps(login_params), headers=content_headers, timeout=timeout)

    Это функция логина. Запускаю функцию логина, затем запускаю похожие функции которые с помощью request.post пишут "close" или "acknowledge".

    Всё работало хорошо до определённого момента. Но затем в логи стали сыпаться без каких-либо причин обильные сообщения

    BrokenPipeError: [Errno 32] Broken pipe.

    При этом события успешно закрываются и подтверждаются!!!

    Пробовал менять таймауты, ставить sleep, после post запускать функцию logout. Абсолютно ничего не помогает.

    Версия Zabbix: 5.0.5 (php-fpm, https)
    Версия Python 3.6.8
    Пользователь имеет тип internal, права superadmin выдавать тоже пробовал.

    Куда дальше рыть неясно.
  • mikezett
    Junior Member
    • Jul 2017
    • 17

    #2
    Проблема оказалась в самом неожиданном месте.

    При операциях писались логи и поскольку их объём был довольно велик я включил logrotate, который самым неожиданным образом и аффектил работу.

    Comment

    Working...