部署EBK进行日志收集与性能监控
关于EBK
EBK 指的是elastic公司开发的一系列软件的简称,其分别代表:Elasticsearch, Beats与Kibana这三种软件。
其中:
- Elasticsearch 主要是用来存储数据,并根据索引进行检索数据。
- Beats 其实是几个软件的组合(Filebeat, Metricbeat, Packetbeat, Winlogbeat),是用于收集数据并输出到某一个地方。
- Kibana 是用来展示数据的一个UI界面。
如何使用
关于EBK如何使用可以参考下图:
部署
环境:Ubuntu 16.04 64bit
Elasticsearch(5.2)
Elasticsearch安装需要先安装Java# 1. install java sudo add-apt-repository -y ppa:webupd8team/java sudo apt-get update sudo apt-get -y install oracle-java8-installer # 2. install elasticsearch wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list sudo apt-get update && sudo apt-get install elasticsearch
Kibana
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list sudo apt-get update && sudo apt-get install kibana
Beats
注意,这里使用的是5.5.1
版本的beats,如果版本号有变,请自行替换。- Filebeat
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.5.1-amd64.deb sudo dpkg -i filebeat-5.5.1-amd64.deb
- Metricbeat
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-5.5.1-amd64.deb sudo dpkg -i metricbeat-5.5.1-amd64.deb
- Filebeat
配置
Elasticsearch
Elasticsearch的配置文件位置是/etc/elasticsearch/elasticsearch.yml
,修改此文件来进行自定义配置。# 编辑 /etc/elasticsearch/elasticsearch.yml network.host: 192.168.10.3 # 将绑定host修改,以便外界可以访问
Kibana
# 编辑 /etc/kibana/kibana.yml server.host: "192.168.10.2" # 将绑定host修改成本机IP地址或者0.0.0.0,外界才能访问
Filebeat
# 编辑 /etc/filebeat/filebeat.yml #- input_type: log paths: - /var/realpath/*.log tags: ["api", "dev"] fields: service: api env: dev output.elasticsearch: # Array of hosts to connect to. hosts: ["192.168.10.3:9200"] # 更改连接的ES主机端口
测试配置文件:
filebeat -c filebeat.yml -configtest
Metricbeat
# 编辑 /etc/metricbeat/metricbeat.yml output.elasticsearch: # Array of hosts to connect to. hosts: ["192.168.10.3:9200"] # 更改连接的ES主机端口
运行
Elasticsearch
sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service
Kibana
sudo systemctl daemon-reload sudo systemctl enable kibana.service sudo systemctl start kibana.service
数据展示
当数据采集后,需要通过kibana进行展示,kibana主要组件有:Discover, Visualize, Dashboard。 其中,Discover是Visualize和Dashboard的基础。
Discover 组件有一个搜索框,你可以在里面进行搜索过滤数据。在进行搜索时,可以使用Lucene或者Elasticsearch的语法。
其中Lucene语法类似于下面这条:
name: hello AND type: log AND beat.hostname: api-host
当你搜索到你想要的数据之后,可以选择Save Search
来保存此次搜索条件,创建一个搜索分类。
当创建完搜索后,可以去配置 Visualize 和 Dashboard。