1.安装elasticsearch,具体安装办法
2.下载 logstash-6.3.2.tar.gz ,并上传至服务器 (/elsearch/)
3.解压 logstash
cd /elsearch/
tar zxvf logstash-6.3.2.tar.gz
4.下载 kibana-6.3.2-linux-x86_64.tar.gz ,并上传到服务器 (/elsearch/)
5.解压 kibana
cd /elsearch/
tar zxvf kibana-6.3.2-linux-x86_64.tar.gz
6.配置 kibana
kibana的配置文件在 /elsearch/kibana-6.3.2-linux-x86_64/config/kibana.yml
#elasticsearch.url: "http://localhost:9200" //访问elsearch的地址
#server.port: 5601 //kibana的访问端口
#server.host: "localhost" //kibana的访问地址。这里改为本机的IP,并去掉之前的 #
server.host: "192.168.1.109",其它的就按默认文件配置。
7.启动 kibana
cd /elsearch/kibana-6.3.2-linux-x86_64/bin/
./kibana &
8.在浏览器中查看 kibana
http://192.168.1.109:5601
8.nginx的日志格式在配置文件中配置。打开/etc/nginx/nginx.conf,配置日志格式
log_format main '$remote_addr "$time_iso8601" "$request" $status $body_bytes_sent "$http_user_agent" "$http_referer" "$http_x_forwarded_for" "$request_time" "$upstream_response_time" "$http_cookie" "$http_Authorization" "$http_token"';
access_log /var/log/nginx/access.log main
重启nginx 。 service nginx restart
清空nginx的日志,点击一部分后,来产生新的格式的日志。接下来会用到。
9.接下来配置logstash
input {
file {
#日志存放路径
path => "/elsearch/logstash-6.3.2/etc/access.log"
start_position => "beginning"
}
}
filter {
grok {
match => {"message" => "%{IPORHOST:client_ip} "%{TIMESTAMP_ISO8601:timestamp}" "%{WORD:verb} %{NOTSPACE:request_path} HTTP/%{NUMBER:httpversion}" %{NUMBER:response_status:int} %{NUMBER:response_body_bytes:int} "%{DATA:user_agent}" "%{DATA:http_referer}" "%{NOTSPACE:http_x_forwarder_for}" "%{NUMBER:request_time:float}" "%{DATA:upstream_resopnse_time}" "%{DATA:http_cookie}" "%{DATA:http_authorization}" "%{DATA:http_token}""}
add_field => {"request_path_with_verb" => "%{verb} %{request_path}"}
add_field => {"request_path_2" => "%{request_path}"}
}
#忽略nginx日志中的js css image等信息
if ".js" in [request_path] or ".css" in [request_path] or ".png" in [request_path] or ".ico" in [request_path] or ".jpg" in [request_path] or ".woff" in [request_path] or ".gif" in [request_path] {
drop {}
}
#分割URL
kv {
prefix => "cgsoft_"
field_split => "?&"
value_split =>"="
source => "request_path"
allow_duplicate_values => false
}
date {
match => [ "timestamp", "yyyy-MM-dd'T'HH:mm:ssZZ" ]
target => "@timestamp"
}
#IP处理,这里用到了一个IP库。
geoip {
source => "client_ip"
database => "/elsearch/logstash-6.3.2/etc/GeoLite2-City.mmdb"
}
urldecode {
all_fields => true
}
}
output {
elasticsearch {
hosts => "127.0.0.1:9200"
}
stdout {
codec => json_lines
}
}
启动logstash.
10.刷新 http://192.168.1.109:5601
1.点击 Management.
2.点击 Index Patterns
3.搜索 log*,然后点击 netxt step
4.然后选择 @timestamp,然后点击右下角的create index
5.就可以看到日志导入elsearch中的一些信息。
6.点击左侧栏的 Discover,然后在右上角选择日志的时间段,因为我这里只有一部分测试数据,所以会比较少。
7.点击左侧栏的 Visualize,然后点击 create
7.选择一种图片的样子,这里选择 柱状图
8.选择刚才 的 log*
9.选择柱状图的属性,这里只是简单的设置了一下。可以看到各个时间段的访问情况
Kibana还有更多展示日志的方式 ,这里只是带大家入门,更多,更全面的使用来分析日志,就得深入学习。
这里再分享一个中文地图的链接 ,只要放到kibana的配置文件底部,重启kibana就可以了。
tilemap.url: "http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}"
更多相关的包,可以到这里的云盘下载。
閱讀更多 程序從入門到放棄 的文章
關鍵字: 下载 ElasticSearch Linux