文档章节

Graylog:集中日志解决方案

EDIAGD
 EDIAGD
发布于 2016/10/26 15:12
字数 1437
阅读 2217
收藏 5

一:为什么需要集中日志解决方案?

在公司服务机子部署越来越多的情况下,让我们来想想会遇到的问题:

  • 开发人员不能登录线上服务器查看详细日志,经过运维周转费时费力
  • 日志数据分散在多个系统,难以查找
  • 日志数据量大,查询速度慢
  •  一个调用会涉及多个系统,难以在这些系统的日志中快速定位数据
  •  数据不够实时
  • 很难对数据进行挖掘,分析,业务告警,审计

这些问题的存在让开发以及运维人员很是头痛,严重影响效率!

二:什么是graylog技术栈?

为了解决上述问题,我们需要一个日志的集中管理方案,graylog技术栈:

  • Collector-sidecar(收集日志)或者syslog
  • Mongodb(存储日志源文件)
  • Elasticsearch(提供搜索日志)
  • Graylog2.1.1(搜索和视图展示日志,告警和权限)

有了这些,我们就能把日志先收集起来,进行我们想要的分析之后,web的形式展示出来,提供查询!

三:graylog的安装部署

安装环境:linux centOS系统安装,已安装JDK1.8版本,安装启动顺序

  1. 安装部署mongodb
  2. 安装部署elasticsearch
  3. 安装部署graylog
  4. 安装部署Graylog Collector Sidecar

1:安装部署mongodb

参考我的博文:linux下安装mongodb  https://my.oschina.net/baishi/blog/758367

2:安装部署elasticsearch

(1)下载jar包

wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.5/elasticsearch-2.3.5.tar.gz

如果报错

执行

wget --no-check-certificate

https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.5/elasticsearch-2.3.5.tar.gz

(2)解压jar包

tar -zxvf elasticsearch-2.3.5.tar.gz

(3)修改elasticsearch.yml配置文件

elasticsearch-2.3.5安装目录conf下执行

vim elasticsearch.yml

cluster.name: graylog                              #集群名称建议命名graylog,便于识别区分

node.name: elasticsearch-node-92         # elasticsearch集群节点名称

network.host: 自己安装节点IP                 # 绑定节点IP

http.port: 9200                                         # 外部访问端口,默认,也可以安全考虑修改

discovery.zen.ping.multicast.enabled: false   #多播发现方式关闭,因为graylog采用单播方式发现elasticsearch集群方式

discovery.zen.ping.unicast.hosts                   #多个节点用逗号隔开

discovery.zen.minimum_master_nodes: 3    # elasticsearch集群节点,最少选举数,这个数一定要设置为整个集群节点个数的一半加1,即N/2+1,必须为奇数

(4)启动elasticsearch服务

新建一个elasticsearch用户,出于安全考虑,elasticsearch服务不能使用root用户启动

创建elasticsearch用户组及elasticsearch用户,执行

groupadd elasticsearch

useradd elasticsearch -g elasticsearch -p elasticsearch

(其中-g使用户属于某个组,-p为新用户使用加密密码)

更改elasticsearch-2.3.5文件夹及内部文件的所属用户及组为elasticsearch:elasticsearch

chown -R elasticsearch:elasticsearch  elasticsearch-2.3.5

切换用户

su elasticsearch

在elasticsearch-2.3.5/bin目录下执行

./elasticsearch  -d

解释:-d:服务在后台启动

(5)检查elasticsearch服务状态

浏览器访问:http://elasticsearch节点所在IP:9200/

证明服务启动成功

(6)注意事项

elasticsearch集群安装,各个节点,要保证elasticsearch.yml中cluster.name: graylog,集群名称一致   

如果想停止服务

ps -ef | grep elastic

 kill -9 进程号

3:安装部署graylog

(1)下载安装包

 wget https://packages.graylog2.org/releases/graylog/graylog-2.1.1.tgz

(2)解压安装包

tar -zxvf graylog-2.1.1.tgz

(3)修改配置文件

修改安装目录下 graylog.conf.example 文件

vim graylog.conf.example

web_listen_uri 值是graylog启动成功后,web服务访问地址

