使用docker 部署graylog集群

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

 
 
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值