graylog由Graylog Collector -> Graylog Server -> Graylog Web 三部分组成,在官方给出的参考文档(http://docs.graylog.org/)中,给出的推荐方案是:MongoDB + elasticsearch + graylog的方案。
建议与考虑:
在为Graylog扩展资源时,有一些经验法则:
• Graylog节点应重点关注CPU功能。这些还可以为浏览器提供用户界面。
• Elasticsearch节点应具有尽可能多的RAM和可以获得的最快磁盘。一切都取决于此处的I / O速度。
• MongoDB正在存储元信息和配置数据,不需要很多资源。
还请记住,提取的消息仅存储在Elasticsearch中。如果您在Elasticsearch集群中丢失了数据,则消息消失了-除非已创建索引的备份。
1.1 安装部署图
最小安装:

生产环境安装:

各个组件功能简介

1.2 graylog的优缺点:
1.2.1 graylog的优点
 自己开发采集日志的脚本,并用curl/nc发送到Graylog Server,发送格式是自定义的GELF,Flunted和Logstash都有相应的输出GELF消息的插件。自己开发带来很大的自由度。例如:实际上只需要用inotifywait监控日志的modify事件,并把日志的新增行用curl/netcat发送到Graylog Server就可。
 搜索结果高亮显示
 采集原始日志,并可以事后再添加字段
 用户以及权限管理
 支持邮件报警
 开源,支持不同程度的扩展,官方提供:https://marketplace.graylog.org/
1.2.2 graylog的缺点
 网上的参考资料较少,没有ELK多,很多都需要看官方文档然后翻译摸索
1.3 部署
版本号:
jdk: 1.8
elasticsearch: 6.3.2
graylogserver:3.2.6
mongo:3.6.3
graylogsidecar:1.0.2
filebeat: 6.2.3
1.3.1 ES集群的部署
较为简单,此处不在多说
1.3.2 Mongo集群的部署
较为简单,此处不在多说
1.3.3 graylogserver部署
获取rpm安装包,安装
rpm –ivh graylog-server-3.2.6-1.noarch
使用pwgen生成 password_secret加密码,命令:
pwgen -N 1 -s 96
生成登陆密码,登录的时候是123456,命令:
echo -n 123456 | sha256sum
编辑配置文件
vim /etc/graylog/server/server.conf 修改红色的地方

is_master = true
node_id_file = /etc/graylog/server/node-id
password_secret = ZE824wT64qzPwKmFaRNZIYvWfcuBGnZZwR0mVUOtF8OFCJWjOKocc6zi8tguAwisrjl7n9XrFjqqbFLXQ0to4g1uFuyoRSLb
root_password_sha2 = 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
root_timezone = Asia/Shanghai
bin_dir = /usr/share/graylog-server/bin
data_dir = /var/lib/graylog-server
plugin_dir = /usr/share/graylog-server/plugin
http_bind_address = 0.0.0.0:9000
http_publish_uri = http://ip:9000/
elasticsearch_hosts = http://esip:9200,http://esip:9200,http://esip:9200
rotation_strategy = count
elasticsearch_max_docs_per_index = 20000000
elasticsearch_max_number_of_indices = 20
retention_strategy = delete
elasticsearch_shards = 1
elasticsearch_replicas = 0
elasticsearch_index_prefix = graylog
allow_leading_wildcard_searches = false
allow_highlighting = false
elasticsearch_analyzer = standard
output_batch_size = 500
output_flush_interval = 1
output_fault_count_threshold = 5
output_fault_penalty_seconds = 30
processbuffer_processors = 5
outputbuffer_processors = 3
processor_wait_strategy = blocking
ring_size = 65536
inputbuffer_ring_size = 65536
inputbuffer_processors = 2
inputbuffer_wait_strategy = blocking
message_journal_enabled = true
message_journal_dir = /var/lib/graylog-server/journal
lb_recognition_period_seconds = 3
mongodb_uri = mongodb://localhost/graylog
mongodb_max_connections = 1000
mongodb_threads_allowed_to_block_multiplier = 5
proxied_requests_thread_pool_size = 32

vim /etc/sysconfig/graylog-server
修改javahome
JAVA=/export/server/jdk/bin/java
启动
systemctl start graylog-server
systemctl enable graylog-server
1.4 nginx代理

server
{listen 80 default_server;listen [::]:80 default_server ipv6only=on;server_name graylog.example.org;location / {proxy_set_header Host $http_host;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Graylog-Server-URL http://$server_name/;proxy_pass       http://127.0.0.1:9000;}
}

1.5 页面介绍
登录:http://ip:9000/ 账号密码:admin/123456

下面将从日志采集,分流,存储,es索引管理,展示查询叙述:
采集:
sidecar使用filebeat进行日志采集,需要在被采集的机器上安装sidecar和filebeat,安装配置sidecar:
创建token,如下图:

在被监控的linux机器上安装sidecar,命令如下:
rpm –ivh graylog-sidecar-1.0.2-1.x86_64.rpm
vim /etc/graylog/sidecar/sidecar.yml

graylog-sidecar -service install
systemctl start graylog-sidecar
如有报错,查看:/var/log/graylog-sidecar/下的日志
安装filebeat,此处安装的是6
rpm –ivh filebeat-6.2.3-x86_64.rpm 不用启动,后续会介绍为什么不用启动
页面配置:创建sidecar采集器,如下图:

sidecar配置:

点击下面的update,
然后点击机器与sidecar绑定,然后启动:

启动之后如果没有报错,会在机器上出现进程:

可以看出,其实本质上是sidecar通过filbeat来启动的
那个配置文件就是我们再页面上的配置,每次更新新加日志来源的时候,只需在页面上配置即可。
索引管理:
点击system/index,然后创建索引,可以自定义索引前缀,分片,副本等信息。
分流:分流的意思是创建一定的流规则,然后可以根据此规则,将日志分流,例如hbase的日志放到hbase的流中,然后放到hbase的索引中存储起来。
点击streams,然后创建stream,如下图:

下面我们来看一条具体的日志内容:

下面配置的那个key就是上图中的,必须符合value才可以进入到这个流中,进而存到流对应的索引中。

完成规则创建后,点击start即可开启流。
展示与搜索:
可以在DashBoard中创建仪表盘:

剩下就是要的是熟练操作查询条件,增加常用的日志来源,例如mysql,nginx等日志。

GrayLog日志平台相关推荐

  1. 比 ELK 更简洁、高效!企业级日志平台后起之秀 Graylog!

    欢迎关注方志朋的博客,回复"666"获面试宝典 当我们公司内部部署很多服务以及测试.正式环境的时候,查看日志就变成了一个非常刚需的需求了. 是多个环境的日志统一收集,然后使用 Ng ...

  2. ELK不香了?企业级日志平台后起之秀 Graylog

    -     前言    - 当我们公司内部部署很多服务以及测试.正式环境的时候,查看日志就变成了一个非常刚需的需求了. 是多个环境的日志统一收集,然后使用 Nginx 对外提供服务,还是使用专用的日志 ...

  3. 后端技术:ELK不香了?企业级日志平台新框架 Graylog介绍

    " 当我们公司内部部署很多服务以及测试.正式环境的时候,查看日志就变成了一个非常刚需的需求了. 是多个环境的日志统一收集,然后使用 Nginx 对外提供服务,还是使用专用的日志收集服务 EL ...

  4. 日志平台-统一日志平台ELK管理

    ElasticSearch 术语概念 之前文章说了 ES的集群管理 remote cluster https://www.elastic.co/guide/en/elasticsearch/refer ...

  5. 企业级日志平台新秀!比 ELK 更轻量、高效

    点击关注公众号,回复"1024"获取2TB学习资源! 当我们公司内部部署很多服务以及测试.正式环境的时候,查看日志就变成了一个非常刚需的需求了.是多个环境的日志统一收集,然后使用 ...

  6. 日志平台(网关层) - 基于Openresty+ELKF+Kafka

    背景介绍 1.问题现状与尝试 没有做日志记录的线上系统,绝对是给系统运维人员留下的坑.尤其是前后端分离的项目,后端的接口日志可以解决对接.测试和运维时的很多问题.之前项目上发布的接口都是通过Oracl ...

  7. 阿里PB级Kubernetes日志平台建设实践

    阿里PB级Kubernetes日志平台建设实践 QCon是由InfoQ主办的综合性技术盛会,每年在伦敦.北京.纽约.圣保罗.上海.旧金山召开.有幸参加这次QCon10周年大会,作为分享嘉宾在刘宇老师的 ...

  8. 有赞统一日志平台初探

    https://tech.youzan.com/you-zan-tong-ri-zhi-ping-tai-chu-tan/ 一.引言 自有赞成立以来,发展迅猛,业务增长很快,业务系统数量大,每天都会产 ...

  9. 干货分享 | 阿里PB级Kubernetes日志平台建设实践

    嘉宾 | 元乙 随着近两年的发展,Kubernetes 早已成为容器编排领域的标准,现在非常多的企业基于 Kubernetes 构建整个微服务的开发.运维平台,而日志是其中必不可少的核心功能.本文整理 ...

最新文章

  1. Node.js技术手册
  2. 计算机本科重邮调剂重庆其他二本,重庆多少分能上二本大学,重庆二本大学最低分数线...
  3. 【已解决】Could not find resource jdbc.properties
  4. MySQL IFNull 详解
  5. mysql变量 exec_MySQL slave_exec_mode 参数说明
  6. 从0到1使用VUE-CLI3开发实战(五):模块化VUEX及使用vuetify
  7. activiti 生命周期_一文让你读懂什么是Activiti工作流
  8. 一行Java代码实现游戏中交换装备
  9. Idea使用SVN教程
  10. PHP实现打印出库单,有没有实现过?
  11. 【知识兔】Excel多级联动关联下拉菜单的制作,一看就会!
  12. 各个国家的货币符号和英文缩写全解析
  13. arduino电风扇程序_【NO.7】智能风扇控制器-
  14. 你真的了解width这个属性吗
  15. opencv立方体的画法_美术生干货,最详细的立方体透视变化及画法讲解,不看后悔!...
  16. 史上最大数据泄露:维基解密公布CIA黑客兵工厂
  17. selenium模拟浏览器解决反监测,获取cookies解决登录问题
  18. (前端学习)寒假第三周周报
  19. 数字孪生城市核心能力要素
  20. JS数组常用和不常用的方法总结

热门文章

  1. Oracle 触发器(tigger)4
  2. (翻译)Understanding Convolutional Neural Networks for NLP
  3. Qt属性系统及Q_PROPERTY宏的使用
  4. sklearn中predict()与predict_proba()返回值意义
  5. input type属性
  6. 计算机组成的分析指令的op,计算机组成原理
  7. 接口与抽象类的区别,为什么要用接口,抽象类不香吗?
  8. 用Wireshark抓包分析协议 计算机网络
  9. 一个IT人才的精彩故事
  10. onkeyup 事件