zoukankan      html  css  js  c++  java
  • 部署 Graylog 日志系统

    Graylog 是与 ELK 可以相提并论的一款集中式日志管理方案,支持数据收集、检索、可视化 Dashboard。本节将实践用 Graylog 来管理 Docker 日志。

    Graylog 架构

    Graylog 架构如下图所示:

    Graylog 负责接收来自各种设备和应用的日志,并为用户提供 Web 访问接口。

    Elasticsearch 用于索引和保存 Graylog 接收到的日志。

    MongoDB 负责保存 Graylog 自身的配置信息。

    与 ELK 一样,Graylog 的部署方案很灵活,快速搭建一个 all-in-one 的环境对于学习很有益处;部署一个高可用高伸缩性的集群对于生成环境也是必要的。

    接下来我们将在容器环境下搭建 Graylog。

    部署 Graylog

    Graylog 及其相关组件都将以容器的方式部署。

    MongoDB
    docker run --name graylog-mongo -d mongo:3

    Elasticsearch

    docker run --name graylog-elasticsearch -d elasticsearch:2 elasticsearch -Des.cluster.name="graylog"

    Graylog

    docker run --link graylog-mongo:mongo 
    --link graylog-elasticsearch:elasticsearch
    -p 9000:9000
    -p 12201:12201/udp
    -e GRAYLOG_WEB_ENDPOINT_URI="http://192.168.56.101:9000/api"
    -e GRAYLOG_PASSWORD_SECRET=somepasswordpepper
    -e GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
    -d graylog2/server

    --link 参数让 Graylog 容器能够用主机名 mongo  elasticsearch 访问 MongoDB 和 Elasticsearch 的服务。

    -p 9000:9000 映射 Graylog 的 Web 服务端口 9000。

    -p 12201:12201/udp 映射 Graylog 接收日志数据的 UDP 端口 12201。

    GRAYLOG_WEB_ENDPOINT_URI 指定 Graylog 的 Web 访问 URI,请注意这里需要使用 Docker Host 的外部 IP(在实验环境中为 192.168.56.101)。

    GRAYLOG_ROOT_PASSWORD_SHA2 指定 Graylog 管理员用户密码的哈希值,在这个例子中密码为 admin。可以通过如下命令生成自己的密码哈希,比如:

    echo -n yourpassword | shasum -a 256

    容器启动后,在 Web 浏览器中访问 http://[Docker Host IP]:9000

    用户名/密码 = admin/admin

    登录后显示 Getting Started 页面。

    配置 Graylog

    目前 Graylog 还没法接收任何日志,我们需要配置一个 Input,点击顶部菜单 System -> Inputs

    Graylog 支持多种 Input 类型,与 Graylog 对接的 Docker logging driver 是 gelf,因此这里我们需要运行一个 GELF UDP 类型的 Input。

    点击 

     Node 列表中选择 Graylog 容器。
    Title 命名为 docker GELF input
    其他保持默认值,其中 port 12201 即为前面启动容器时映射到 Host 的端口,用于接收日志数据。

    点击,Input 成功运行。


    Graylog 已经准备就绪,接下来就可以将容器的日志发送给 Graylog 了,下节继续。

    书籍:

    1.《每天5分钟玩转Docker容器技术》
    https://item.jd.com/16936307278.html

    2.《每天5分钟玩转OpenStack》
    https://item.jd.com/12086376.html

  • 相关阅读:
    js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
    js 日期比较大小,js判断日期是否在区间内,js判断时间段是否在另外一个时间段内
    tfs 2013 利用 web deploy 完成asp.net站点自动发布
    Web Deploy 服务器安装设置与使用
    MD5加密解密类(asp.net)&使用MD5过时处理
    C# 中Web.config文件的读取与写入
    巧用Ajax的beforeSend 提高用户体验
    一个通用的分页类
    EventSource 对象用于接收服务器发送事件通知,是网页自动获取来自服务器的更新
    Java WebSockets
  • 原文地址:https://www.cnblogs.com/CloudMan6/p/7808708.html
Copyright © 2011-2022 走看看