wxyfj 发表于 2019-1-28 11:01:11

Centos6搭建elk系统,收集IIS日志

  **所需程序:
  Centos服务器端:java、elasticsearch、kikbana
  windows客户端:IIS、logstash**
  一、服务器端(192.168.10.46)操作:
  先建立一个ELK专门的目录:
  mkdir /elk/
  上传到elk目录已经下载好的JDK、elasticsearch、kibana安装包。
  elasticsearch-2.3.4.tar.gzjdk-8u161-linux-x64.tar.gzkibana-4.5.3-linux-x64.tar.gz
  1、安装java环境(需要1.8以上java版本)
  安装之前先卸载干净旧的java环境
  # yum remove java
  # cd /elk/
  # tar zxf jdk-8u161-linux-x64.tar.gz
  #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
  # source !$
http://s1.运维网.com/images/20180424/1524556188576132.png
  2、安装elasticsearch
  
  # tar zxf elasticsearch-2.3.4.tar.gz
  # vim elasticsearch-2.3.4/config/elasticsearch.yml
  修改54行:
http://s1.运维网.com/images/20180424/1524556331971059.png
  # cd elasticsearch-2.3.4
  启动:
  # ./bin/elasticsearch
http://s1.运维网.com/images/20180424/1524556349885492.png
  提示不能使用root用户运行。需要新建用户。
  # useradd elk
  改权限
  # cd ..
  #chown elk.elk elasticsearch-2.3.4 -R
  # su - elk
  $ cd /elk/ && ./elasticsearch-2.3.4/bin/elasticsearch
  测试:
  $ curl http://192.168.10.46:9200
http://s1.运维网.com/images/20180424/1524556510320117.png
  2.1安装head插件:
  进入elasticsearch/bin目录下运行   ./plugin -install mobz/elasticsearch-head命令
  # ./plugin -install mobz/elasticsearch-head
  浏览器测试:http://192.168.10.46:9200/_plugin/head/
http://s1.运维网.com/images/20180424/1524556801265745.png
  3. 安装kibana
  # tar zxf kibana-4.5.3-linux-x64.tar.gz
  # vim kibana-4.5.3-linux-x64/config/kibana.yml
  修改以下内容:
http://s1.运维网.com/images/20180424/1524557150990940.png
  http://s1.运维网.com/images/20180424/1524557244961996.png

  
  # cd kibana-4.5.3-linux-x64
  # ./bin/kibana
  测试:http://192.168.1.65:5601
http://s1.运维网.com/images/20180424/1524557699490402.png
  
二、客户端操作(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 == "iis_log_1" {
#ignore log comments
if =~ "^#" {
    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}"
         }
}  http://s1.运维网.com/images/20180424/1524560390499411.png

  打开powershell
  PS C:\Users\Administrator> cd D:\logstash-6.2.3\logstash-6.2.3
  http://s1.运维网.com/images/20180424/1524560641357847.png

进入logstash-6.2.3目录执行下面命令
bin/logstash -f test.conf
http://s1.运维网.com/images/20180424/1524560898498314.png
这里就成功了。
然后浏览器去打开kicbana   http://192.168.10.46:5601创建索引
http://s1.运维网.com/images/20180424/1524560996552711.png
注意:这里的索引名称要跟test.conf文件后面index=> 的名字保持对应。
http://s1.运维网.com/images/20180424/1524561247948224.png
  
  
  此时访问http://192.168.10.46:5601/已经收集到了日志:
http://s1.运维网.com/images/20180424/1524561379288561.png
  三、后期维护的一些问题:

清除elasticsearch数据
#
curl -XDELETE 'http://192.168.10.46:9200/logstash-2018.04.*'


后期报错情况分析:
若kicbana网页无法打开,需要重新启动elasticsearch、kibana、logstash
# su – elk
$ cd /elk/
$ nohup ./elasticsearch-2.3.4/bin/elasticsearch &
netstat -anptu |grep 9200查看端口是否正常打开,正常情况如下:
http://s1.运维网.com/images/20180424/1524561637324484.png
若是没有启动,是如下情况:
http://s1.运维网.com/images/20180424/1524561657569372.png
所以需要重新启动:
# cd /elk/
# nohup ./kibana-4.5.3-linux-x64/bin/kibana &
  查看及删除索引
  curl get http://192.168.10.46:9200/_cat/indices   查看索引   
curl -XDELETEhttp;// 192.168.10.46:9200/logstash_20180101 删除索引。
  

  就先写到这里,欢迎到家提问、指正。



页: [1]
查看完整版本: Centos6搭建elk系统,收集IIS日志