awslogs-agent-setup.py not working on Ubuntu 17.10 (artful)



这在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,但不确定这是否是唯一的问题。

我发布后,请始终找到答案...

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

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

不完全确定对Dir Creation的需求,但我希望这是一个临时情况,在仍然需要伪造Python 3.6兼容性检查的情况下将很快解决。

也可以使用python 2.7安装,但这就像在这一点上倒退,因为17.10的我的理由是python 3.6。

YAML软件包和Dir Creation Ideas的信用to https://forums.aws.aws.amazon.com/thread.jspa?threadid=265977,但我更喜欢避免easype_install。

我在ubuntu 18.04上也有类似的问题。

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

最新更新