rest_listen_uri 的值,是graylog启动成功后,api访问地址

其中 password_secret 的值用命令生成

 pwgen -N 1 -s 96

其中root_password_sha2 的值使用命令生成

 echo -n 123456| sha256sum  (这里对密码123456哈希加密)

elasticsearch_cluster_name 值必须是elasticsearch配置文件中的cluster_name

elasticsearch_discovery_zen_ping_unicast_hosts 填写elasticsearch地址,如果是多个,用逗号隔开

elasticsearch_discovery_zen_ping_multicast_enabled = false 多播模式关闭

elasticsearch集群分片数量

elasticsearch绑定的节点IP

mongodb安装服务的ip地址

 设置告警邮件发送者信息

(4)复制配置文件

 因为graylog安装bin目录下,默认启动配置文件

配置文件路径:/etc/graylog/server/server.conf

所以需要将 graylog.conf.example 复制到/etc/graylog/server/目录下,并且改名 server.conf

执行命令:

mkdir -p /etc/graylog/server/ 

cp graylog.conf.example /etc/graylog/server/server.conf

(5)启动graylog

在graylog安装bin目录下执行

./graylogctl start

查看日志,在graylog安装目录下执行

tail -200f /log/graylog-server.log

如果报错:

原因:

在mongodb版本2.6之后,是需要日志journaling设置的,而默认情况下是关闭的

解决办法:

在mongodb启动命令加上 --journal

最后启动命令:

./mongod --dbpath=/usr/local/mongodb/data/ --fork --logpath=/usr/local/mongodb/logs --storageEngine=mmapv1 --journal

重启mongodb后,重启graylog服务即可!

graylog启动成功,日志输出

如果需要停止graylog服务,在graylog安装bin目录下执行

 ./graylogctl stop

(6)访问graylog

graylog启动成功后,浏览器访问:graylog安装IP:9000

用户名:admin (配置文件中)

密码:123456 (配置文件中 root_password_sha2 加密123456值)

四:总结

到此,基础的集中日志管理graylog安装完毕!,后续将继续介绍:

安装部署Graylog Collector Sidecar 收集应用日志

采用syslog收集日志方式

graylog一些使用,包括日志截取,告警等

之前也实践过ELK技术栈,后来选型graylog,是基于graylog带有的权限管理,和告警功能比较完善!

目前遗留的问题,是后期随着时间的积累,怎样去维护历史日志数据,欢迎有相关经验的朋友,一起讨论!

 

© 著作权归作者所有

共有 人打赏支持
EDIAGD
粉丝 48
博文 149
码字总数 58327
作品 0
嘉定
后端工程师
部署 Graylog 日志系统 - 每天5分钟玩转 Docker 容器技术(92)

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

CloudMan6
2017/11/10
0
0
求web界面的syslog日志分析工具

想要实现一个日志集中管理系统。要求将客户机的syslog日志全部给一台日志中央服务器(已通过syslog自身功能实现),然后通过web界面进行分析、管理。想问下各位大侠,有没有解决方案或者开源...

pkhanhao
2012/02/13
3.6K
4
阿里云上搭建Graylog日志服务器的几个注意事项

1、故障现象 因项目需要,需要配置集中的日志服务器,本来打算上ELK,但后面申请的资源太少,改用更轻量级的日志服务器Graylog,关于Graylog的介绍以及安装部署我就不在这里写了,参考官方文...

冰冻vs西瓜
08/01
0
0
Graylog2+Elasticsearch+Nxlog

博客地址已转移至:http://cocojoey.lofter.com/post/1eff2f40_10a6d448 这里今后不再更新。。。。。。。。。。。。。 日志管理工具:收集,解析,可视化 Elasticsearch - 一个基于Lucene的文...

小杰linux
2017/07/19
0
0
如何用 Graylog 管理日志?- 每天5分钟玩转 Docker 容器技术(93)

上一节已经部署好了 Graylog,现在学习如何用它来管理日志。 首先启动测试容器。 docker run -d --log-driver=gelf --log-opt gelf-address=udp://localhost:12201 --log-opt tag="log-test...

CloudMan6
2017/11/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
41分钟前
0
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
1
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
4
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
今天
2
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部