ELK - Logstash Nginx 로그 분석

7570 단어 logstashkibanaelkELK
자세 한 내용 은 다음 과 같다.https://www.chinasa.net
logstash 프로필
# nginx_log.conf input {          file
  {                  type
  =>  "nginx_log"                  path =>  "/opt/nginx/logs/access.log"          } }  
  filter {    if
  [ type ] ==  "nginx_log"
  {      grok {        match => {  "message"
  =>  "%{NGINXACCESS}"
  }      }     if
  ([message] =~  "^*launcher*|^*favicon*" ) {        drop {}     }      geoip {        source
  =>  "remote_addr"        target =>  "geoip"        database =>  "/opt/logstash-2.0.0/conf/GeoLiteCity.dat"        add_field => [  "[geoip][coordinates]" ,  "%{[geoip][longitude]}"
  ]        add_field => [  "[geoip][coordinates]" ,  "%{[geoip][latitude]}"
 
  ]      }      mutate {        convert => [  "[geoip][coordinates]" , "float" ,  "body_bytes_sent" , "float" , \           "body_bytes_sent.raw" , "float" ]      }    } } output {      stdout { codec => rubydebug }      elasticsearch {          hosts =>  "192.168.0.100:9200"          index =>  "ngx_log-%{+YYYY.MM}"      } }
NGINXACCESS 정의, patterns / nginx 파일 에 쓸 수 있 습 니 다.
NGUSERNAME [a-zA-Z\.\@\-\+_%]+NGUSER %{NGUSERNAME}NGINXACCESS %{IPORHOST:remote_addr} - - \[%{HTTPDATE:time_local}\] "%{WORD:method} %{URIPATHPARAM:request} HTTP/%{NUMBER:httpversion}" %{INT:status} %{INT:body_bytes_sent} %{QS:http_referer} %{QS:http_user_agent}
 
kibana 그래프 전시

좋은 웹페이지 즐겨찾기