上一章节 我们说了如何安装 ElasticSearch,下面我们来安装剩下的 kibana 以及 logstash 跟 filebeat
安装 kibana
简介:Kibana 是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化,并让您在 Elastic Stack 中进行导航。您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。 https://www.elastic.co/cn/kibana/ 去到官网 https://www.elastic.co/cn/downloads/kibana 找到对应版本的kibana 下载链接地址 cd /home wget https://artifacts.elastic.co/downloads/kibana/kibana-7.15.2-linux-x86_64.tar.gz tar -zxcf kibana-7.15.2-linux-x86_64.tar.gz mv kibana-7.15.2 kibana 配置kibana vi /home/kibana/config/kibana.yml server.host: “0.0.0.0" #所有地址都可以打开 server.port: 5601 #端口 elasticsearch.hosts: ["http://localhost:9200”] #es服务地址 i18n.locale: "zh-CN” #设置成中文 启动kibana ./kibana/bin/kibana & 如果是root 用户启动 ./kibana/bin/kibana --allow-root &
Logstash 安装
简介:Logstash 是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中
https://www.elastic.co/cn/logstash/
去到官网 https://www.elastic.co/cn/downloads/logstash 找到对应版本的 logstash 下载链接地址
cd /home
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.15.2-linux-x86_64.tar.gz
tar -zxcf logstash-7.15.2-linux-x86_64.tar.gz
mv logstash-7.15.2 logstash
测试语法
./bin/logstash -e 'input {stdin {}} output { stdout{}}’
启动成功后,控制台输入字符 回车就,然后 logstash 也会输出对应的结果
检测文件配置是否ok. -t OR --config.test_and_exit
./bin/logstash -f ./config/logstash-filebeat-console.yml —config.test_and_exit
启动Logstash的时候使用--config.reload.automatic或-r选项来开启自动重载配置。例如:
bin/logstash -f apache.config —config.reload.automatic
Logstash文档
https://www.kancloud.cn/aiyinsi-tan/logstash/966055
Logstash 配置
logstash-filebeat-console.yml 这是测试 filebeat 传输数据过来,logstash 打印到控制台
input {
beats {
port => 5044 #跟 FileBeat 的端口保持一致
}
}
filter {
mutate {
remove_field => [ "input", "log", "ecs", "@version", "agent", "tags", "host" ]
}
}
output {
stdout {
codec => rubydebug
}
}
logstash-elasticsearch.yml 这是 filebeat 传输数据过来,logstash 打印到控制台 并同步到 elasticsearch 的配置
input {
beats {
port => 5044 #跟 FileBeat 的端口保持一致
}
}
filter {
mutate {
remove_field => [ "input", "log", "ecs", "@version", "agent", "tags", "host" ]
#rename => {"@timestamp" => "date"}
}
#grok { match => [ "dete", "%{HTTPDATE:[@metadata][timestamp]}" ] }
#date { match => [ "[@metadata][timestamp]", "dd/MMM/yyyy:HH:mm:ss Z" ] }
}
output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "llh_logstash"
}
stdout {
codec => rubydebug
}
}
插件介绍:
Grok内置的表达式
https://github.com/logstash-plugins/logstash-patterns-core/blob/main/patterns/
全部表达式:https://github.com/logstash-plugins/logstash-patterns-core/blob/main/patterns/ecs-v1/grok-patterns
Grok 文档
https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html#plugins-filters-grok-break_on_match
可以在 kibana 开发工具 —> Grok Debugger 测试你的表达式
例子:
[25/Nov/2021:11:37:45 +0800] - - 408 0.000 - 0 "GET /soa_health_check.php?from=goproxy&get_sdk_info=1 HTTP/1.1" "-" - - "10.129.37.166" Go-http-client/1.1" /usr/local/openresty/nginx/html/soa_health_check.php
Grok 表达式
[%{HTTPDATE:date}] - - %{NUMBER:bytes} %{NUMBER:duration} - %{NUMBER} "%{WORD:method} %{NOTSPACE:uri} %{NOTSPACE:http_version}" "%{NOTSPACE}" - - "%{IP:ip}”
Grok 其他的一些配置项目:
https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html#plugins-filters-grok-common-options
Mutate 插件 可以重命名、删除、替换和修改事件中的字段。
https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html
FileBeat 安装
简介:Filebeat 都将为您提供一种轻量型方法,用于转发和汇总日志与文件,让简单的事情不再繁杂
https://www.elastic.co/cn/beats/filebeat
去到官网 https://www.elastic.co/cn/downloads/beats/filebeat 找到对应版本的 filebeat 下载链接地址
cd /home
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.15.2-linux-x86_64.tar.gz
tar -zxcf filebeat-7.15.2-linux-x86_64.tar.gz
mv filebeat-7.15.2 filebeat
配置 filebeat
filebeat.inputs:
- type: log
enabled: true
paths:
- /www/wwwlogs/*.log
# ------------------------------ Logstash Output -------------------------------
output.logstash:
# The Logstash hosts
hosts: ["127.0.0.1:5044”] # #跟 logstash 的端口保持一致
—— 启动 filebeat
./filebeat/bin/filebeat -e -c filebeat.yml
如果logstash 没有启动,那filebeat 启动就会有错误
测试都没有问题:
依次启动顺序:elasticsearch —> kibana —> logstash —> filebeat



