目录
1.GrayLog简单介绍
GrayLog是一个开源的日志聚合、展现分析和预警工具,功能上和ELK类似,相对ELK更简单些。GrayLog依赖 Mongo、Elasticsearch。我们现在在线上部署了GrayLog,目前是单机部署,架构大概是这样的:
Graylog 提供对外日志流入接口,后端正确配置了GrayLog的参数后,应用日志会记录到GrayLog中;ES提供日志文件的持久化存储和检索,也就是IO;MongoDB可以存储一些Graylog 的配置。在GrayLog管理页上,我们可以查看日志、配置一些面板。
当我们运维或其它同事部署好GrayLog后,我们打开地址Graylog的地址:
默认打开Stream面板,在导航条上可以看到in/out的统计,也是流入了多少日志,流出了多少日志:
Streams 日志流,可以于设置一些规则将日志流入到这里,一个消息可以匹配多个流规则。可以查看日志记录(流)。
Alters 定义不同条件下的事件,并为事件添加通知。
DashBoards 日志面板。可以查看日志统计。
Enterprise 企业级应用。
System 查看GrayLog系统相关信息。
2.使用-排查问题
简单介绍完毕,说下怎么用,看日志就是为了排查问题。可以从Streams点进来,展示面板内容,如果这个搜索没有命名,可能看到Untitled Search:
你可以对这个搜索命名:
搜索包含默认流:
也可以从DashBoards点进来:
然后找到要排查问题的那个服务,点击服务名称,Add to query:
会打开这样一个界面:
然后选择某个level,点击Show Document for value,展示日志信息:
面板默认是静态的,要切换到实时的点那个时钟,选择Relative,相对实时查询:
Absolute 基于完全的查询,查询实时日志;Keyword 预览日志。时钟那里选了Relative后,Not updating打开,实时更新,可以选择更新频率:
当要捕捉日志的时候,可以开启实时更新,操作完毕后关闭实时更新,便于查找要的日志。找到要排查的接口,找到这个接口后台对应的SQL,然后在面板上查。比如要找的日志关键字带有”union all”,然后是某个id,输出日志后,可以搜索这个id或者”union all”:
也可以把日志内容Add to query,注意:condition:value是精确查找,不是模糊搜索:
日志信息列都可以作为搜索条件:
日志信息列来源查看可以点击Fields,这些列应该包含默认列和配置列:
点击 all including reserved fields,可以看到更多的列,不是所有的列都在日志详情中展示:
Show top values 排序
Statistics 统计
Add to all tables 将此列添加到所有表格
Remove from all table 将此列从所有表格删除
3.使用-定制化面板
以创建一个流面板为例,比如说只要某些列的,或者自己只关注一个或某几个服务的,点击左边的导航条:
选择Create:
可以看到已经定义了好了两个面板,这两个面板的VISUALIZATION TYPE(下面讲到)是Single Number:
选中ˇ,点击Delete可以把一个面板从页面上删除:
点击Aggregation,会创建一个空的聚合(规则):
点击Edit,打开设置界面,VISUALIZATION TYPE默认是Table,设置项会随VISUALIZATION TYPE不同稍有不同:
VISUALIZATION TYPE 可视化类型
ROWS 要显示的行,多选COLUMNS 要显示的列,多选
SORTING 排序列,暂时没有选项,点击添加
DIRECTION 排序方向
注意:默认情况下,字段数据在文本字段上被禁用:
随便设置下看,VISUALIZATION TYPE设置成Bar Chart-条形图:
METRICS:衡量指标。
VISUALIZATION CONFIG Mode 可视化类型,是Stack和Relative时,柱状图是堆叠的,Relative相对更实时,VISUALIZATION CONFIG Mode是Overlay时,柱状图是覆盖的。
下面是反应各服务当天日志数量的柱状图:
最后可以点击右上角的Save或者Save as,保存你的面板:
如果保存失败,大概是管理员配置了不允许用户添加面板,可以联系管理员。