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端口

  • 创建日志索引

  • 查看日志量等信息

原文地址:https://www.cnblogs.com/ttzzyy/p/11514222.html