graylog 相比elk 有比较简单的方面,使用简单,配置简单,可视化工具是一体化的,比较方便

搭建使用docker,多主机部分,结合docker-compose 进行管理
具体docker 配置文件参考 http://docs.graylog.org/en/latest/pages/installation/docker.html

参考架构图

部署说明

mongodb 是复制集,对于es 是1master多data node
graylog 使用master node 模型(容器部署使用网络模型是host,因为要求多节点的时候rest——api 地址必须是可以互通的)

es 配置

  • master
cluster.name: grayloges_cluster
node.name: node-master
node.master: true
node.data: true
http.port: 9200
network.host: 0.0.0.0
network.publish_host: masterip
discovery.zen.ping.unicast.hosts: ["masterip"]
http.cors.enabled: true
http.cors.allow-origin: "*"
  • data node
cluster.name: grayloges_cluster
node.name: node-data
node.master: false
node.data: true
http.port: 9200
network.host: 0.0.0.0
network.publish_host: data-ip
discovery.zen.ping.unicast.hosts: ["masterip"]
http.cors.enabled: true
http.cors.allow-origin: "*"

graylog 配置

  • master
主要是
is_master = true
  • node
is_master = false
  • 公共部分
mongodb_uri 使用复制集连接方式
elasticsearch_hosts 指定多个es 节点地址

启动

使用的是容器
配置文件通过挂在模式进行的
比如:
graylog: volumes:
- ./graylog-data:/usr/share/graylog/data/journal
- ./config/graylog.conf:/usr/share/graylog/data/config/graylog.conf
es:
volumes:
- ./es:/usr/share/elasticsearch/data
- ./config/elasticsearch-data92.yml:/usr/share/elasticsearch/config/elasticsearch.yml

运行效果


常见问题解决

- NodePingThread - Did not find meta info of this node. Re-registering
节点之间时间必须同步,后者机器负载比较高,加大 stale_master_timeout 时间
或者调整jvm 参数
- 集群的话,必须存在一个master 而且只能有一个
- 使用docker 进行部署,因为有一个要求节点之间网络必须是可通信的,但是默认没有多docker 主机网络打通
解决方法: network:host 或者overlay 打通多主机网络,或者主机路由

参考资料

http://docs.graylog.org/en/2.4/pages/configuration/multinode_setup.html#configure-multinode
http://docs.graylog.org/en/latest/pages/configuration/server.conf.html

 
 
 
 

使用docker 部署graylog集群的更多相关文章

  1. Docker部署Hadoop集群

    Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...

  2. Docker部署Elasticsearch集群

    http://blog.sina.com.cn/s/blog_8ea8e9d50102wwik.html Docker部署Elasticsearch集群 参考文档: https://hub.docke ...

  3. 基于Docker部署ETCD集群

    基于Docker部署ETCD集群 关于ETCD要不要使用TLS? 首先TLS的目的是为了鉴权为了防止别人任意的连接上你的etcd集群.其实意思就是说如果你要放到公网上的ETCD集群,并开放端口,我建议 ...

  4. Docker部署zookeeper集群和kafka集群,实现互联

    本文介绍在单机上通过docker部署zookeeper集群和kafka集群的可操作方案. 0.准备工作 创建zk目录,在该目录下创建生成zookeeper集群和kafka集群的yml文件,以及用于在该 ...

  5. RabbitMQ系列(五)使用Docker部署RabbitMQ集群

    概述 本文重点介绍的Docker的使用,以及如何部署RabbitMQ集群,最基础的Docker安装,本文不做过多的描述,读者可以自行度娘. Windows10上Docker的安装 因为本人用的是Win ...

  6. Docker部署Consul集群

    服务介绍 Consul是一种分布式.高可用.支持水平扩展的服务注册与发现工具.包含的特性有:服务发现.健康检查.键值存储.多数据中心和服务管理页面等. 官方架构设计图: 图中包含两个Consul数据中 ...

  7. Docker环境下的前后端分离项目部署与运维(八)使用Docker部署RabbitMQ集群

    下载RabbitMQ镜像 镜像地址RabbitMQ Docker官方认证镜像地址:https://hub.docker.com/_/rabbitmq 安装命令安装之前,切记把Docker Hub设置为 ...

  8. 使用docker部署hadoop集群

    最近要在公司里搭建一个hadoop测试集群,于是采用docker来快速部署hadoop集群. 0. 写在前面 网上也已经有很多教程了,但是其中都有不少坑,在此记录一下自己安装的过程. 目标:使用doc ...

  9. docker部署Broketrmq集群

    部署Broketrmq集群 通过docker-compose形式部署 首先创建 broker 配置文件,配置文件如下: brokerClusterName = DefaultCluster #集群名 ...

随机推荐

  1. 2018 Multi-University Training Contest 4 Solution

    A - Problem A. Integers Exhibition 留坑. B - Problem B. Harvest of Apples 题意:计算$\sum_{i = 0}^{i = m}C( ...

  2. bzoj1625 / P2871 [USACO07DEC]手链Charm Bracelet

    P2871 [USACO07DEC]手链Charm Bracelet 裸01背包. 看到自己1年半前写的30分code.......菜的真实(捂脸) #include<iostream> ...

  3. 20162314 《Program Design & Data Structures》Learning Summary Of The Eighth Week

    20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Eighth Week ...

  4. shell 判断文件是否是可执行文件

    测试变量指定的文件是否存在且是可执行文件.如果存在且是可执行文件,则执行该文件,否则通过chmod命令赋予该文件可执行权限. //test.sh #!/bin/bash echo "ente ...

  5. SSH防止暴力破解--fail2ban

    一.ssh密钥对无交互登录 实战1:通过密钥进行sshd服务认证 服务端:linl_S    IP:10.0.0.15 客户端:lin_C    IP:10.0.0.16   1)在客户端生成密钥对 ...

  6. Ant是什么

    Ant是什么? 一.总结 一句话总结: 编译 打包 测试 工具 xml Ant是Java的生成工具,是Apache的核心项目: Ant类似于Unix中的Make工具,都是用来编译.生成: Ant是跨平 ...

  7. Leetcode 50

    //1开始我只是按照原来快速幂的思想,当n <0 时,n变成-n,发现当n取-INTMAX时会发生越界的问题,然后在改快速幂代码的时候逐渐了解到快速幂的本质,其实位运算对快速幂来说速度加快不了多 ...

  8. ASP.NET Page 指令

    一些重要的Page指令 虽然Page公开了很多属性,让我们可以在运行时调整它的状态与行为,但是,还有些重要的参数却是以“指令”方式提供的,需要在设计时就指定.下面是我整理的一些我认为 比较重要并且经常 ...

  9. mysql插入中文数据报错 java.sql.SQLException: Incorrect string value: '\xE5\x90\x88\xE8\xAE\xA1' for column

    1.我们创建数据库的时候没有更改数据库的字符集为utf8. 在mysql工具中,右击数据库,->"改变数据库",->选择“基字符集”为utf-8; 2,数据库中表的字符 ...

  10. mysql迁移oracle

    有很多应用项目, 刚起步的时候用MYSQL数据库基本上能实现各种功能需求,随着应用用户的增多,数据量的增加,MYSQL渐渐地出现不堪重负的情况:连接很慢甚至宕机,于是就有把数据从MYSQL迁到Orac ...