发现 Graylog 其实是在国外 IGP 项目竞选的时候, 一个非常不错的 idea, 当时是 Robert 提出的构建这个日志管理平台, 私底下看他演示了 demo, 首先具有可视化后台日志数据, 这点很实用后来发现, graylog 的真正强大, 是它赋予日志管理系统具有 google 的能力, 即可以对日志进行全文搜索, 他多次这样形容: Anything can be, Anything can be 然而, 太过超前的概念, 若你所处的环境无法理解, 结果总是会很不幸
我在一篇博客上看到这样的评价 Graylog 简直就是开源版的 Splunk, 后者是著名的企业级超级日志管理系统, 然而收费高达 3 万美金再次佐证一个真理: 知识就是财富
其实, 对于后台运维的需求, 无非可视化 / 报警 / 报告这些国内一些相关初创公司发展迅猛, 像轻云和 one, 可以提供服务器的相关业务的探针服务, 检测性能及后台日志整合下来, 我知道的还有 zabbix, 但是配置起来较 graylog 麻烦一些所以暂时还没了解
前面互联网的浪潮快速发展, 业务类型跟着层层迭代, 而后端对于服务器的运维需求也在不断提高, 若初期不能考虑到后端运维, 随着业务往后的发展逐渐暴露出问题, 运维的效率往往有时候可以决定产品发展的速度
Graylog 图解
部署图
web 界面截图:
最小安装:
<br>
生产工具安装:
架构图
从官网上截的一张图:
安装手册
软件清单
- Mongodb 3.0
- Elasticsearch 1.5
- graylog-server 1.3
- graylog-web 1.3
安装环境
CentOS6.6, 服务器 IP:ITStudio 的 linux 主机地址, 已安装 Oracle jdk 7u71
安装步骤
1. mongodb
mongodb 官方网站
- [root@logserver yum.repos.d]# vim /etc/yum.repos.d/mongodb-org-3.0.repo
- ---
- [mongodb-org-3.0]
- name=MongoDB Repository
- baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
- gpgcheck=0
- enabled=1
- ---
- [root@logserver yum.repos.d]# yum install -y mongodb-org
- [root@logserver yum.repos.d]# vi /etc/yum.conf
最后一行添加:
- ---
- exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
- ---
- [root@logserver yum.repos.d]# service mongod start
- [root@logserver yum.repos.d]# chkconfig mongod on
- [root@logserver yum.repos.d]# vi /etc/security/limits.conf
最后一行添加:
- ---
- * soft nproc 65536
- * hard nproc 65536
- mongod soft nproc 65536
- * soft nofile 131072
- * hard nofile 131072
- ---
- [root@logserver ~]# vi /etc/init.d/mongod
ulimit -f unlimited 行前插入:
- ---
- if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
- echo never> /sys/kernel/mm/transparent_hugepage/enabled
- fi
- if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
- echo never> /sys/kernel/mm/transparent_hugepage/defrag
- fi
- ---
- [root@logserver ~]# /etc/init.d/mongod restart
- 2. elasticsearch
elasticsearch 最新版本已经达到 2.3, 而 Graylog 官方说明暂不支持 2.x 版本, 推荐 1.7.3 版本, 可自己曾经配置时, 依然出现了问题, 各种报错偶然使用了 1.5 版本却配置成功了这里就记录下吧, 主要是是综合考虑各个组件的相互兼容性, 所以这里依然使用 1.5 版本
- [root@logserver ~]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
- [root@logserver ~]# vi /etc/yum.repos.d/elasticsearch.repo
- ---
- [elasticsearch-1.5]
- name=Elasticsearch repository for 1.5.x packages
- baseurl=http://packages.elastic.co/elasticsearch/1.5/centos
- gpgcheck=1
- gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
- enabled=1
- ---
- [root@logserver ~]# yum install elasticsearch
- [root@logserver ~]# chkconfig --add elasticsearch
- [root@logserver ~]# vi /etc/elasticsearch/elasticsearch.yml
- 32 cluster.name: graylog
- [root@logserver ~]# /etc/init.d/elasticsearch start
- [root@logserver ~]# curl localhost:9200
- 3. graylog
- // 输入以下命令即安装最新版本的 graylog:
- $ sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-1.3- repository-el6_latest.rpm
- $ sudo yum install graylog-server graylog-web
- [root@logserver ~]# /etc/init.d/graylog-server start
Starting graylog-server: [确定]
启动失败!
- [root@logserver ~]# cat /var/log/graylog-server/server.log
- 2015-05-22T15:53:14.962+08:00 INFO [CmdLineTool] Loaded plugins: []
- 2015-05-22T15:53:15.032+08:00 ERROR [Server] No password secret set. Please define password_secret in your graylog2.conf.
- 2015-05-22T15:53:15.033+08:00 ERROR [CmdLineTool] Validating configuration file failed - exiting.
- [root@logserver ~]# yum install pwgen
- [root@logserver ~]# pwgen -N 1 -s 96
- zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
- [root@logserver ~]# echo -n 123456 sha256sum
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -
- [root@logserver ~]# vi /etc/graylog/server/server.conf
- 11 password_secret = zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
- ...
- 22 root_password_sha2 = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- ...
- 152 elasticsearch_cluster_name = graylog
- [root@logserver ~]# /etc/init.d/graylog-server restart
启动成功!
[root@logserver ~]# /etc/init.d/graylog-web start
Starting graylog-web: [确定]
启动失败!
- [root@logserver ~]# cat /var/log/graylog-web/application.log
- 2015-05-22T15:53:22.960+08:00 - [ERROR] - from lib.Global in main
- Please configure application.secret in your conf/graylog-web-interface.conf
- 2015-05-22T16:25:55.343+08:00 - [ERROR] - from lib.Global in main
- Please configure application.secret in your conf/graylog-web-interface.conf
- [root@logserver ~]# pwgen -N 1 -s 96
- yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
- [root@logserver ~]# vi /etc/graylog/web/web.conf
- ---
- 2 graylog2-server.uris="http://127.0.0.1:12900/"
- 12 application.secret="yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
- ---
注意:/etc/graylog/web/web.conf 中的 graylog2-server.uris 值必须与 / etc/graylog/server/server.conf 中的 rest_listen_uri 一致
- ---
- 36 rest_listen_uri = http://127.0.0.1:12900/
- ---
- [root@logserver ~]# /etc/init.d/graylog-web start
浏览器中输入 url: http://localhost:9000/ 可以进入 graylog 登录页,
管理员帐号 / 密码: admin/123456
4. 添加日志收集器
以 admin 登录 http://IP_adress:9000/
注: IP_adress 是服务器真实的 IP 地址以下同理
4.1 <br > 进入 System> Inputs> Inputs in Cluster> Raw/Plaintext TCP Launch new input 取名 tcp 5555 完成创建
任何安装 nc 的 Linux 机器上执行:
echo `date` nc IP_adress 5555
浏览器的 http://IP_adress:9000 / 登录后首页 , 点击第三行绿色搜索按钮, 看到一条新消息:
Timestamp Source Message
2016-04-10 08:49:15.280 59.70.156.6 2016 年 04 月 10 日 星期日 16:48:28 CST
截图:
<br>
说明安装已成功!!!
4.2<br > 进入 System> Inputs> Inputs in Cluster> GELF HTTP Launch new input
<br > 取名 http 12201 完成创建
<br > 任何安装 curl 的 Linux 机器上执行:
curl -XPOST http://IP_adress/gelf -p0 -d '{"short_message":"Hello there","host":"example.org","facility":"test","_foo":"bar"}'
浏览器的 http://IP_adress:9000 / 登录后, 点击第三行绿色搜索按钮, 看到一条新消息:
- Timestamp Source Message
- 2016-04-10 20:50:42.936 59.70.156.6 Hello Graylog,From Bei.
截图:
<br>
说明 GELF HTTP Input 设置成功!!!
5. 时区和高亮设置
admin 帐号的时区:
- [root@logserver ~]# vi /etc/graylog/server/server.conf
- ---
- 30 root_timezone = Asia/Shanghai
- ---
- [root@logserver ~]# /etc/init.d/graylog-server restart
其他帐号的默认时区:
- [root@logserver ~]# vi /etc/graylog/web/web.conf
- ---
- 18 timezone="Asia/Shanghai"
- ---
- [root@logserver ~]# /etc/init.d/graylog-web restart
允许查询结果高亮:
- [root@logserver ~]# vi /etc/graylog/server/server.conf
- ---
- 147 allow_highlighting = true
- ---
- [root@logserver ~]# /etc/init.d/graylog-server restart
至此, Graylog 服务器的部署工作已完成后期跟上配置相对应服务的文章
参考文献
c 官网
Graylog 日志聚合工具中的后起之秀
来源: https://juejin.im/post/5abef37af265da237e09d8b7