记录一下趟过的坑。
#查看监听端口
netstat -nltp
#nginx access日志的标准格式
$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"';
#一条log数据
115.183.240.83 - - [30/Sep/2017:00:32:54 +0800] "GET /img/favicon.ico HTTP/1.1" 304 0 "http://old.hepbook.cn:3010/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
#grok正则
http://grok.qiexun.net/
grokdebugger这个网站国内上不去,没反应,这个中文版会比较好用。
#logstash默认不处理一天以前的数据
在input file里面加上这句才可以每次都重新读取整个文件
sincedb_path => "/dev/null" #read from beginning
#ignore_older =>
ignore_older: 忽略早于24小时(默认值86400)的日志
#logstash启动
./bin/logstash -f logstash.conf --path.data=/root
./bin/logstash -f nginx_access.conf --path.data=/var/log
#elasticsearch不能以root运行的问题
su elsearch #切换账户
./bin/elasticsearch -d #后台执行
curl http://localhost:9200/
#去看下es里的索引,应该已经在倒入数据了。
curl 'localhost:9200/_cat/indices?v'
#kibana x-pack
elasticsearch.username: "user"
elasticsearch.password: "pass"
#配置完成后,三个服务依次启动 elasticsearch–kibana –logstash
service elasticsearch start
service kibana start
initctl start logstash
重启elasticsearch
ps -ef | grep elastic
找到进程号
kill -9 进程号
旧的geoip不能用了
http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
新的
http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
nginx已有的日志文件大概3G
进行简单的切割已便读取
split -l 100000 node2d.access -d node2d.access