aws-elastic-beanstalk-cli icon indicating copy to clipboard operation
aws-elastic-beanstalk-cli copied to clipboard

ERROR: HTTPError - HTTP Error 403: Forbidden (> eb logs)

Open AyazAI opened this issue 4 years ago • 13 comments

Description

Getting ERROR: HTTPError - HTTP Error 403: Forbidden while using eb logs

Steps to reproduce

Type eb logs

Observed result

2020-08-23 15:19:38,482 (INFO) eb : Traceback (most recent call last): File "/home/ayz/.ebcli-virtual-env/lib/python3.7/site-packages/ebcli/core/ebrun.py", line 62, in run_app app.run() File "/home/ayz/.ebcli-virtual-env/lib/python3.7/site-packages/cement/core/foundation.py", line 797, in run return_val = self.controller._dispatch() File "/home/ayz/.ebcli-virtual-env/lib/python3.7/site-packages/cement/core/controller.py", line 472, in _dispatch return func() File "/home/ayz/.ebcli-virtual-env/lib/python3.7/site-packages/cement/core/controller.py", line 478, in _dispatch return func() File "/home/ayz/.ebcli-virtual-env/lib/python3.7/site-packages/ebcli/core/abstractcontroller.py", line 92, in default self.do_command() File "/home/ayz/.ebcli-virtual-env/lib/python3.7/site-packages/ebcli/controllers/logs.py", line 65, in do_command self.__get_logs() File "/home/ayz/.ebcli-virtual-env/lib/python3.7/site-packages/ebcli/controllers/logs.py", line 103, in __get_logs instance_id=self.instance File "/home/ayz/.ebcli-virtual-env/lib/python3.7/site-packages/ebcli/operations/logsops.py", line 486, in retrieve_beanstalk_logs get_logs(env_name, info_type, do_zip=do_zip, instance_id=instance_id) File "/home/ayz/.ebcli-virtual-env/lib/python3.7/site-packages/ebcli/operations/logsops.py", line 345, in get_logs _handle_tail_logs(instance_id_list) File "/home/ayz/.ebcli-virtual-env/lib/python3.7/site-packages/ebcli/operations/logsops.py", line 888, in _handle_tail_logs log_result = utils.get_data_from_url(url) File "/home/ayz/.ebcli-virtual-env/lib/python3.7/site-packages/ebcli/lib/utils.py", line 263, in get_data_from_url return urllib.request.urlopen(url, timeout=timeout).read() File "/home/ayz/.pyenv/versions/3.7.2/lib/python3.7/urllib/request.py", line 222, in urlopen return opener.open(url, data, timeout) File "/home/ayz/.pyenv/versions/3.7.2/lib/python3.7/urllib/request.py", line 531, in open response = meth(req, response) File "/home/ayz/.pyenv/versions/3.7.2/lib/python3.7/urllib/request.py", line 641, in http_response 'http', request, response, code, msg, hdrs) File "/home/ayz/.pyenv/versions/3.7.2/lib/python3.7/urllib/request.py", line 569, in error return self._call_chain(*args) File "/home/ayz/.pyenv/versions/3.7.2/lib/python3.7/urllib/request.py", line 503, in _call_chain result = func(*args) File "/home/ayz/.pyenv/versions/3.7.2/lib/python3.7/urllib/request.py", line 649, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbidden

2020-08-23 15:19:38,482 (INFO) eb : HTTPError - HTTP Error 403: Forbidden Retrieving logs...

Expected result

Logs are expected

Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

DISTRIB_ID=ManjaroLinux DISTRIB_RELEASE=19.0.2 DISTRIB_CODENAME=Kyria DISTRIB_DESCRIPTION="Manjaro Linux"

  1. OS: Manjaro
  2. EBCLI version: EB CLI 3.18.2 (Python 3.7.2)

AyazAI avatar Aug 23 '20 10:08 AyazAI

I'm having this issue too, but also I can't download logs from the web console. Maybe some permission issue?

educolo avatar Sep 19 '20 12:09 educolo

@educolo I am able to download logs from the web console. Maybe it's a permission issue! not sure.

AyazAI avatar Sep 20 '20 17:09 AyazAI

same issue

warbuxx avatar Sep 23 '20 04:09 warbuxx

Suddenly I have the same issue

Veilkrand avatar Oct 11 '20 11:10 Veilkrand

same issue

gradam avatar Oct 11 '20 16:10 gradam

Same here, just recently

ghost avatar Oct 13 '20 10:10 ghost

+1

indigodp avatar Oct 16 '20 13:10 indigodp

Same here. Also tried version 3.14.13. I see the logs it created in the web console and can download them there. The URL is different than what the CLI is trying.

sambcom avatar Oct 22 '20 20:10 sambcom

Same here, worked one week ago, now doesn't anymore

The last 100 lines of log request went through because I see them showing up on the ELB web interface. So only downloading seems to have an auth issue

Brenndoerfer avatar Nov 03 '20 04:11 Brenndoerfer

@AyazAI thanks for reporting this issue. I have not been able to reproduce this. If possible can you send output of this command eb logs --instance instance-id --verbose?

Palakpatel67 avatar Nov 04 '20 20:11 Palakpatel67

@Palakpatel67 I'm not sure if this is the same issue, but when I use specific instance id works well. So eb logs --instance i-xxxxxxxxx works but eb logs returns a 403 forbidden. With eb logs --verbose i had this output

