自建日志系统-graylog

一、 简介

    graylog是一个比较流行,自己搭建比较方便的在线版日志系统。

二、 部署

    部署graylog有很多方式, 推荐用docker安装,安装的文档参见

    https://docs.graylog.org/en/3.2/pages/installation/docker.html

    推荐用里面的docker-compose文件安装,只要安装好docker和docker-compose,把docker-compose文件内容复制下来稍微改        改,docker-compose up -d 就可以了。它会自动下载镜像构建服务。

    服务启动后,不修改端口映射的话服务暴露在9000端口,通过http://127.0.0.1:9000就可以访问了,管理员默认账号/密码

    为admin/admin。

三、部署容易遇到的问题

    1、根据文档中的compose文件操作,挂载出来的文件会碰到权限问题导致服务启动不起来

    解决办法:

        chown -R 1100:1100

        chmod 777

    在启动服务就没什么问题了

2、有进行代理转发或端口映射修改后页面显示不正常

    环境变量GRAYLOG_HTTP_EXTERNAL_URI指外部访问服务的端口, 如果nginx转发了, 这个变量要填最终用户访问的地址、或改端口了,如 http://127.0.0.1:9900

四、使用

    

  1. 怎么做让日志有个可以发送过来的地方
  • 定义input

自建日志系统-graylog_第1张图片

      

自建日志系统-graylog_第2张图片

 

端口注意,这是外部可访问的端口,所以保证三点:外部能访问、内部服务未被占用、graylog docker中的端口也映射出来了

自建日志系统-graylog_第3张图片

 

Inputs建好后就可以把访问地址提供给各个使用方通过sdk发送log了

 

2. 怎样创建账号,并限制访问内容(通过定制role赋给用户, 后面讲到)

创建账号authentication —> users —> users —> add new user

 

3. 定义限定内容访问的role

先定义stream

自建日志系统-graylog_第4张图片

 

自建日志系统-graylog_第5张图片

定义规则要注意,用来筛选符合条件logs。此处可以定义来源,使得不同服务发送的日志被不同地方筛选到

自建日志系统-graylog_第6张图片

自建日志系统-graylog_第7张图片

 

根据stream定义对应的role 

自建日志系统-graylog_第8张图片

自建日志系统-graylog_第9张图片

自建日志系统-graylog_第10张图片

五、使用代码示例

import logging
import graypy

my_logger = logging.getLogger('test_logger')
my_logger.setLevel(logging.DEBUG)

handler = graypy.GELFUDPHandler('localhost', 12201, localname='test_server')
my_logger.addHandler(handler)

my_logger.debug('Hello Graylog.')

 

 

你可能感兴趣的:(架构)