Graylog:集中日誌解決方案

一:爲何須要集中日誌解決方案?

在公司服務機子部署愈來愈多的狀況下,讓咱們來想一想會遇到的問題:node

  • 開發人員不能登陸線上服務器查看詳細日誌,通過運維週轉費時費力
  • 日誌數據分散在多個系統,難以查找
  • 日誌數據量大,查詢速度慢
  •  一個調用會涉及多個系統,難以在這些系統的日誌中快速定位數據
  •  數據不夠實時
  • 很難對數據進行挖掘,分析,業務告警,審計

這些問題的存在讓開發以及運維人員非常頭痛,嚴重影響效率!linux

二:什麼是graylog技術棧?

爲了解決上述問題,咱們須要一個日誌的集中管理方案,graylog技術棧:web

  • Collector-sidecar(收集日誌)或者syslog
  • Mongodb(存儲日誌源文件)
  • Elasticsearch(提供搜索日誌)
  • Graylog2.1.1(搜索和視圖展現日誌,告警和權限)

有了這些,咱們就能把日誌先收集起來,進行咱們想要的分析以後,web的形式展現出來,提供查詢!mongodb

三:graylog的安裝部署

安裝環境:linux centOS系統安裝,已安裝JDK1.8版本,安裝啓動順序vim

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

1:安裝部署mongodb

參考個人博文:linux下安裝mongodb  https://my.oschina.net/baishi/blog/758367api

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帶有的權限管理,和告警功能比較完善!

目前遺留的問題,是後期隨着時間的積累,怎樣去維護歷史日誌數據,歡迎有相關經驗的朋友,一塊兒討論!

相關文章
相關標籤/搜索