博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elastic+logstash+filebeat做Nginx日志分析
阅读量:6511 次
发布时间:2019-06-24

本文共 2604 字,大约阅读时间需要 8 分钟。

一、Elasticserach安装

1、Installation(elastic 6.3.2 版本 依赖 java JDK8)

下载合适的版本:

curl -L -O
tar -xvf elasticsearch-6.4.0.tar.gz
cd elasticsearch-6.4.0/bin
./elasticsearch

2、集群健康检查

curl -XGET 集群健康查看
curl -XGET 节点状态查看
curl -XGET 查看索引
curl -XPUT 添加customer索引
curl -XDELETE 删除索引

3、Config

cluster.name: 集群名
node.name: 节点名
path.data: 数据存储路径
path.logs: 日志存储路径
network.host: 监听地址
http.port: 监听端口
JVM 配置、logging配置 参考官方文档
重要参数:

Path settings

Cluster name
Node name
Network host
Discovery settings
Heap size
Heap dump path
GC logging
Temp directory
重要的系统参数:

Disable swapping

Increase file descriptors
Ensure sufficient virtual memory
Ensure sufficient threads
JVM DNS cache settings

4、Running as daemon

./bin/elasticsearch -d -p pid 启动
kill cat pid 停止

5、Set up X-Pack

参考x-pack破解方法

二、kibana安装及配置

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.4.0-linux-x86_64.tar.gz

tar -xzf kibana-6.4.0-linux-x86_64.tar.gz

cd kibana-6.4.0-linux-x86_64/

1、启动  ./bin/kibana           2、config:

server.port: 5601

server.host: "192.168.12.81"
kibana.index: ".kibana"
elasticsearch.username: "elastic"
elasticsearch.password: "dinpay"

三、logstash安装及配置

wget

配置 filebeat 收集Nginx日志: (Nginx.conf)

input {

beats {
port => 5044
codec => "json"
}
}

output {

elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "test1-nginx-access-%{+YYYY.MM.dd}"
template_overwrite => true
user => elastic
password => dinpay
}
}

配置logstash.yml elastic安装在本机(没有配置https)

xpack.monitoring.enabled: true

xpack.monitoring.elasticsearch.username: elastic
xpack.monitoring.elasticsearch.password: dinpay
xpack.monitoring.elasticsearch.url: [""]

四、filebeat安装及配置

wget

tar -xf filebeat-6.4.0-linux-x86_64.tar.gz

cd filebeat-6.4.0-linux-x86_64

配置 filebeat.yml

  • type: log

    paths:

    • /var/log/nginx/access.log

output.logstash:

hosts: ["192.168.12.81:5044"]

xpack.monitoring:

enabled: true
elasticsearch:
hosts: ["", ""]
username: elastic
password: dinpay

五、Nginx 日志格式配置:

log_format json '{"@timestamp":"$time_iso8601",'

'"host":"$server_addr",'
'"clientip":"$clientRealIp",'
'"remote_user":"$remote_user",'
'"request":"$request",'
'"http_user_agent":"$http_user_agent",'
'"size":$body_bytes_sent,'
'"responsetime":$request_time,'
'"upstreamtime":"$upstream_response_time",'
'"upstreamhost":"$upstream_addr",'
'"http_host":"$host",'
'"url":"$uri",'
'"domain":"$host",'
'"xff":"$http_x_forwarded_for",'
'"referer":"$http_referer",'
'"status":"$status",'
'"ss":"$upstream_status"}';

access_log  /var/log/nginx/access.log  json;map $http_x_forwarded_for $clientRealIp {""  $remote_addr;~^(?P
[0-9\.]+),?.*$ $firstAddr;}

转载于:https://blog.51cto.com/hjt353/2174863

你可能感兴趣的文章
关于 HandlerMethodArgumentResolver 类 以及 WebArgumentResolver 类 自定义解析参数
查看>>
30个php操作redis常用方法代码例子
查看>>
这样就算会了PHP么?-10
查看>>
css基础之 联网使用bootstrap
查看>>
Struts2中使用Session的两种方法
查看>>
【索引】Oracle之不可见索引和虚拟索引的比对
查看>>
忠告初学者学习Linux系统的8点建议
查看>>
下载历史版本App
查看>>
在Ubuntu中部署并测试HyperLedger Fabric 0.6
查看>>
一题关于PHP的CTF
查看>>
phpmyadmin 免登陆
查看>>
【Linux相关配置】Wine1.12中文完美配置
查看>>
[uart]理解线路规程的作用
查看>>
RecyclerView的使用(2)之多Item布局的载入
查看>>
Go1.5 改进摘要
查看>>
eclipse 下的jdk
查看>>
$route、$router的学习
查看>>
Unknown column 'XX' in 'field list'彻底研究
查看>>
Beyond 海阔天空 翻唱
查看>>
华为软件岗大类提前批秋招面经(已拿offer)
查看>>