Centos6搭建elk系統,監控IIS日誌
Centos服務器端:java、elasticsearch、kikbana
windows客戶端:IIS、logstash**
一、服務器端(192.168.10.46)操作:
先建立一個ELK專門的目錄:
[root@Cent65 ~]mkdir /elk/
上傳到elk目錄已經下載好的JDK、elasticsearch、kibana安裝包。
elasticsearch-2.3.4.tar.gz jdk-8u161-linux-x64.tar.gz kibana-4.5.3-linux-x64.tar.gz
1、安裝java環境(需要1.8以上java版本)
安裝之前先卸載幹凈舊的java環境
[root@Cent65 ~]# yum remove java
[root@Cent65 ~]# cd /elk/
[root@Cent65 elk]# tar zxf jdk-8u161-linux-x64.tar.gz
[root@Cent65 elk]#vim /etc/profile.d/java.sh
export JAVA_HOME=/elk/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
[root@Cent65 elk]# source !$
2、安裝elasticsearch
[root@Cent65 elk]# tar zxf elasticsearch-2.3.4.tar.gz
[root@Cent65 elk]# vim elasticsearch-2.3.4/config/elasticsearch.yml
修改54行:
[root@Cent65 elk]# cd elasticsearch-2.3.4
啟動:
[root@Cent65 elasticsearch-2.3.4]# ./bin/elasticsearch
提示不能使用root用戶運行。需要新建用戶。
[root@Cent65 elasticsearch-2.3.4]# useradd elk
改權限
[root@Cent65 elasticsearch-2.3.4]# cd ..
[root@Cent65 elk]#chown elk.elk elasticsearch-2.3.4 -R
[root@Cent65 elk]# su - elk
[elk@Cent65 ~]$ cd /elk/ && ./elasticsearch-2.3.4/bin/elasticsearch
測試:
[elk@elk ~]$ curl http://192.168.10.46:9200
2.1安裝head插件:
進入elasticsearch/bin目錄下運行 ./plugin -install mobz/elasticsearch-head 命令
[root@Cent65 bin]# ./plugin -install mobz/elasticsearch-head
瀏覽器測試:http://192.168.10.46:9200/_plugin/head/
3. 安裝kibana
[root@Cent65 elk]# tar zxf kibana-4.5.3-linux-x64.tar.gz
[root@Cent65 elk]# vim kibana-4.5.3-linux-x64/config/kibana.yml
修改以下內容:
[root@Cent65 elk]# cd kibana-4.5.3-linux-x64
[root@Cent65 kibana-4.5.3-linux-x64]# ./bin/kibana
測試:http://192.168.1.65:5601
二、客戶端操作(windows2012)
1、先安裝JAVA環境
下載JDK並安裝 jdk-8u161-windows-x64.exe
配置環境變量:
我的電腦——右鍵屬性——高級系統設置——環境變量
系統變量 新建
JAVA_HOME 變量值為JDK安裝路徑比如C:\Program Files\Java\jdk1.8.0_161
CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
註意最左邊的".和;"
PATH 在原有的變量值最後添加 註意右邊第一個的“;” ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
2、下載logstash 的windows版本 (logstash-6.2.3.zip)
解壓到D盤下
進入D:\logstash-6.2.3\logstash-6.2.3
新建test.conf配置文件
寫入以下內容:
input { file { type => "iis_log_1" path => ["C:/inetpub/logs/LogFiles/W3SVC1/*.log"] start_position => "beginning" } } filter { if [type] == "iis_log_1" { #ignore log comments if [message] =~ "^#" { drop {} } grok { # check that fields match your IIS log settings match => ["message", "%{TIMESTAMP_ISO8601:log_timestamp} %{IPORHOST:site} %{WORD:method} %{URIPATH:page} %{NOTSPACE:querystring} %{NUMBER:port} %{NOTSPACE:username} %{IPORHOST:clienthost} %{NOTSPACE:useragent} %{NUMBER:response} %{NUMBER:subresponse} %{NUMBER:scstatus} %{NUMBER:time_taken}"] } date { match => [ "log_timestamp", "YYYY-MM-dd HH:mm:ss" ] timezone => "Etc/UTC" } useragent { source=> "useragent" prefix=> "browser" } mutate { remove_field => [ "log_timestamp"] } } } output { # stdout{ # codec => rubydebug{} # } elasticsearch { hosts => ["192.168.10.46:9200"] index => "logstash-%{+YYYY.MM.dd}" } }
打開powershell
PS C:\Users\Administrator> cd D:\logstash-6.2.3\logstash-6.2.3
進入logstash-6.2.3目錄執行下面命令
bin/logstash -f test.conf
這裏就成功了。
然後瀏覽器去打開kicbana http://192.168.10.46:5601 創建索引
註意:這裏的索引名稱要跟test.conf文件後面index=> 的名字保持對應。
此時訪問http://192.168.10.46:5601/已經收集到了日誌:
三、後期維護的一些問題:
清除elasticsearch數據
[root@elk elasticsearch-2.3.4]#
curl -XDELETE 'http://192.168.10.46:9200/logstash-2018.04.*'
後期報錯情況分析:
若kicbana網頁無法打開,需要重新啟動elasticsearch、kibana、logstash
[root@elk ~]# su – elk
[elk@elk ~]$ cd /elk/
[elk@elk elk]$ nohup ./elasticsearch-2.3.4/bin/elasticsearch &
netstat -anptu |grep 9200 查看端口是否正常打開,正常情況如下:
若是沒有啟動,是如下情況:
所以需要重新啟動:
[root@elk ~]# cd /elk/
[root@elk elk]# nohup ./kibana-4.5.3-linux-x64/bin/kibana &
查看及刪除索引
curl get http://192.168.10.46:9200/_cat/indices 查看索引
curl -XDELETE http;// 192.168.10.46:9200/logstash_20180101 刪除索引。
就先寫到這裏,歡迎到家提問、指正。
Centos6搭建elk系統,監控IIS日誌