• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

Docker:部署Graylog日志管理服务器

Docker 彭东稳 8年前 (2017-01-04) 48595次浏览 已收录 1个评论

先看看推荐!国外程序员整理的系统管理员资源大全中,国外程序员整理的日志聚合工具的列表:

日志管理工具:收集,解析,可视化

  • Elasticsearch – 一个基于Lucene的文档存储,主要用于日志索引、存储和分析。
  • Fluentd – 日志收集和发出
  • Flume -分布式日志收集和聚合系统
  • Graylog2 -具有报警选项的可插入日志和事件分析服务器
  • Heka -流处理系统,可用于日志聚合
  • Kibana – 可视化日志和时间戳数据
  • Logstash -管理事件和日志的工具
  • Octopussy -日志管理解决方案(可视化/报警/报告)

一、Graylog介绍

Graylog是强大的日志管理、分析工具。它基于 Elasticsearch, Java和MongoDB。

Graylog可以收集监控多种不同应用的日志。但是为了示范说明,我只收集syslog。并且,我将会把用到的组件全部安装到一个单独的服务器上。对于大型、生产系统你可以把组件分开安装在不同的服务器上,这样可以提高效率。

Graylog有4个基本组件:

Graylog Server:这个服务负责接收和处理日志/消息,并且和其他组件沟通。

Elasticsearch:存储所有的日志,它的性能依赖内存和硬盘IO。

MongoDB:存储元数据,负载不高。

Web接口:用户接口。

下面是Graylog组件之间的关系图:

Docker:部署Graylog日志管理服务器

二、Docker部署Graylog

Docker部署Graylog2

首先提供一个docker-compose.yml文件

注意,这里的12201和12202是用来提供给客户端打日志的端口,所以后面设置了多少个INPUT,这里就需要开启多少个端口。

启动graylog

当graylog启动完成后,我们需要把配置文件复制出来,放到宿主机中,然后再通过挂在的方式挂在到容器中,这样就可以修改配置文件了。

就是把这三个文件复制出来,然后放到本地/data/config目录下。

然后把docker-compose文件中的graylog挂载的注释去掉,然后重新docker-compose up -d操作。

三、时区和高亮显示

修改graylog.conf配置文件的默认时区(UTC)为(Asia/Shanghai)

搜索高亮显示

四、登录Graylog Web

访问:http://10.106.201.11:9000,默认用户名密码admin/admin。

登录之后界面如下:

Docker:部署Graylog日志管理服务器

添加要接收的其他服务器syslog日志:System->Inputs->Syslog UDP->Launch new input。

Docker:部署Graylog日志管理服务器

在弹出的窗口上输入如下信息:

Title: udp

Port: 12202

Bind address: 0.0.0.0(要收集的其他服务器ip地址)

如果你需要收集多个服务器的日志,重复上面步骤。

五、接收日志配置

现在,我们的Graylog服务器已经做好了接收其他服务器发来日志的准备。下面我们还需要配置其他服务器,让这些服务器给Graylog服务器发送日志。

配置其他服务器给Graylog服务器发送syslog,创建rsyslog配置文件90-graylog.conf:

添加如下代码,把graylog_server_IP替换为Graylog服务器ip地址:

重启rsyslog服务使生效:

配置完成之后,回到Graylog Web,点击Sources,查看是否有新添加rsyslog。

然后登陆一下此服务器产生一些登陆日志,然后回到Graylog,在search页面就可以看到如下日志信息了。

Docker:部署Graylog日志管理服务器

可以看到graylog的日志信息跟/var/log/secure日志信息是一样的。

Graylog——日志聚合工具中的后起之秀


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (5)
[资助本站您就扫码 谢谢]
分享 (0)

您必须 登录 才能发表评论!

(1)个小伙伴在吐槽