Graylog安裝操作
實驗環境centos7.5系統 mem:4-8G disk:50G
關閉selinux以及firewalld
一、准備環境
1.1、java環境
下載java的jdk軟件包。
rpm –ivh jdk-8u181-linux-x64.rpm
設置變量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64/
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
啟動
source /etc/profile
驗證
java –version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
1.2、MongoDB下載
准備yum源
cat >/etc/yum.repos.d/mongodb-org-3.6.repo << EOF
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
EOF
安裝
yum install mongodb-org –y
啟動
systemctl daemon-reload
systemctl enable mongod.service
systemctl start mongod.service
1.3、Elasticsearch下載
安裝yum的驗證庫key
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
添加yum源
cat >/etc/yum.repos.d/elasticsearch.repo << EOF
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
安裝
yum install elasticsearch –y
修改配置
vim /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog
啟動
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl restart elasticsearch.service
1.4、Graylog下載
安裝
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.4-repository_latest.rpm
yum install graylog-server –y
配置
添加password_secret和root_password_sha2
echo –n yourpassword |sha256sum
password_secret = 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
root_password_sha2 = 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
然后修改rest_listem_uri和web_listem_uri的IP地址修改為本機的IP。
rest_listen_uri = http://192.168.190.168:9000/api/
web_listen_uri = http://192.168.190.168:9000/
root_timezone = Asia/Shanghai
啟動
systemctl daemon-reload
systemctl enable graylog-server.service
systemctl start graylog-server.service
注意:
系統要求
Graylog服務器應用程序具有以下先決條件:
- 一些現代Linux發行版(Debian Linux,Ubuntu Linux或CentOS推薦)
- Elasticsearch 2.3.5或更高版本
- MongoDB 2.4或更高版本(建議使用最新的穩定版本)
- Oracle Java SE 8(OpenJDK 8也可以;推薦最新的穩定更新)
警告
2.3之前的Graylog 不適用於Elasticsearch 5.x!
警告
Graylog 2.4 不適用於Elasticsearch 6.x!
登錄:
IP:9000
用戶密碼:admin
二、添加數據源
2.1、安裝客戶端
如圖所示,linux host需要一個傳出數據的軟件。Nxlog或Filebeat。
此處選用第二種。
Graylog-collector-sidecar下載地址:https://github.com/Graylog2/collector-sidecar/releases
Nxlog下載地址:https://nxlog.co/products/nxlog-community-edition/download
Collector-sidecar:
rpm -i collector-sidecar-0.0.9-1.x86_64.rpm
graylog-collector-sidecar -service install
systemctl start collector-sidecar
后端Nxlog與Filebeats取其一即可。默認安裝好Collector-sidecar,Filebeats是Collector-sidecar包內自帶的。
配置:
/etc/graylog/collector-sidecar/collector_sidecar.yml
參數 |
描述 |
SERVER_URL |
Graylog API的URL,例如 http://127.0.0.1:9000/api/ |
更新周期 |
sidecar將從Graylog服務器獲取新配置的時間間隔(秒) |
tls_skip_verify |
使用自簽名證書啟動REST API時忽略錯誤 |
SEND_STATUS |
將每個后端的狀態發送回Graylog並將其顯示在主機的狀態頁面上 |
list_log_files |
將目錄列表發送到Graylog並將其顯示在主機狀態頁面上,例如/var/log。這也可以是目錄列表 |
NODE_ID |
Sidecar實例的名稱也將顯示在Web界面中。如果未設置,將使用主機名。 |
collector_id |
實例的唯一ID(UUID)。這可以是字符串或ID文件的路徑 |
log_path |
Sidecar可以存儲每個正在運行的收集器后端的輸出的目錄的路徑 |
log_rotation_time |
在X秒后旋轉每個收集器的stdout和stderr日志 |
log_max_age |
刪除早於Y秒的旋轉日志文件 |
標簽 |
配置標簽列表。服務器端與標記列表匹配的所有配置都將由此實例提取和合並 |
后端 |
用戶希望在目標主機上運行的收集器后端列表 |
目前支持NXLog和Beats作為收集器后端,使Sidecar需要知道二進制文件的安裝位置以及可以為其編寫配置文件的位置。
參數 |
描述 |
名稱 |
使用哪個后端(必須是'nxlog','filebeat'或'winlogbeat) |
啟用 |
這個后端是否應該由Sidecar啟動 |
binary_path |
實際收集器二進制文件的路徑 |
configuration_path |
此收集器的配置文件的路徑 |
Beats平台配置示例如下:
server_url: http://graylog01.ucex.corp:9000/api/
update_interval: 10
tls_skip_verify: false
send_status: true
list_log_files:
- /data/ucex
- /var/log
node_id: dev-backend-http-ws01
collector_id: file:/etc/graylog/collector-sidecar/collector-id
cache_path: /var/cache/graylog/collector-sidecar
log_path: /var/log/graylog/collector-sidecar
log_rotation_time: 86400
log_max_age: 604800
tags:
- linux
- engine_accesshttp
- engine_mdc
backends:
- name: nxlog
enabled: false
binary_path: /usr/bin/nxlog
configuration_path: /etc/graylog/collector-sidecar/generated/nxlog.conf
- name: filebeat
enabled: true
binary_path: /usr/bin/filebeat
configuration_path: /etc/graylog/collector-sidecar/generated/filebeat.yml
Nxlog的配置如Beats的配置相似,只需要更改backends中的enabled后面得false改為true。
注意:
配置中的tags,一定得准確和實際目錄下日志文件名相似,否則在system/collectors中無法查找到合適得匹配標簽。匹配tags會更精確得獲取數據。
重啟服務
systemctl restart collector-sidecar
###注:標紅的,是必填項,需要注意的。
2.2、web配置
2.2.1 打開web頁面 system/collectors
啟動collectors后,web頁面會自動獲取如上所示。
System/collectors 點擊進入頁面后,會自動獲取客戶端,如上圖。
選擇 Manage Configurations
創建一個configuration
按要求填入 name
添加輸入與輸出的配置
輸出output (graylog服務端地址)
輸入input (默認為['/var/log/*.log'] )根據軟件日志路徑定義,得跟配置文件中一致。
在tags中需要和配置文件中的tags一致
2.2.2 在web端 system/input
Select input 選用beats
發現有流量在動,說明配置成功。
日志收集數據
注意:
服務器時區與客戶端得時區得一致。
調試:
Sidecar正在將日志文件寫入配置的目錄中路徑。每個后端都有一個文件,您可以檢查文件權限或日志傳輸問題等常見問題。Sidecar本身正在寫一些collector_sidecar.log問題,例如可以在那里找到與Graylog API連接失敗的問題。
您還可以在前台啟動Sidecar並監視進程的輸出:
$ graylog-collector-sidecar -debug -c /etc/graylog/collector-sidecar/collector_sidecar.yml
三、搜索日志
3.1 模糊搜索
進入搜索頁面,輸入關鍵詞。
例如:輸入 error, 如下圖所示
搜索到的,系統會標亮顯示出來。
這種方法會把系統內所有的關鍵字全部搜索出來,然后再進行messages的查看。
優點:可以查看全部包含該關鍵字的內容。
缺點:信息量太多。
3.2 區域搜索
指定主機源,在該主機源上進行對該主機的日志查詢。共有兩種方法。
3.2.1 數據源查看
知道自己需要的日志主機名,System/collectors 查看所有的數據源地址。然后點擊show messages,即可查看該主機上全部日志信息。
系統默認會顯示7days前的數據。
時間調整,如下圖,選擇需要查看的時間段。時間查詢分為相對時間,絕對時間。
可以根據需要選擇使用合適的時間段。
3.2.2 字段查詢
可以根據數據源,以及文件名等,利用字段來查找關鍵信息。
Search支持的字段。
例子:
file:"\/var\/log\/nginx\/access.log" AND source:"dev\-frontend\-nginx01"
輸入messages 或 file 等如上圖所示的關鍵詞,搜索框會提示你輸入得字段。然后根據system/collectors中配置的路徑,即可准確查詢日志信息中的關鍵字。
注意:有一些特殊的字符需要轉義,使用反斜杠 “\” 如上所示。
搜索到的內容,系統都會把它標亮。
更新搜索到的內容
如上所示選擇合適的持續時間,然后點擊三角符號即可。
Quick values 快速選取值
每個字段的下拉框都有四個選項,messages字段除外。
圖表、快速取值、統計、世界地圖。
如下:
圖標,用來顯示該數據源中該字段的時間點以及file的數據值。
搜索側欄中的“ 生成圖表”按鈕為任何數字字段創建字段圖。使用字段圖頂部“ 自定義”菜單中的選項 ,可以更改圖形中使用的統計函數,用於表示值的圖形類型,圖形插值以及時間分辨率。
一旦您自定義了一些字段圖,您還可以通過從圖表頂角的漢堡圖標拖動它們並將它們放入另一個字段圖中來組合它們。您可以在以下屏幕截圖中查看漢堡包圖標的位置和最終結果:
每次執行搜索時都會出現字段圖,允許您比較數據或組合來自不同流的圖。
快速取值,會顯示該主機上所有的value,以file字段為例,如下圖所示,會顯示所有日志的目錄文件。
點擊values上放大鏡圖標,系統會自動把該字段顯示到搜索框,回車后,系統會搜索該文件下所有的日志信息。
還可以根據字段搜索,快捷的選取想要的字段,從而進行精度搜索內容。如下例所示。
字段統計
計算字段的不同統計信息,以幫助您更好地匯總和理解其中的數據。統計信息包括:總數,平均值,最小值,最大值,標准差,方差,總和和基數。在非數字字段上,您只能看到包含該字段的消息總數,以及字段的基數,即它具有的唯一值的數量。
3.2.3指定日志內容
搜索到得日志為了查看方便可以指定該區域。然后進一步得查看。如下所示:
選取的該部分內容實時查看,點擊show surrounding messagees選取更新的時間。
根據需要點擊放大鏡,調節合適的參數值。
搜索到的信息添加儀表盤
1、新建儀表
填寫文件名以及相關信息
2、方框圖儀表板添加
選擇創建的儀表庫。添加即可。
3、搜索信息儀表庫添加
首先篩選出常用的字段信息。然后根據這個字段信息,添加到儀表庫中。
查看
顯示查詢到的統計個數
更新信息
全屏查看(esc鍵退出)
查看搜索到的信息,點擊三角符號,系統會跳轉到搜索頁面展示的內容。
四、索引清理
4.1 索引模型
4.1.1概述
Graylog透明地管理一組或多組Elasticsearch索引,以優化搜索和分析操作,以實現速度和低資源消耗。
為了能夠管理具有不同映射,分析器和復制設置的索引,Graylog使用所謂的索引集,這些索引集是所有這些設置的抽象。
每個索引集都包含Graylog創建,管理和填充Elasticsearch索引以及處理特定需求的索引輪換和數據保留所必需的設置。
Graylog維護每個索引集的索引別名,該索引別名始終指向該索引集的當前寫入活動索引。在滿足配置的輪換標准(文檔數,索引大小或索引年齡)之前,始終只有一個索引要寫入新消息。
后台任務不斷檢查是否已滿足索引集的旋轉標准,並在發生時創建並准備新索引。索引准備就緒后,索引別名將自動切換到它。這意味着所有Graylog節點都可以將消息寫入別名,甚至不知道索引集的當前寫入活動索引是什么。
4.1.2索引集配置
索引集具有與Graylog如何將消息存儲到Elasticsearch集群相關的各種不同設置。
- 標題:索引集的描述性名稱。
- 描述:人類消費指數集的描述。
- 索引前綴:用於由索引集管理的彈性搜索索引的唯一前綴。前綴必須以字母或數字開頭,並且只能包含字母,數字_,-和+。索引別名將相應地命名,例如,graylog_deflector如果索引前綴是graylog。
- Analyzer :(默認值standard:)索引集的Elasticsearch 分析器。
- 索引分片 :(默認值:4)每個索引使用的Elasticsearch分片數。
- 索引副本 :(默認值:0)每個索引使用的Elasticsearch副本數。
- 最大。段數 :(默認值:1)索引優化(強制合並)后每個Elasticsearch索引的最大段數,有關詳細信息,請參閱段合並。
- 旋轉后禁用索引優化:在索引旋轉后禁用Elasticsearch 索引優化(強制合並)。只有在優化過程中出現Elasticsearch集群性能嚴重問題時才激活此項。
- 消息計數:在寫入特定數量的消息后旋轉索引。
- 索引大小:在達到磁盤上的大致大小(優化之前)后旋轉索引。
- 索引時間:在特定時間(例如1小時或1周)后旋轉索引。
4.2索引旋轉
- 消息計數:在寫入特定數量的消息后旋轉索引。
- 索引大小:在達到磁盤上的大致大小(優化之前)后旋轉索引。
- 索引時間:在特定時間(例如1小時或1周)后旋轉索引。
4.3索引保留
4.4 手動清理
登陸graylog的頁面,system/indices ,點擊default index set
這些都是關於graylog的日志搜索到的指數。Acitve write index是現在運行正在收集的日志indices ,其他的則是前段時間收集到的日志數據indices。而咱要刪除的就是那些,看好日期顯示,選擇不用的indices,點擊delete即可。
時間與詳細內容。
點擊delete index就可以把這份index刪掉。