Nginx是一款常用的高性能的Web服務器,而服務器的穩定性是開發者密切關注的問題。通過Kibana中的Fleet Server可以管理Elastic Agent采集的Nginx日志,將Nginx日志輸出到Kibana中進行可視化分析,幫助開發人員更好地監控和優化Nginx服務器的性能和安全性。本文在Fleet中同一個集成策略下通過Fleet Server管理兩臺源端ECS實例上的Nginx日志。
名詞解釋
名詞 | 說明 |
Fleet | Elasticsearch中的一個功能強大的集中式管理解決方案,集中管理Agent服務。 |
Fleet Agent | 輕量級數據采集代理,負責采集源端數據。 Fleet Agent可以在多個操作系統上運行,并且可以收集多種類型的數據。 |
Fleet Server | 負責將Agent采集的源端數據傳輸到Elasticsearch。 |
準備環境
創建阿里云Elasticsearch實例。具體操作,請參見創建阿里云Elasticsearch實例。本文以Elasticsearch 8.5版本為例。
說明支持7.10版本及以上Elasticsearch實例。
暫不支持7.16版本阿里云Elasticsearch實例。
創建2臺ECS實例。具體操作,請參見自定義購買實例。
ECS實例與Elasticsearch實例處于同一專有網絡下。
ECS需要綁定彈性公網IP。具體操作,請參見綁定和解綁彈性公網IP。
說明ECS實例作為源端服務器,Elastic Agent會采集ECS實例上的Nginx日志。
創建代理策略并添加集成
步驟一:創建代理策略
登錄Kibana控制臺。具體操作,請參見登錄Kibana控制臺。
單擊
。在Fleet頁面,單擊代理策略頁簽。
單擊創建代理策略,在創建代理策略控制面板中配置代理策略。
輸入代理策略名稱nginx-log。
取消選中收集系統日志和指標。
單擊高級選項,在代理監測區域,取消選中收集代理日志和收集代理指標。
說明本場景僅采集Nginx日志,因此取消選中收集系統日志和指標和代理的自身數據。
配置完成后,在頁面右下角單擊創建代理策略。
步驟二:創建Fleet Server集成
在Fleet頁面的代理策略頁簽,單擊新創建的代理策略nginx-log。
在集成頁簽中,單擊添加集成。
在瀏覽集成頁簽,在搜索框中搜索Fleet Server,并單擊Fleet Server。
安裝Fleet Server集成。
在Fleet Server頁面,單擊設置頁簽。
單擊安裝Fleet Server資產,在彈出的對話框中單擊安裝Fleet Server。
說明安裝集成后,設置頁簽中會顯示集成的版本。
在頁面右上角,單擊添加Fleet Server。
在添加Fleet Server集成頁面,輸入集成名稱,默認選擇代理策略為
nginx-log
。在頁面右下角,單擊保存并繼續,在彈出的對話框中單擊稍后添加Elastic代理。
步驟三:創建Nginx集成
在代理策略nginx-log的集成頁簽中,單擊添加集成。
在瀏覽集成頁簽,在搜索框中搜索Nginx,并單擊Nginx。
安裝Nginx集成。
在Nginx頁面,單擊設置頁簽。
單擊安裝Nginx資產,在彈出的對話框中單擊安裝Nginx。
說明安裝集成后,設置頁簽會顯示集成的版本。
在頁面右上角,單擊添加Nginx。
在添加Nginx集成頁面,配置集成。
在集成設置區域,默認輸入集成名稱nginx-1。
單擊Collect logs from Nginx instances后面的更改默認值,可以自定義收集日志的路徑。
在要將此集成添加到什么位置區域,在Existing hosts頁簽下,選擇代理策略為
nginx-log
。
配置完成后,在頁面右下角單擊保存并繼續,在彈出的對話框中單擊稍后添加Elastic代理。
添加Agent
步驟一:設置Fleet服務器主機
單擊
。在Fleet頁面,單擊設置頁簽,配置Fleet。
在Fleet服務器主機區域,單擊編輯主機。
在Fleet服務器主機控制面板中,輸入源端的私網地址,格式為
https://<私網IP>:<端口>
,例如https://172.16.*.***:8220
。說明本文私網IP為ECS實例的主私網IP。更多配置信息,請參見Fleet Server hosts。
在輸出區域,在操作列單擊。
在編輯輸出控制面板中,輸入Elasticsearch實例的私網地址,格式為
http://<私網地址>:<端口>
,例如http://es-cn-uqm3auln80001****.elasticsearch.aliyuncs.com:9200
。單擊保存并應用設置,在彈出的對話框中單擊保存并部署。
步驟二:添加Elastic Agent
在Fleet頁面,單擊代理策略頁簽。
在代理策略ginx-log的操作列,選擇
。在為Fleet服務器選擇策略區域,默認選擇代理策略為
nginx-log
。在為安全選擇部署模式區域,默認選中快速啟動。
在添加您的Fleet服務器主機區域,單擊右側的添加主機。
在生成服務令牌區域,單擊生成服務令牌。
在將Fleet服務器安裝到集中式主機區域,復制自動生成的代碼塊,并將代碼在第一臺ECS實例中執行。
代碼執行完畢后,如果看到
Successfully
字樣,表明ECS服務器上成功安裝并啟動Elastic Agent。執行上一個步驟,在第二臺ECS實例中添加Elastic Agent。
查看數據
您可以通過以下三種方法查看Nginx日志。
方法一:通過Dashboards查看Nginx數據
單擊
。在Fleet頁面,單擊數據流頁簽,Nginx相關日志已顯示在數據集列表中。
在數據集的操作列,選擇
,選擇要查看的信息。例如選擇[Metrics Nginx] Overview
。
方法二:通過Discovery查看索引數據
單擊
。在頁面右上角選擇數據視圖,例如選擇
metrics-*
。
方法三:通過kibana查詢數據
單擊
。執行如下命令,查看Nginx相關日志數據。
GET logs-nginx.access-*/_search GET logs-nginx.error-*/_search