Graylog

今天在思考日志的解决方案的时候,在 GitHub 看到一个挺有意思的项目。

当前市场上也存在一些 LaaS (Logging as a Service) 提供商。有的管自己叫 Cloud Logging, 有的叫自己 Centralized Logging。收费都贼贵。于是看看有没有开源的解决方案。

(追记:Elastic 提供了一套工具链,有时间可以看看。https://www.elastic.co/products/logstash

于是搜到 Graylog 。GitHub 上只有3k不到的Star,不过个人试用了一下下,感觉绝对是个有背景的项目……工业级的。

关于安装,文档的 Installing 部分几乎是手把手教你了。其中还提供了 VM 的解决方案,贼强。反正我这边是把闲置的一台阿里云拿来做试验了。这里必须喷一下阿里云深圳节点的出口。下了我一个多小时啊,仅仅100M的东西。顺便一提阿里云出国带宽最棒的似乎是北京机房。

Graylog 可以算是体量比较大的玩意了…… 本体 Java、数据存储索引用的MongoDB + ElasticSearch。

小记一下个人安装遇到的坑。 我按照 Ubuntu installation 的指引进行操作,最后发现连不上 Web Console。解决方案最简单的大概是重启。

Graylog 提供了多样的日志输入方式。包括直接接入syslogd、HTTP/TCP/UDP方式接受GELF(Graylog Extended Log Format)结构化日志信息、RabbitMQ等等……也有许多语言的SDK(有的有些过时了)。

于是想要接收日志信息,首先需要 System -> Input 里建立一个Input。然后喂点东西。就可以在 Search 面板查看。

此外也可以按照条件设定 Alert。可以 Email 或者 Webhook 。功能上还是挺全的。

打算接入一些什么深入研究一下。

 

==================================

GLEF HTTP 一开始试了几次也没成功,后来发现这个接口只允许 Raw JSON 直接提交,表单是不可以的。

此外关于 HTTPS 的方案,我最终选择了用 Nginx 转发 + Let’s Encrypt 证书。

注意,Nginx Proxy 需要设置一个 Header 来告诉后端 API 地址。

proxy_set_header X-Graylog-Server-URL https://graylog.example.org/api

这里的地址换成自己实际的地址。不需要额外配置。

 

============================

GrayLog 默认监听的地址是127.0.0.1 ,如果希望外网访问,在配置中把 Web Console 的监听地址修改为 0.0.0.0 或者 IPv6 的 :: 即可。

“Graylog”的2个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注