目錄
一.ELK概述
1.簡介
1.1.可以添加的其他組件
1.2.filebeat 結合 logstash 帶來好處
2.為什么使用ELK
3.完整日志系統基本特征
4.工作原理
二.部署ELK日志分析系統
1.初始化環境
2.完成JAVA部署
三.?ELK Elasticsearch 集群部署
1.安裝
2.修改配置文件
3.es 性能調優參數
4.啟動elasticsearch是否成功開啟
5.查看節點信息
6.安裝 Elasticsearch-head 插件
6.1.編譯安裝 node
6.2.安裝 phantomjs
6.3.安裝 Elasticsearch-head 數據可視化工具
6.4.修改 Elasticsearch 主配置文件
6.5.啟動 elasticsearch-head 服務
6.6.通過 Elasticsearch-head 查看 Elasticsearch 信息
6.7.創建索引
6.7.1.Elasticsearch 索引管理
三.ELK Logstash 部署
1.初始化操作
2.更改主機名
3.安裝配置nginx
4.安裝 Logstash
5.測試 Logstash
6.定義 logstash配置文件
四.ELK Kiabana 部署
1.安裝 Kiabana
2.設置 Kiabana 的主配置文件
3.驗證 Kiabana
4.將nginx服務器的日志(訪問的、錯誤的)添加到 Elasticsearch 并通過 Kiabana 顯示
一.ELK概述
1.簡介
ELK平臺是一套完整的日志集中處理解決方案,將 ElasticSearch、Logstash 和 Kiabana 三個開源
工具配合使用, 完成更強大的用戶對日志的查詢、排序、統計需求
ElasticSearch
- 是基于 Lucene(一個全文檢索引擎的架構)開發的分布式存儲檢索引擎,用來存儲各類日志。
- 是用 Java 開發的,可通過 RESTful Web 接口,讓用戶可以通過瀏覽器與 Elasticsearch 通信。
- 是一個實時的、分布式的可擴展的搜索引擎,允許進行全文、結構化搜索,它通常用于索引和搜索大容量的日志數據,也可用于搜索許多不同類型的文檔
Kiabana
- 通常與 Elasticsearch 一起部署
- 是 Elasticsearch 的一個功能強大的數據可視化 Dashboard,Kibana 提供圖形化的 web 界面來瀏覽 Elasticsearch 日志數據,可以用來匯總、分析和搜索重要數據
Logstash
- 作為數據收集引擎。它支持動態的從各種數據源搜集數據,并對數據進行過濾、分析、豐富、統一格式等操作,然后存儲到用戶指定的位置,一般會發送給 Elasticsearch
- 由 Ruby 語言編寫,運行在 Java 虛擬機(JVM)上,是一款強大的數據處理工具, 可以實現數據傳輸、格式處理、格式化輸出。Logstash 具有強大的插件功能,常用于日志處理
1.1.可以添加的其他組件
Filebeat
- 輕量級的開源日志文件數據搜集器
- 通常在需要采集數據的客戶端安裝 Filebeat,并指定目錄與日志格式Filebeat 就能快速收集數據,并發送給 Logstash 進行解析,或是直接發給 Elasticsearch 存儲,性能上相比運行于 JVM 上的 Logstash 優勢明顯(Logstash 對內存、CPU、IO 等資源消耗比較高) ,是對 Logstash 的替代
- 常應用于 ELFK 架構當中,也叫做 ELK Stack
1.2.filebeat 結合 logstash 帶來好處
- 通過 Logstash 具有基于磁盤的自適應緩沖系統,該系統會吸收傳入的吞吐量,從而減輕 Elasticsearch 持續寫入數據的壓力
- 從其他數據源(例如數據庫,S3對象存儲或消息傳遞隊列)中提取
- 將數據發送到多個目的地,例如S3,HDFS(Hadoop分布式文件系統)或寫入文件
- 使用條件數據流邏輯組成更復雜的處理管道
- 緩存/消息隊列(Redis、Kafka、RabbitMQ等):可以對高并發日志數據進行流量削峰和緩沖,這樣的緩沖可以一定程度的保護數據不丟失,還可以對整個架構進行應用解耦
- Fluentd:是一個流行的開源數據收集器。由于 Logstash 太重量級的缺點,Logstash 性能低、資源消耗比較多等問題,隨后就有 Fluentd 的出現。相比較 Logstash,Fluentd 更易用、資源消耗更少、性能更高,在數據處理上更高效可靠,受到企業歡迎,成為 Logstash 的一種替代方案,常應用于 EFK 架構當中。在 Kubernetes 集群中也常使用 EFK 作為日志數據收集的方案
- 在 Kubernetes 集群中一般是通過 DaemonSet 來運行 Fluentd,以便它在每個 Kubernetes 工作節點上都可以運行一個 Pod。 它通過獲取容器日志文件、過濾和轉換日志數據,然后將數據傳遞到 Elasticsearch 集群,在該集群中對其進行索引和存儲
2.為什么使用ELK
日志主要包括系統日志、應用程序日志和安全日志。系統運維和開發人員可以通過日志了解服務器
軟硬件信息、檢查配置過程中的錯誤及錯誤發生的原因。經常分析日志可以了解服務器的負荷,性
能安全性,從而及時采取措施糾正錯誤。
往往單臺機器的日志我們使用grep、awk等工具就能基本實現簡單分析,但是當日志被分散存儲在
不同的設備上。如果你管理數十上百臺服務器,你還在使用依次登錄每臺機器的傳統方法查閱日
志。這樣是不是感覺很繁瑣和效率低下。當務之急我們使用集中化的日志管理,例如:開源的
rsyslog,將所有服務器上的日志收集匯總。集中化管理日志后,日志的統計和檢索又成為一件比
較麻煩的事情,一般我們使用grep、awk和wc等Linux命令能實現檢索和統計,但是對于要求更高
的查詢、排序和統計等要求和龐大的機器數量依然使用這樣的方法難免有點力不從心。
一般大型系統是一個分布式部署的架構,不同的服務模塊部署在不同的服務器上,問題出現時,大
部分情況需要根據問題暴露的關鍵信息,定位到具體的服務器和服務模塊,構建一套集中式日志系
統,可以提高定位問題的效率
3.完整日志系統基本特征
- 收集:能夠采集多種來源的日志數據
- 傳輸:能夠穩定的把日志數據解析過濾并傳輸到存儲系統
- 存儲:存儲日志數據
- 分析:支持 UI 分析
- 警告:能夠提供錯誤報告,監控機制
4.工作原理
- 在所有需要收集日志的服務器上部署 Logstash;或者先將日志進行集中化管理在日志服務器上,在日志服務器上部署 Logstash
- Logstash 收集日志,將日志格式化并輸出到 Elasticsearch 群集中
- Elasticsearch 對格式化后的數據進行索引和存儲
- Kibana 從 ES 群集中查詢數據生成圖表,并進行前端數據的展示
總結
Logstash 作為日志搜集器,從數據源采集數據,并對數據進行過濾,格式化處理,然后交由
Elasticsearch 存儲,Kibana 對日志進行可視化處理
二.部署ELK日志分析系統
es01 | 192.168.80.101 | Elasticsearch |
es02 | 192.168.80.102 | Elasticsearch |
es03 | 192.168.80.103 | ElasticSearch Kibana |
nginx節點 | 192.168.80.104 | Logstash? Nginx |
1.初始化環境
2.完成JAVA部署
java -version
#如果沒有安裝,yum -y install java-1.8.0-openjdk*
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
三.?ELK Elasticsearch 集群部署
部署 Elasticsearch 軟件(三臺)
1.安裝
#上傳elasticsearch-6.7.2.rpm到/opt目錄下
cd /opt
yum localinstall -y elasticsearch-6.7.2_\(1\).rpm
2.修改配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
vim /etc/elasticsearch/elasticsearch.yml
--17--取消注釋,指定集群名字
cluster.name: my-elk-cluster
--23--取消注釋,指定節點名字:Node1節點為node-1,Node2節點為node-2,Node3節點為node-3
node.name: node-1
node.master: true #是否master節點,false為否
node.data: true #是否數據節點,false為否
--33--取消注釋,指定數據存放路徑
path.data: /var/lib/elasticsearch
--37--取消注釋,指定日志存放路徑
path.logs: /var/log/elasticsearch
--43--取消注釋,將系統內存鎖定到es進程中,以保證es能夠維護一定的內存空間,避免es使用swap交換分區
bootstrap.memory_lock: true
--55--取消注釋,設置監聽地址,0.0.0.0代表所有地址
network.host: 0.0.0.0
--59--取消注釋,ES 服務的默認監聽端口為9200
http.port: 9200 #指定es集群提供外部訪問的接口
transport.tcp.port: 9300 #指定es集群內部通信接口
--68--取消注釋,集群發現通過單播實現,指定要發現的節點
discovery.zen.ping.unicast.hosts: ["192.168.80.101:9300", "192.168.80.102:9300","192.168.80.103:9300"]grep -v "^#" /etc/elasticsearch/elasticsearch.yml
scp elasticsearch.yml 192.168.80.102:`pwd`
3.es 性能調優參數
優化最大內存大小和最大文件描述符的數量
vim /etc/security/limits.conf
......
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
* soft memlock unlimited
* hard memlock unlimited
vim /etc/systemd/system.conf
DefaultLimitNOFILE=65536
DefaultLimitNPROC=65536
DefaultLimitMEMLOCK=infinity
scp /etc/security/limits.conf 192.168.80.102:/etc/security
vim /etc/sysctl.confvm.max_map_count=262144
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_keepalive_time=1200
net.ipv4.ip_local_port_range=1024 65535
net.ipv4.tcp_max_syn_backlog=8192
net.ipv4.tcp_max_tw_buckets=5000
net.core.somaxconn=65535sysctl -a | grep vm.max_map_count
需重啟生效
reboot
優化elasticsearch用戶擁有的虛擬內存
由于ES構建基于lucene, 而lucene設計強大之處在于lucene能夠很好的利用操作系統內存來緩存索
引數據,以提供快速的查詢性能。lucene的索引文件segements是存儲在單文件中的,并且不可
變,對于OS來說,能夠很友好地將索引文件保持在cache中,以便快速訪問;因此,我們很有必要
將一半的物理內存留給lucene ; 另一半的物理內存留給ES(JVM heap )。所以, 在ES內存設置方
面,可以遵循以下原則:
- 當機器內存小于64G時,遵循通用的原則,50%給ES,50%留給操作系統,供lucene使用
- 當機器內存大于64G時,遵循原則:建議分配給ES分配 4~32G 的內存即可,其它內存留給操作系統,供lucene使用
4.啟動elasticsearch是否成功開啟
三臺服務器共同操作
systemctl start elasticsearch.service
systemctl enable elasticsearch.service
netstat -lntp | grep 9200
JVM優化(三臺服務器都需操作)
cd /etc/elasticsearch/
vim jvm.options22行 -Xms2g23行 -Xmx2g @@設置為物理內存的一般systemctl restart elasticsearch.service #重啟服務
5.查看節點信息
瀏覽器訪問 http://192.168.80.101:9200 、 http://192.168.80.102:9200、 http://192.168.80.103:9200查看節點 es01、es02、es03 的信息。
瀏覽器訪問 http://192.168.80.101:9200/_cluster/health?pretty 、 http://192.168.80.102:9200/_cluster/health?pretty、http://192.168.80.103:9200/_cluster/health?pretty查看群集的健康情況,可以看到 status 值為 green(綠色), 表示節點健康運行。
瀏覽器訪問 http://192.168.80.101:9200/_cluster/state?pretty 檢查群集狀態信息。
使用上述方式查看群集的狀態對用戶并不友好,可以通過安裝 Elasticsearch-head 插件,可以更
方便地管理群集
6.安裝 Elasticsearch-head 插件
任意一個節點服務器安裝就行 192.168.80.101
Elasticsearch 在 5.0 版本后,Elasticsearch-head 插件需要作為獨立服務進行安裝,需要使用npm
工具(NodeJS的包管理工具)安裝
安裝 Elasticsearch-head 需要提前安裝好依賴軟件 node 和 phantomjs。
- node:是一個基于 Chrome V8 引擎的 JavaScript 運行環境。
- phantomjs:是一個基于 webkit 的JavaScriptAPI,可以理解為一個隱形的瀏覽器,任何基于 webkit 瀏覽器做的事情,它都可以做到
6.1.編譯安裝 node
上傳軟件包 node-v8.2.1.tar.gz 到/opt
yum install gcc gcc-c++ make -ycd /opt
tar zxvf node-v8.2.1.tar.gzcd node-v8.2.1/
./configure
make && make install
6.2.安裝 phantomjs
上傳軟件包 phantomjs-2.1.1-linux-x86_64.tar.bz2 到
cd /opt
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2
cd /opt/phantomjs-2.1.1-linux-x86_64/bin
cp phantomjs /usr/local/bin
6.3.安裝 Elasticsearch-head 數據可視化工具
上傳軟件包 elasticsearch-head-master.zip 到/opt
cd /opt
unzip elasticsearch-head-master.zip
cd /opt/elasticsearch-head-m/
npm install //安裝依賴包
6.4.修改 Elasticsearch 主配置文件
vim /etc/elasticsearch/elasticsearch.yml
......
--末尾添加以下內容--
http.cors.enabled: true #開啟跨域訪問支持,默認為 false
http.cors.allow-origin: "*" #指定跨域訪問允許的域名地址為所有systemctl restart elasticsearch
6.5.啟動 elasticsearch-head 服務
#必須在解壓后的 elasticsearch-head 目錄下啟動服務,進程會讀取該目錄下的 gruntfile.js 文件,否則可能啟動失敗。
cd /etc/elasticsearch-head-master/
npm run start &> elasticsearch-head@0.0.0 start /usr/local/src/elasticsearch-head
> grunt serverRunning "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100#elasticsearch-head 監聽的端口是 9100
netstat -natp |grep 9100
6.6.通過 Elasticsearch-head 查看 Elasticsearch 信息
通過瀏覽器訪問 http://192.168.80.101:9100/ 地址并連接群集。如果看到群集健康值為 green 綠色,代表群集很健康。
6.7.創建索引
API基本格式:http://ip:port/<索引>/<類型>/<文檔id>
#通過命令創建一個測試索引,索引為 index-demo,類型為 test。
curl -X PUT 'localhost:9200/index-demo/test/1?pretty&pretty' \
-H 'content-Type: application/json' \
-d '{"user":"zhangsan","mesg":"hello world"}'
//輸出結果如下:
{
"_index" : "index-demo",
"_type" : "test",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 2,
"failed" : 0
},
"created" : true
}瀏覽器訪問 http://192.168.80.101:9100/ 查看索引信息,可以看見索引默認被分片5個,并且有一個副本。
點擊“數據瀏覽”,會發現在node1上創建的索引為 index-demo,類型為 test 的相關信息。
6.7.1.Elasticsearch 索引管理
創建索引 ? ?
curl -X PUT ?'http://ES-IP:9200/<索引名>/<類型>/<ID>?pretty&pretty' \-H 'content-Type: application/json' ?-d '{"鍵1":"值1","鍵2":"值2"}'
刪除索引 ? ?
curl -X DELETE ?'http://ES-IP:9200/<索引名>'
查看索引配置
curl -X GET 'http://ES-IP:9200/<索引名>/_settings'
修改索引配置
curl -X PUT 'http://ES-IP:9200/<索引名>/_settings' \
-H 'content-Type: application/json' -d '{"鍵":"值"}'
創建索引別名
curl -X POST 'http://ES-IP:9200/_aliases' \
-H 'Content-Type: application/json' -d '{"actions":[{"add":{"index":"索引名","alias":"索引別名"}}]}'
刪除索引別名
curl -X POST 'http://ES-IP:9200/_aliases' \
-H 'Content-Type: application/json' -d '{"actions":[{"remove":{"index":"索引名","alias":"索引別名"}}]}'
三.ELK Logstash 部署
Logstash 一般部署在需要監控其日志的服務器。在本案例中,Logstash 部署在 nginx 服務器
上,用于收集 nginx服務器的日志信息并發送到 Elasticsearch
1.初始化操作
systemctl disable --now firewalld
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
2.更改主機名
hostnamectl set-hostname nginx01
3.安裝配置nginx
cd /etc/yum.repos.d
上傳nginx.repo文件
yum install -y nginx
systemctl enable --now nginxcd /usr/share/nginx/html
vim test.html<h1>this is web page</h1>瀏覽器進行測試:http://192.168.80.104/test.html
4.安裝 Logstash
上傳軟件包 logstash-6.7.2.rpm 到/opt目錄下
cd /opt
上傳軟件包
yum localinstall -y logstash-6.7.2.rpm #安裝
ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
5.測試 Logstash
Logstash 命令常用選項
-f | 通過這個選項可以指定 Logstash 的配置文件,根據配置文件配置 Logstash 的輸入和輸出流 |
-e | 從命令行中獲取,輸入、輸出后面跟著字符串,該字符串可以被當作 Logstash 的配置(如果是空,則默認使用 stdin 作為輸入,stdout 作為輸出) |
-t | 測試配置文件是否正確 |
-w | 指定filter線程數量,默認線程數是 5 |
-l | 指定日志文件名稱 |
輸入采用標準輸入,輸出采用標準輸出(類似管道),新版本默認使用 rubydebug 格式輸出
logstash -e 'input { stdin{} } output { stdout{} }'
logstash -e 'input{stdin{}} output {elasticsearch{hosts=>["192.168.9.114:9200"]}}'
將標準輸入的內容采用標準輸出的方法輸出到192.168.80.101
6.定義 logstash配置文件
Logstash 配置文件基本由三部分組成:input、output 以及 filter(可選,根據需要選擇使用)
Logstash 配置文件基本由三部分組成:input、output 以及 filter(可選,根據需要選擇使用)。
●input:表示從數據源采集數據,常見的數據源如Kafka、日志文件等
file ? beats ? kafka ? redis ? stdin
●filter:表示數據處理層,包括對數據進行格式化處理、數據類型轉換、數據過濾等,支持正則表
達式
grok ? ? ? 對若干個大文本字段進行再分割成一些小字段 ? (?<字段名>正則表達式) ? 字段名: 正則表
達式匹配到的內容
date ? ? ? 對數據中的時間格式進行統一和格式化
mutate ? ? 可以重命名,刪除,替換和修改事件中的字段。比如對一些無用的字段進行剔除,或增
加自定義的字段
multiline ? 對多行數據進行統一編排,將多行數據匯總為一個單一的行
●output:表示將Logstash收集的數據經由過濾器處理之后輸出到Elasticsearch。
elasticsearch ? stdou
格式如下
input {...}
filter {...}
output {...}
#在每個部分中,也可以指定多個訪問方式。例如,若要指定兩個日志來源文件,則格式如下:
input {
? ? file { path =>"/var/log/messages" type =>"syslog"}
? ? file { path =>"/var/log/httpd/access.log" type =>"apache"}
}
#修改 Logstash 配置文件,讓其收集系統日志/var/log/messages,并將其輸出到 elasticsearch 中。
chmod +r /var/log/messages ? ? ? ? ? ? ? ? ? ?#讓 Logstash 可以讀取日志
cd /etc/logstash/conf.d/
vim system.conf
input {
? ? file{
? ? ? ? path =>"/var/log/messages"
? ? ? ? type =>"system"
? ? ? ? start_position =>"beginning"
? ? ? ? # ignore_older => 86400
? ? ? ? sincedb_path => "/etc/logstash/sincedb_path/log_progress"
? ? ? ? add_field => {"log_hostname"=>"${HOSTNAME}"}
? ? }
}
---------------------------------------------------------------------------------------
常用參數
- path:表示要收集的日志的文件位置,必須使用絕對路徑,可使用通配符匹配。如果同時指定多個文件使用 , 號間隔
- exclude:排除不想監聽的文件
- type:指定Event的type字段。若是輸入ES時,沒有指定document_type,那么這里的type將做為ES中index的type
- start_position:可以設置為beginning或者end,beginning表示從頭開始讀取文件,end表示讀取最新的,默認是end,這個要和ignore_older一起使用。該選項只在第一次啟動logstash時有效
- ignore_older:表示了針對多久的文件進行監控,默認一天,單位為秒,可以自己定制,比如默只讀取一天內被修改的文件
- sincedb_path:表示文件讀取進度的記錄,每行表示一個文件,其中記錄了inode、主設備號、次設備號以及讀取的位置。默認為$HOME/.sincedb*
- sincedb_write_interval:設置多長時間會寫入讀取的位置信息,單位為秒
- add_field:用于向Event中添加自定義的字段。這里使用了${HOSTNAME},即本機的環境變量
- delimiter:文件內容的行分隔符,默認按照"\n"進行Event封裝
chmod a+r /var/log/messages #保證要有可讀權限
mkdir -p /etc/logstash/sincedb_path
touch /etc/logstash/sincedb_path/log_progress
chown logstash:logstash !$
cd /etc/nginx/conf.d
vim syslog.conf #編寫文件獲取系統日志
input {file {path => "/var/log/messages"type => "syslog"start_position => "beginning"sincedb_path => "/etc/logstash/sincedb_path/log_progress"add_field => {"logfrom" => "${HOSTNAME}"}}}#filter {}output {elasticsearch {hosts => ["192.168.80.101:9200","192.168.80.102:9200","192.168.80.103:9200"]index => "syslog-%{+yyyy.MM.dd}"}
}logstash -t -f syslog.conf #配置完成后使用此命令查看配置文件是否正確
logstash -f syslog.conf #啟動文件
四.ELK Kiabana 部署
1.安裝 Kiabana
上傳軟件包 kibana-6.7.2-x86_64.rpm 到/opt目錄
cd /opt
yum localinstall -y kibana-6.7.2-x86_64.rpm
2.設置 Kiabana 的主配置文件
cd /etc/kibana/
cp kibana.yml kibana.yml.bak
touch /var/log/kibana.log
chown kibana:kibana !$
vim /etc/kibana/kibana.yml
--2--取消注釋,Kiabana 服務的默認監聽端口為5601
server.port: 5601
--7--取消注釋,設置 Kiabana 的監聽地址,0.0.0.0代表所有地址
server.host: "0.0.0.0"
--28--取消注釋,配置es服務器的ip,如果是集群則配置該集群中master節點的ip
elasticsearch.hosts: ["http://192.168.80.101:9200","http://192.168.80.102:9200","http://192.168.80.103:9200"]
--96--取消注釋,配置kibana的日志文件路徑(需手動創建),不然默認是messages里記錄日志
logging.dest: /var/log/kibana.log
--113--取消注釋,指定頁面字符格式為中文
i18n.locale: "zh-CN"systemctl enable --now kibana.service
3.驗證 Kiabana
瀏覽器訪問 http://192.168.80.103:5601
左側[管理],點擊【管理菜單】,點擊【索引管理】即可在其中進行索引管理
創建索引模式:左側[管理],點擊【管理菜單】,點擊【索引模式】,索引模式下對索引進行搜索
4.將nginx服務器的日志(訪問的、錯誤的)添加到 Elasticsearch 并通過 Kiabana 顯示
將192.168.80.104服務器中nginx的日志進行添加
cd /etc/nginx/conf.d
vim nginx_log.conf
input {file {path => "/var/log/nginx/access.log"type => "nginx_access"start_position => "beginning"sincedb_path => "/etc/logstash/sincedb_path/log_progress"}file {path => "/var/log/nginx/error.log"type => "nginx_error"start_position => "beginning"sincedb_path => "/etc/logstash/sincedb_path/log_progress"}
}#filter {}output {if [type] == "nginx_access" {elasticsearch {hosts => ["192.168.80.101:9200","192.168.80.102:9200","192.168.80.103:9200"]index => "nginx_access-%{+yyyy.MM.dd}"}}if [type] =="nginx_error" {elasticsearch {hosts => ["192.168.80.101:9200","192.168.80.102:9200","192.168.80.103:9200"]index => "access_error-%{+yyyy.MM.dd}"}}
}logstash -t -f nginx_log.conf #測試
logstash -f nginx_log.conf #啟動
kibana查看添加索引
同樣操作添加nginx_error索引
此時訪問192.168.80.104 nginx 服務器的日志即可在kibana中顯示出來