温馨链接
- elasticsearch入门之下载安装
- elasticsearch入门之基本用法
- elasticsearch入门之高级查询
- spring boot集成elasticsearch
- spring boot集成elasticsearch项目地址
kibana
- kibana简介:Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。
- 下载地址:https://www.elastic.co/downloads/kibana
- 修改kibana.yml
elasticsearch.url: “http://localhost:9200”,这是默认地址 - 到解压好的kibana下的bin目录中:
kibana.bat
- 修改端口:bin\kibana -e http://127.0.0.1:8200 -p 8601
- 访问http://localhost:5601
看到Welcome to Kibana即安装成功
kibana常用功能说明
- Discover:数据搜索查看
- Visualize:图标制作
- Dashboard:仪表盘制作
- Timelion:时序数据的高级可视化分析
- Devtools:开发者工具
- Management: 配置
- kibana详细解读:https://www.cnblogs.com/cjsblog/p/9476813.html
Beats
简介:Lightweight Data Shipper
- Filebeat:日志文件
filebeat链接:https://www.cnblogs.com/kerwinC/p/6227768.html - Metricbeat:度量数据
- Packetbeat:网络数据
- Windowbeat:window数据
- Heartbeat:健康检查
filebeat
- 下载地址:https://www.elastic.co/downloads/beats/filebeat
- filebeat处理流程
输入(input)、处理(filter)、输出(output)
- input
filebeat.prospectors:
input_type:log(日志文件)/stdin(标准输入)
path:
- output
console、Elasticsearch、logstash、kafaka、redis、file
- filter
input时处理:include_lines、exclude_lines、exclude_files
output前处理:drop_event、drop_fields、decode_json_fields、include_fields - 语法例子
当匹配到字段message的正则表达式时,将这个字段drop掉,丢弃debug日志
- filebeat测试:在安装的目录下cmd查看nginx文件日志
type D:\SoftwareDevelop\nginx\nginx-1.13.8\logs\access.log
- 编写nginx.yml文件
- 输出日志
type D:\SoftwareDevelop\nginx\nginx-1.13.8\logs\access.log| filebeat -e -c nginx.yml
message中存放的就是日志信息
packetbeat
简介: 实时抓取网络包,自动解析应用层协议,DNS、HTTP,等于等量级Wireshark…
- 下载地址:https://www.elastic.co/downloads/beats/packetbeat
- packetbeat解析elasticsearch http请求
- sudo ./packetbeat -e -c packetbeat.yml -strict.perms=false
sudo :抓包时的权限
strict.perms=false:可以不去校验packetbeat.yml的权限
logstash
简介: data shipper,作为一个ETL
处理流程
- input
input{file{path => “/tmp/abc.log”}} - ootput
output{stdout{codec => rubydebug}} - filter
Grok:基于正则表达式提供了丰富可重用的模式(pattern),将非结构化数据结构化处理
Data:将字符串类型的时间字段转为时间戳类型
Mutate:进行增加、修改、删除、替换等字段相关的处理
more… - Grok示例
- 配置文件
nginx_logstash.conf
input {
stdin { }
}
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 => en
}
geoip {
source => “remote_ip”
target => “geoip”
}
useragent {
source => “agent”
target => “user_agent”
}
}
output {
stdout {
codec => rubydebug
}
}
- 输入日志
type D:\SoftwareDevelop\nginx\nginx-1.13.8\logs\access.log| bin\logstash -f nginx_logstash.conf