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端口
-
创建日志索引
-
查看日志量等信息
您的资助是我最大的动力!
金额随意,欢迎来赏!