我在尝试在ec2节点上安装awslogs代理时遇到问题。当我运行此命令时:
<asp:TemplateField HeaderText="Header">
<ItemTemplate>
<asp:CheckBox ID="chk" runat="server" Checked='<%# ((string)Eval("row") == "1") %>' />
</ItemTemplate>
</asp:TemplateField>
它似乎在第2步失败了:
sudo python ./awslogs-agent-setup.py --region us-east-1
缺少哪个目录或文件?
答案 0 :(得分:1)
虽然这个问题有点陈旧,但我想补充一点,因为我最近遇到了同样的问题,但设法找到解决方法。我试图在运行CentOS 7的实例中安装它。
当我第一次运行安装命令时,我得到了@ user2061886报告的完全相同的错误日志。安装程序使用以下路径登录到文件:/var/log/awslogs-agent-setup.log。我把文件丢了,发现内部安装程序抱怨无法找到文件“Python.h”:
creating build/temp.linux-x86_64-2.7
checking if libyaml is compilable
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-
D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-
size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/check_libyaml.c -o build/temp.linux-x86_64-2.7/check_libyaml.o
checking if libyaml is linkable
gcc -pthread build/temp.linux-x86_64-2.7/check_libyaml.o -L/usr/lib64 -lyaml -o build/temp.linux-x86_64-2.7/check_libyaml
building '_yaml' extension
creating build/temp.linux-x86_64-2.7/ext
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I/usr/include/python2.7 -c ext/_yaml.c -o build/temp.linux-x86_64-2.7/ext/_yaml.o
ext/_yaml.c:4:20: fatal error: Python.h: No such file or directory
#include "Python.h"
^
compilation terminated.
error: command 'gcc' failed with exit status 1
我无法使用Python 2.7,所以我切换到Python 3.5。在CentOS 7中安装Python 3.5:
yum -y udpate
yum install -y epel-release
yum install -y http://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-
release-1.0-13.ius.centos7.noarch.rpm
yum -y update
yum install -y python35u*
我再次运行installer命令并传递了@ user2061886报告的错误。我可以安装和配置CloudWatch Logs Agent。但是,在我启动服务(sudo service awslogs start)后不久,我遇到了第二个问题。这次我不得不拖尾以下文件来发现问题:/var/log/awslogs.log。 cloudwatch日志代理基本上抱怨无法找到cwlogs包:
Traceback (most recent call last):
File "/var/awslogs/bin/aws", line 27, in <module>
sys.exit(main())
File "/var/awslogs/bin/aws", line 23, in main
return awscli.clidriver.main()
File "/usr/lib/python3.5/site-packages/awscli/clidriver.py", line 55, in main
driver = create_clidriver()
File "/usr/lib/python3.5/site-packages/awscli/clidriver.py", line 64, in create_clidriver
event_hooks=emitter)
File "/usr/lib/python3.5/site-packages/awscli/plugin.py", line 44, in load_plugins
modules = _import_plugins(plugin_mapping)
File "/usr/lib/python3.5/site-packages/awscli/plugin.py", line 58, in _import_plugins
plugins.append(__import__(path))
ImportError: No module named 'cwlogs'
我通过pip手动安装软件包解决了这个问题:
pip3.5 install awscli-cwlogs.
这解决了问题!
答案 1 :(得分:1)
我通过传递要使用的python解释器来解决这个问题:
sudo python ./awslogs-agent-setup.py --region us-east-1 --python=/usr/bin/python3.5
答案 2 :(得分:1)
我尝试在centos docker上安装时遇到同样的问题。事实证明,在安装这些软件包
之后我无需更新pythonpython-devel libpython-dev which initscripts cronie
答案 3 :(得分:0)
^^是的..我修复了一个类似的问题,其中包含一些在/var/log/awslogs.log中指向的缺失依赖项
apt-get update&amp;&amp; apt-get install -y python -pip libpython-dev
答案 4 :(得分:0)
Amazon Linux 2
awslogs代理现在可以作为yum软件包https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/QuickStartEC2Instance.html
使用sudo yum install -y awslogs
sudo systemctl start awslogsd
sudo systemctl enable awslogsd.service
确保按照文档中所述更改AWS区域
答案 5 :(得分:0)
所以大家都想通了!
install_awslogs_cli中的文件“ ./awslogs-agent-setup.py”,第520行 venv_in_path =(subprocess.call([“”“,” virtualenv“],stderr = self.log_file,stdout = self.log_file)== 0)
关于上述错误,您可以使用“哪个”命令,但不幸的是未安装“哪个”命令。 安装完成后,一切开始正常工作。
干杯!!如果有帮助的话。
答案 6 :(得分:0)
我知道我要晚2年以上,但是我找不到答案。
我遇到了同样的问题,这是因为磁盘的inode用尽了(我认为磁盘空间用尽会导致相同的问题),并且我解决了运行sudo apt-get autoremove
您可以使用df -i
我希望这可以帮助有此问题的任何人。