Graylog服務器搭建手冊,你的私人log服務器

發現Graylog實際上是在國外IGP項目競選的時候,一個很是不錯的idea,當時是Robert提出的構建這個日誌管理平臺,私底下看他演示了demo,首先具備可視化後臺日誌數據,這點很實用。後來發現,graylog的真正強大,是它賦予日誌管理系統具備google的能力,便可以對日誌進行全文搜索,他屢次這樣形容:「Anything can be…, Anything can be…」。然而,太過超前的概念,若你所處的環境沒法理解,結果老是會很不幸。css

我在一篇博客上看到這樣的評價「Graylog簡直就是開源版的Splunk」,後者是著名的企業級超級日誌管理系統,然而收費高達3萬美金。再次佐證一個真理:知識就是財富。linux

其實,對於後臺運維的需求,無非「可視化/報警/報告」這些。國內一些相關初創公司發展迅猛,像「輕雲」和「one」,能夠提供服務器的相關業務的「探針」服務,檢測性能及後臺日誌。整合下來,我知道的還有zabbix,可是配置起來較graylog麻煩一些。因此暫時還沒了解。web

前面互聯網的浪潮快速發展,業務類型跟着層層迭代,然後端對於服務器的運維需求也在不斷提升,若初期不能考慮到後端運維,隨着業務日後的發展逐漸暴露出問題,運維的效率每每有時候能夠決定產品發展的速度。mongodb

Graylog圖解shell

  • 部署圖

Web界面截圖:
graylog01.PNGvim

最小安裝:
<br>
生產工具安裝:
後端

  • 架構圖

    從官網上截的一張圖:
    centos

安裝手冊瀏覽器

軟件清單

  1. Mongodb 3.0
  2. Elasticsearch 1.5
  3. graylog-server 1.3
  4. graylog-web 1.3

安裝環境

CentOS6.6,服務器IP:ITStudio的linux主機地址,已安裝Oracle jdk 7u71bash

安裝步驟

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>graylog04.PNG

說明安裝已成功!!!

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>graylog03.PNG

說明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服務器的部署工做已完成。後期跟上配置相對應服務的文章。

參考文獻

  1. c官網
  2. Graylog——日誌聚合工具中的後起之秀
相關文章
相關標籤/搜索