ELK部署检测nginx日志demo
Posted ttzzyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELK部署检测nginx日志demo相关的知识,希望对你有一定的参考价值。
ELK
E: ElasticSearch 搜索引擎 存储 https://www.elastic.co/cn/downloads/elasticsearch
L: Logstash 日志收集 https://www.elastic.co/cn/downloads/logstash
K: kibana 展示 https://www.elastic.co/cn/downloads/kibana
ElasticSearch
下载解压
tar -zxvf elasticsearch-7.3.1-linux-x86_64.tar.gz
在es下创建数据和日志文件夹,修改配置文件
#对应配置里的数据和日志文件目录 mkdir /usr/local/src/elasticsearch/elasticsearch-7.3.1/data mkdir /usr/local/src/elasticsearch/elasticsearch-7.3.1/logs vim config/elasticsearch.yml
cluster.name: my-application
node.name: node-10
path.data: /usr/local/src/elasticsearch/elasticsearch-7.3.1/data
path.logs: /usr/local/src/elasticsearch/elasticsearch-7.3.1/logs
新建elkuser用户(注意不能使用root用户启动es)
#创建用户 useradd elkuser #修改用户组和用户 chown -R elkuser:elkuser elasticsearch-7.3.1 #切换用户 su elkuser
启动
./bin/elasticsearch
nginx
安装PCRE
安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
首先要安装 PCRE(作用是让 Nginx 支持 Rewrite 功能)
#下载 wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz #解压安装包 tar -zxvf pcre-8.35.tar.gz #进入安装包目录 cd pcre-8.35 #编译安装 ./configure make && make install #查看pcre版本 pcre-config --version
安装Nginx
#下载 wget http://nginx.org/download/nginx-1.6.2.tar.gz #解压安装包 tar -zxvf nginx-1.6.2.tar.gz #进入安装包目录 cd nginx-1.6.2/ #编译安装(注意pcre路径) ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/nginx/pcre-8.35 make && make install #查看pcre版本 /usr/local/webserver/nginx/sbin/nginx -v
检查
#检查配置文件nginx.conf的正确性命令 /usr/local/webserver/nginx/sbin/nginx -t
启动 Nginx
/usr/local/webserver/nginx/sbin/nginx #查看进程 ps -ef |grep nginx
Nginx 其他命令
/usr/local/webserver/nginx/sbin/nginx -s reload # 重新载入配置文件 /usr/local/webserver/nginx/sbin/nginx -s reopen # 重启 Nginx /usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx
浏览器访问站点
Logstash
下载解压
tar -zxvf logstash-7.3.1.tar.gz
创建一个配置文件
vim logstash-nginx-access-log.conf
input
path => "/usr/local/webserver/nginx/logs/*.log"
start_position => "beginning"
192.168.192.1 - - [12/Sep/2019:15:47:37 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/74.0.3729.131 Safari/537.36" "-"
filter
grok
match =>
"message" => ‘%IPORHOST:remote_ip - %DATA:user_name [%HTTPDATE:time] "%WORD:request_action %DATA:request HTTP/%NUMBER:http_version" %NUMBER:response %NUMBER:bytes "%DATA:referrer" "%DATA:agent"‘
date
match => [ "time" , "dd/MMM/yyyy:HH:mm:ss Z" ]
locale => cn
output
elasticsearch
hosts => ["192.168.192.10:9200"]
index => "logstash-nginx-access-log"
stdout codec => rubydebug
启动
bin/logstash -f logstash-nginx-access-log.conf
- 访问nginx页面
kibana
下载解压
tar -zxvf kibana-7.3.1-linux-x86_64.tar.gz #进入kibana配置下 cd kibana-7.3.1-linux-x86_64/config #修改配置文件 vim kibana.yml
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]
启动(kibana不建议以root用户启动,如果用root启动,需要加--allow-root)
bin/kibana
- 访问5601端口
- 创建日志索引
- 查看日志量等信息
以上是关于ELK部署检测nginx日志demo的主要内容,如果未能解决你的问题,请参考以下文章