首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Graylog不接收来自的日志

Graylog不接收来自的日志
EN

Server Fault用户
提问于 2021-06-26 22:30:40
回答 1查看 884关注 0票数 0

我是Graylog的新手,我尝试在Docker容器上使用Graylog,但是其他容器的日志没有到达Graylog,Graylog web接口搜索中没有显示任何内容。

我应该如何处理到达Graylog上的容器日志?

下面,我描述一下我的尝试:

在单个主机上,只运行一个节点(本身)。

此主机的本地IP为: 10.0.0.5

在一个文件夹里,我有一些文件:

  • docker-compose.yml
  • graylog.js

我的docker-compose.yml的内容是:

代码语言:javascript
复制
version: "3.3"
networks:
  ambiente:
    external: true
services:
  # MONGO
  mongo:
    image: mongo:4.2
    networks: 
      - ambiente
    environment:
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=drUqGGCMh
    volumes:
      - ./graylog.js:/docker-entrypoint-initdb.d/graylog.js:ro      
  # ELASTICSEARCH
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
    environment:
      - "http.host=0.0.0.0"
      - "discovery.type=single-node"
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m" 
    networks: 
      - ambiente
  # GRAYLOG
  graylog:
    image: graylog/graylog:4.1.0
    environment:
      - GRAYLOG_HTTP_EXTERNAL_URI=http://10.0.0.5:9000/
      # Pass is "admin"
      - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
      - GRAYLOG_ELASTICSEARCH_DISCOVERY_ENABLED=true
      - GRAYLOG_MONGODB_URI=mongodb://graylog:vWGzncmBe9@mongo:27017/graylog
      - GRAYLOG_MESSAGE_JOURNAL_ENABLED=false      
    depends_on:
      - mongo
      - elasticsearch
    ports:
      - "9000:9000"
      - "12201:12201"
      - "1514:1514"
    networks: 
      - ambiente

graylog.js内容是:

代码语言:javascript
复制
graylog = db.getSiblingDB('graylog');
graylog.createUser(
  {
    user: "graylog",
    pwd: "vWGzncmBe9",
    roles: [
      { role: "dbOwner", db: "graylog" }
    ]
  }
);

在主机上,我创建了包含以下内容的文件/etc/docker/daemon.json

代码语言:javascript
复制
{
  "metrics-addr" : "10.0.0.5:9323", 
  "experimental" : true, 
  "log-driver": "gelf",
  "log-opts": {
    "gelf-address": "udp://10.0.0.5:12201"
  }
}

文件创建后,我重新启动了docker服务,并检查了以下状态:

代码语言:javascript
复制
service docker restart
service docker status

码头服务的状态是活跃的:

活动:活动(运行)自星期六2021-06-26 16:58:31 -03;1分2

然后我创建了一个Docker网络:

代码语言:javascript
复制
docker network create -d overlay ambiente

然后我解开了堆栈:

代码语言:javascript
复制
docker stack deploy graylog -c docker-compose.yml 

随着Graylog的运行,我从System/Input上的web界面创建了一个全局输入,如下所示:

bind_address: 0.0.0.0 decompress_size_limit: 8388608 number_worker_threads: 12 override_source: port: 12201 recv_buffer_size: 262144

谢谢你的帮助!

EN

回答 1

Server Fault用户

发布于 2021-06-27 18:36:45

我刚在谷歌上找到了答案。

在这里贴出这个答案是为了帮助那些和我有同样困难的人。

由于我使用了UDP协议,所以灰日志端口上的docker-compose.yml文件出现了问题:

之前(不工作),因为默认的停靠端口位于TCP协议上:

代码语言:javascript
复制
  ports:
      - "9000:9000"
      - "12201:12201"
      - "1514:1514"

现在(工作),码头端口在TCP和UDP协议上:

代码语言:javascript
复制
  ports:
      - "9000:9000"
      - "12201:12201"
      - "12201:12201/udp"
      - "1514:1514"
      - "1514:1514/udp"

从任何容器进行的测试:

代码语言:javascript
复制
echo -n '{ "version": "1.1", "host": "example.org", "short_message": "A short message again", "level": 5, "_some_info": "foo" }' | nc -w1 -u 10.0.0.5 12201

消息出现在Graylog web接口上:

2021-06-27 18:27:48.185 +00:00 example.org一条短信!

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1067943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档