【问题标题】:awslogs-agent-setup.py not working on Ubuntu 17.10 (artful)awslogs-agent-setup.py 在 Ubuntu 17.10 上不起作用(巧妙)
【发布时间】:2018-07-26 19:36:25
【问题描述】:

这在 ubuntu 16.04 上可以正常工作,但在 17.10 上不行

+ curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
^M  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0^M100 56093  100 56093    0     0  56093      0  0:00:01 --:--:--  0:00:01 98929
+ chmod +x ./awslogs-agent-setup.py
+ ./awslogs-agent-setup.py -n -c /etc/awslogs/awslogs.conf -r us-west-2

Step 1 of 5: Installing pip ...^[[0mlibyaml-dev does not exist in system ^[[0m^[[92mDONE^[[0m

Step 2 of 5: Downloading the latest CloudWatch Logs agent bits ... ^[[0mTraceback (most recent call last):
  File "./awslogs-agent-setup.py", line 1317, in <module>
    main()
  File "./awslogs-agent-setup.py", line 1313, in main
    setup.setup_artifacts()
  File "./awslogs-agent-setup.py", line 858, in setup_artifacts
    self.install_awslogs_cli()
  File "./awslogs-agent-setup.py", line 570, in install_awslogs_cli
    subprocess.call([AWSCLI_CMD, 'configure', 'set', 'plugins.cwlogs', 'cwlogs'], env=DEFAULT_ENV)
  File "/usr/lib/python2.7/subprocess.py", line 168, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 390, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1025, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

我注意到在此过程的早期,在 AWS 样板中,它无法安装 libyaml-dev,但不确定这是否是唯一的问题。

【问题讨论】:

    标签: amazon-web-services ubuntu amazon-cloudwatch ubuntu-17.10


    【解决方案1】:

    我在 Ubuntu 18.04 上遇到过类似问题。

    Instruction from AWS 独立安装适用于我的情况。

    To download and run it standalone, use the following commands and follow the prompts:
    
    curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
    curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/AgentDependencies.tar.gz -O
    tar xvf AgentDependencies.tar.gz -C /tmp/
    sudo python ./awslogs-agent-setup.py --region us-east-1 --dependency-path /tmp/AgentDependencies
    

    【讨论】:

      【解决方案2】:

      总是在我发布后立即找到答案......

      这是我修改后的 CF 模板命令:

          050_install_awslogs:
            command: !Sub 
              "/bin/bash -x\n
              exec >>/var/log/cf_050_install_awslogs.log 2>&1 \n
              echo 050_install_awslogs...\n
              set -xe\n
              # Get the CloudWatch Logs agent\n
              mkdir /opt/awslogs\n
              cd /opt/awslogs\n
              # Needed for python3 in 17.10\n
              apt-get install -y libyaml-dev python-dev \n
              pip3 install awscli-cwlogs\n
              # avoid it complaining about not having /var/awslogs/bin/aws binary\n
              if [ ! -d /var/awslogs/bin ] ; then\n
                mkdir -p /var/awslogs/bin\n
                ln -s /usr/local/bin/aws /var/awslogs/bin/aws\n
              fi\n
              curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O\n
              chmod +x ./awslogs-agent-setup.py\n
              # Hack for python 3.6 & old awslogs-agent-setup.py\n
              sed -i 's/3,6/3,7/' awslogs-agent-setup.py\n
              ./awslogs-agent-setup.py -n -c /etc/awslogs/awslogs.conf -r ${AWS::Region}\n
              echo 050_install_awslogs end\n
              "
      

      不完全确定是否需要创建目录,但我希望这是一个临时案例,很快就会得到解决,因为仍然需要捏造 python 3.6 兼容性检查。

      它也可以使用 python 2.7 安装,但此时感觉就像倒退了,因为我对 17.10 的基本原理是 python 3.6。

      感谢 https://forums.aws.amazon.com/thread.jspa?threadID=265977 的 yaml 包和目录创建想法,但我更愿意避免使用 easy_install。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-02-01
        • 1970-01-01
        • 2018-05-24
        • 2019-04-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多