Tag: elasticsearch logstash docker

系统日志驱动程序不能与泊坞窗撰写和麋鹿栈

我想从一个运行my_service容器发送日志到另一个运行带有syslog驱动程序的ELK栈(所以我需要安装logstash-input-syslog插件)。 我正在调整这个麋鹿图像 (并标记为elk-custom )通过下面的Dockerfile-elk (使用端口514因为这似乎是默认的端口 ) FROM sebp/elk WORKDIR /opt/logstash/bin RUN ./logstash-plugin install logstash-input-syslog EXPOSE 514 通过docker-compose运行我的服务如下或多或less: elk-custom: # image: elk-custom build: context: . dockerfile: Dockerfile-elk ports: – 5601:5601 – 9200:9200 – 5044:5044 – 514:514 my_service: image: some_image_from_my_local_registry depends_on: – elk-custom logging: driver: syslog options: syslog-address: "tcp://elk-custom:514" 然而: 错误:对于b4cd17dc1142_namespace_my_service_1无法启动服务my_service:未能初始化logging驱动程序:拨号tcp:查找elk-custom在10.14.1.31:53:服务器行为不当 错误:api无法启动服务my_service:无法初始化日志logging驱动程序:拨号tcp:查找elk-custom上10.14.1.31:53:服务器行为exception错误:遇到错误,同时提出项目。 有什么build议么? 更新 :显然没有任何东西似乎是监听端口514 ,从容器内的原因,命令netstat -a显示此端口上没有任何东西….不知道为什么…

区分多个系统日志docker源代码

我正在build立一个docker-compose与几个服务,所有这些都写入到一个通用的syslog容器/服务…实际上是一个logstash服务(一个完整的elk图像事实上)与logstash-input-syslog插件启用.. 种类如下(使用自定义5151端口,因为默认514由于权限问题给我一个困难): 服务: elk-custom: image: some_elk_image ports: – 5601:5601 – 9200:9200 – 5044:5044 – 5151:5151 service1: image: myservice1_image logging: driver: syslog options: syslog-address: "tcp://127.0.0.1:5151" service2: image: myservice2_image logging: driver: syslog options: syslog-address: "tcp://127.0.0.1:5151" 我的问题是如何添加一个字段(一个option而不是在logging下),这样logstash中的每个日志条目最后都有一个字段,其值有助于确定日志是来自service1还是service2 。 我有种设法使用tag字段来做到这一点,但信息最终成为消息的一部分,而不是一个单独的字段,我可以在elasticsearch用于查询。 目前, kibana显示日志条目如下: @timestamp:September 26th 2017,12:00:47.684 syslog_severity_code:5 port:53,422 syslog_facility:user-level @version:1 host:172.18.0.1 syslog_facility_code:1 message:<27> Sep 26 12:00:47 7705a2f9b22a [2128 ]:[pid:94 | […]