LXC容器中的Logstash(ELK) - ulimit错误

时间:2015-03-14 15:21:46

标签: logstash lxc ulimit

我已经在3.13(Ubuntu 14.04.2)的LXC容器中设置了ELK,我认为它配置正确(日志中没有错误或其他)。话虽这么说,当我尝试启动LogStash时,我收到以下错误 /etc/init.d/logstash: 55: ulimit: error setting limit (Operation not permitted)

是的,当我运行命令时,我是root用户。运行service start logstash

的错误相同

尽管有错误,但我发现logstash started.之后。但是,一个快速的netstat清楚地表明Logstash没有倾听(是的,我已经尝试过将日志推到它上面但无济于事)...

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6523/nginx      
tcp6       0      0 :::9200                 :::*                    LISTEN      5890/java       
tcp6       0      0 :::9300                 :::*                    LISTEN      5890/java       
udp        0      0 0.0.0.0:68              0.0.0.0:*                           303/dhclient    
udp        0      0 0.0.0.0:44889           0.0.0.0:*                           303/dhclient    
udp6       0      0 :::2274                 :::*                                303/dhclient    
udp6       0      0 :::54328                :::*                                5890/java 

关于如何解决这个问题的想法?我可以合理地确定它因ulimit呕吐而成为LXC问题,但我不确定如何补救。

编辑:进一步阅读告诉我,这确实是一个极端问题。我已经超过我的用户限制超过16384(logstash init想要的),但是我在重新启动容器后仍然遇到问题。我的/etc/security/limits.conf附加了以下行

user          soft    nofile          24576
user          hard    nofile          24576

1 个答案:

答案 0 :(得分:0)

我知道这是一个较老的问题,但任何有同样问题的人都可能会像我一样在这里结束。

我的答案就在这里:From terminal in ubuntu, change ulimit for file descriptor number

具体来说,确保/etc/pam.d/su包含该行(我只需要在Ubuntu 14.04中取消注释):

session    required    pam_limits.so

然后退出并登录并且它有效。