分布式日志管理graylog安装及使用

1 环境准备

2 安装

下载docker镜像

docker pull mongo
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2
docker pull graylog/graylog:3.1

分开启动3个组件(推荐)

mongodb
docker run  \
--name mongo \
-p 27017:27017  \
-v /data/mongodb/configdb:/data/configdb/ \
-v /data/mongodb/db/:/data/db/ \
-d mongo:latest
elasticsearch
docker run \
--name es \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
# 设置跨域
-e http.cors.allow-origin="*" \
-e http.cors.enabled=true \
-d docker.elastic.co/elasticsearch/elasticsearch:6.3.2
graylog
docker run \
--link mongo:mongo \
--link es:docker.elastic.co/elasticsearch/elasticsearch \
--name graylog \
-p 9000:9000 \
-p 12201:12201/udp \
# 访问URL
-e GRAYLOG_HTTP_EXTERNAL_URI=http://10.211.55.6:9000/ \
# 设置时区,不然会时间不对
-e GRAYLOG_ROOT_TIMEZONE=Asia/Shanghai  \
-e GRAYLOG_WEB_ENDPOINT_URI="http://10.211.55.6:9000/:9000/api" \
-e GRAYLOG_PASSWORD_SECRET=somepasswordpepper \
# 密码:admin
-e GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918 \
-d graylog/graylog:3.1

3 参数配置

3.1 docker 查看容器

输出内容:
image.png

3.2 浏览器中打开http://localhost:9000/,账户密码:admin/admin

image.png

3.3 使用http测试是否成功 (可选)
3.3.1 新建input http input

image.png

3.3.2 打开一个终端,输入下面的命令
curl -XPOST http://localhost:12201/gelf -p0 -d '{"message":"hello这是一条消息", "host":"127.0.0.1", "facility":"test", "topic": "meme"}'

打开浏览器观察信息,看到如下消息,证明安装成功
1042645-20190918170627501-386475289.png

4 SpringBoot集成graylog

4.1 创建 gref udp input

image.png

4.2 SpringBoot项目修改
4.2.1 在pom.xml的dependency加入的如下依赖:
    <dependency>
        <groupId>biz.paluch.logging</groupId>
        <artifactId>logstash-gelf</artifactId>
        <version>1.13.0</version>
    </dependency>
4.2.2 配置日志输出

在配置文件logback.xml中,添加如下appender,并启用:

    <appender name="GELF" class="biz.paluch.logging.gelf.logback.GelfLogbackAppender">
        <!-- 改为自己的IP-->
        <host>udp:192.168.1.101</host>
        <port>12201</port>
        <version>1.1</version>
        <!-- 这里可以定义为服务名等-->
        <facility>blockchain-module</facility>
        <!-- 手动添加字段 -->
        <additionalFields>version=4.1.0,module=blockchain</additionalFields>
        <extractStackTrace>true</extractStackTrace>
        <filterStackTrace>true</filterStackTrace>
        <mdcProfiling>true</mdcProfiling>
        <timestampPattern>yyyy-MM-dd HH:mm:ss,SSS</timestampPattern>
        <maximumMessageSize>8192</maximumMessageSize>
        <!-- This are fields using MDC -->
        <mdcFields>mdcField1,mdcField2</mdcFields>
        <dynamicMdcFields>mdc.*,(mdc|MDC)fields</dynamicMdcFields>
        <includeFullMdc>true</includeFullMdc>
    </appender>
    
    <root level="INFO">
        <appender-ref ref="GELF" />
        <appender-ref ref="STDOUT"/>
    </root>

除来上面的配置外,还可以手动添加静态字段,详细可以看插件的github官网

4.2.3 启动SpringBoot项目,观察浏览器graylog

image.png
到此graylog的基础配置就算完成了,已经可以收到日志数据,但是在实际工作中,服务日志会非常多,这么多的日志,如果不进行存储限制,那么不久就会占满磁盘,查询变慢等等,而且过久的历史日志对于实际工作中的有效性也会很低,graylog则自身集成了日志数据限制的配置,可以通过如下进行设置:
image.png

这里提供了三种方式进行限制,可根据自己的实际情况进行设置。

  1. 限定日志数据量,数据量达到是便会自动删除最旧的历史数据,以维持数据量恒定。
  2. 限定大小,指定数据文件总容量大小。
  3. 限定时间,删除超时的日志数据。
    image.png

5 Graylog进阶使用

上面介绍的都是graylog的基础使用和配置,在配置了之后,已经可以实现对日志的采集,日志的监控报警。下面就简单演示一下如何创建仪表盘,在过程中熟悉一下graylog中的搜索,流,索引,管道,装饰器等等。

5.1 搜索

在有了日志数据后,在web界面的search中,就可以搜索到日志数据了,如下图:
image.png
上图中就是搜索界面,最上面可以选择时间端,默认是最近5分钟,第二行是搜索的语法,这个语法很简单,最常用的如,搜索level为3的日志,就是 level:3,就这么简单,多条匹配规则可以通过AND,OR(连接词必须大写)进行连接。要搜索包含abc的日志,就直接输入 abc 就行了。整体来说相对于elk要简单很多。具体的完整用法,参考官方文档:
http://docs.graylog.org/en/3.0/pages/extended_search.html

5.2 仪表盘

首先创建一个仪表盘,只需要输入标题和说明
image.png
创建完仪表盘后你会发现,没发直接在仪表盘中添加部件,也就是添加数据图形等。仪表盘中的部件只能通过在search页面中通过生产图形后,然后点击 add to dashboard 来添加到仪表盘中,添加后可以进行修改删除。详细的可以参考官网文档:仪表盘
这里演示一下:在search页面中,选择字段,字段下面会有4个选项,可以生产4个不同的图形分析,如图:
image
其中,最后一个是地图map分析,这个需要额外添加地图信息插件等。这里暂时不说。其他三个都是可以直接出来分析徒刑的。比如我想要知道环境-微服务的总数,因为上面整合springboot的时候,配置中将facility地段自定义为 环境-微服务,如test-device 。所以我直接点击facility下的Statistics,就会生产如下表格:
image.png
如图,Cardinality就是环境-微服务不同的数量,也就是接收到日志的环境-微服务总数。点击add to dashboard就能添加到仪表盘,添加之前需要特别注意一点: 时间段,搜索的时间段会影响图形的数据量,添加到仪表盘后会作为默认的时间段来展示数据。当然也可以在添加后,再修改部件属性中修改时间等。
最后,看一下仪表盘的效果:
image.png
image.png

5.3 未完待续......

参考文档:
https://blog.csdn.net/weixin_41004350/article/details/87253316
http://docs.graylog.org/en/3.0

转载于:https://www.cnblogs.com/mrhugui/p/11543695.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值