Retrieving logs...
INFO: Traceback (most recent call last):
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/core/ebrun.py", line 62, in run_app
    app.run()
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/cement/core/foundation.py", line 797, in run
    return_val = self.controller._dispatch()
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/cement/core/controller.py", line 472, in _dispatch
    return func()
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/cement/core/controller.py", line 478, in _dispatch
    return func()
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/core/abstractcontroller.py", line 92, in default
    self.do_command()
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/controllers/logs.py", line 65, in do_command
    self.__get_logs()
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/controllers/logs.py", line 99, in __get_logs
    logsops.retrieve_beanstalk_logs(
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/operations/logsops.py", line 486, in retrieve_beanstalk_logs
    get_logs(env_name, info_type, do_zip=do_zip, instance_id=instance_id)
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/operations/logsops.py", line 345, in get_logs
    _handle_tail_logs(instance_id_list)
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/operations/logsops.py", line 888, in _handle_tail_logs
    log_result = utils.get_data_from_url(url)
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/lib/utils.py", line 263, in get_data_from_url
    return urllib.request.urlopen(url, timeout=timeout).read()
  File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.8/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/usr/lib/python3.8/urllib/request.py", line 640, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.8/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

INFO: HTTPError - HTTP Error 403: Forbidden

Hope this helps, thanks

educolo avatar Nov 05 '20 03:11 educolo

Same

landoncope avatar Nov 09 '20 22:11 landoncope

@Palakpatel67 I'm not sure if this is the same issue, but when I use specific instance id works well. So eb logs --instance i-xxxxxxxxx works but eb logs returns a 403 forbidden. With eb logs --verbose i had this output

Retrieving logs...
INFO: Traceback (most recent call last):
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/core/ebrun.py", line 62, in run_app
    app.run()
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/cement/core/foundation.py", line 797, in run
    return_val = self.controller._dispatch()
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/cement/core/controller.py", line 472, in _dispatch
    return func()
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/cement/core/controller.py", line 478, in _dispatch
    return func()
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/core/abstractcontroller.py", line 92, in default
    self.do_command()
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/controllers/logs.py", line 65, in do_command
    self.__get_logs()
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/controllers/logs.py", line 99, in __get_logs
    logsops.retrieve_beanstalk_logs(
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/operations/logsops.py", line 486, in retrieve_beanstalk_logs
    get_logs(env_name, info_type, do_zip=do_zip, instance_id=instance_id)
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/operations/logsops.py", line 345, in get_logs
    _handle_tail_logs(instance_id_list)
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/operations/logsops.py", line 888, in _handle_tail_logs
    log_result = utils.get_data_from_url(url)
  File "/home/eduardo/.virtualenvs/pa/lib/python3.8/site-packages/ebcli/lib/utils.py", line 263, in get_data_from_url
    return urllib.request.urlopen(url, timeout=timeout).read()
  File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.8/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/usr/lib/python3.8/urllib/request.py", line 640, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.8/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

INFO: HTTPError - HTTP Error 403: Forbidden

Hope this helps, thanks

This helps, thanks. Still I'd like to just type "eb logs".

fitohoyos avatar Feb 12 '21 00:02 fitohoyos

Hi @AyazAI are you still facing the same issue? Does eb logs --instance i-xxxxxxxxx work for you?

yohanthshetty avatar Feb 13 '23 04:02 yohanthshetty

Works ok when supplying --instance id. 403 when running eb logs

 eb --version
EB CLI 3.20.5 (Python 3.11.2 (main, Feb  7 2023, 13:52:42) [GCC 11.3.0])

rust84 avatar Mar 20 '23 15:03 rust84

Thanks for your response. Team will investigate further. In the meantime please use eb logs --instance i-xxxxxxxxx.

yohanthshetty avatar Mar 20 '23 16:03 yohanthshetty

Hi @AyazAI , I was able to get logs by running eb logs .These are the list of files I get when i run eb logs --zip

   creating: i-0ddbef88de3ca2fb0/var/log/
  inflating: i-0ddbef88de3ca2fb0/var/log/eb-publish.log  
  inflating: i-0ddbef88de3ca2fb0/var/log/cfn-wire.log  
  inflating: i-0ddbef88de3ca2fb0/var/log/eb-cfn-init.log  
  inflating: i-0ddbef88de3ca2fb0/var/log/web.stdout.log  
  inflating: i-0ddbef88de3ca2fb0/var/log/cfn-hup.log  
  inflating: i-0ddbef88de3ca2fb0/var/log/messages  
  inflating: i-0ddbef88de3ca2fb0/var/log/cloud-init.log  
  inflating: i-0ddbef88de3ca2fb0/var/log/eb-cfn-init-call.log  
  inflating: i-0ddbef88de3ca2fb0/var/log/cloud-init-output.log  
  inflating: i-0ddbef88de3ca2fb0/var/log/eb-tools.log  
  inflating: i-0ddbef88de3ca2fb0/var/log/eb-engine.log  
  inflating: i-0ddbef88de3ca2fb0/var/log/cfn-init.log  
  inflating: i-0ddbef88de3ca2fb0/var/log/cfn-init-cmd.log  
  inflating: i-0ddbef88de3ca2fb0/var/log/cron  
  inflating: i-0ddbef88de3ca2fb0/var/log/eb-hooks.log  
   creating: i-0ddbef88de3ca2fb0/var/log/nginx/
  inflating: i-0ddbef88de3ca2fb0/var/log/nginx/error.log  
  inflating: i-0ddbef88de3ca2fb0/var/log/nginx/access.log  
   creating: i-0ddbef88de3ca2fb0/var/log/healthd/
  inflating: i-0ddbef88de3ca2fb0/var/log/healthd/daemon.log

Seems to be working as designed , are you still facing an issue ?

I am running it on EB-CLI 3.20.8 (Python 3.11.5 (main, Aug 24 2023, 12:23:19) [GCC 11.4.0])

NihalM99 avatar Aug 29 '23 14:08 NihalM99

Please reopen if you are still facing the issue .

NihalM99 avatar Aug 31 '23 15:08 NihalM99