Ad Widget

Collapse

Telegram оповещения

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • GeorgeKup
    Member
    • Nov 2019
    • 98

    #1

    Telegram оповещения


    Здравствуйте. Не подскажите в чем может быть проблема. Если с командной строки отправлять ./zbxtg.py ID test test, то сообщения приходят на telegram. Если в Zabbix выбрать Администрирование -> Способы оповещения -> Telegram ->Тест, то в логе сервера - Failed to execute command "/usr/lib/zabbix/alertscripts/zbxtg.py 'ID 'test' 'test'": Timeout while executing a shell script.
  • GeorgeKup
    Member
    • Nov 2019
    • 98

    #2
    Уточню вопрос. Если выполнить команду sudo -u zabbix ./zbxtg.py «@ivanov» «test» «test» то выдаются сообщения:

    File "./zbxtg.py", line 937, in <module>
    main()
    File "./zbxtg.py", line 846, in main
    tg.send_message(uid, zbxtg_body_text)
    File "./zbxtg.py", line 94, in send_message
    answer = requests.post(url, params=params, proxies=self.proxies)
    File "/usr/lib/python2.7/site-packages/requests/api.py", line 116, in post
    return request('post', url, data=data, json=json, **kwargs)
    File "/usr/lib/python2.7/site-packages/requests/api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
    File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
    File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
    File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
    File "/usr/lib/python2.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen
    chunked=chunked,
    File "/usr/lib/python2.7/site-packages/urllib3/connectionpool.py", line 376, in _make_request
    self._validate_conn(conn)
    File "/usr/lib/python2.7/site-packages/urllib3/connectionpool.py", line 994, in _validate_conn
    conn.connect()
    File "/usr/lib/python2.7/site-packages/urllib3/connection.py", line 334, in connect
    conn = self._new_conn()
    File "/usr/lib/python2.7/site-packages/urllib3/connection.py", line 157, in _new_conn
    (self._dns_host, self.port), self.timeout, **extra_kw
    File "/usr/lib/python2.7/site-packages/urllib3/util/connection.py", line 74, in create_connection
    sock.connect(sa)
    File "/usr/lib64/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)

    если выполнить под root-ом команду: ./zbxtg.py «@ivanov» «test» «test» то сообщение приходит в телеграм
    Last edited by GeorgeKup; 01-03-2020, 11:09.

    Comment

    • GeorgeKup
      Member
      • Nov 2019
      • 98

      #3
      Попробую уточнить еще раз. Выход в Интернет осуществляется через proxy. От root команда выполняется ./zbxtg.py «@ivanov» «test» «test» и сообщения приходят в telegram. Если выполнять от пользователя zabbix команду: sudo -u zabbix ./zbxtg.py «@ivanov» «test» «test» то выдаются сообщения об ошибках. Удалось запустить команду от пользователя zabbix, которая приводит к отправке сообщений в телеграм: sudo -u zabbix -E bash -c '/usr/lib/zabbix/alertscripts/zbxtg.py "@ivanov" "test" "test"'. Как использовать эту команду, чтобы zabbix отправлял сам сообщения в telegram.

      Comment

      • GeorgeKup
        Member
        • Nov 2019
        • 98

        #4
        Проблему удалось решить только дав прямой доступ к api.telegram.org вне прокси.

        Comment

        Working...