Graylog:集中日志解决方案

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

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

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

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

二:什么是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带有的权限管理,和告警功能比较完善!

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

 

转载于:https://my.oschina.net/baishi/blog/776003

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值