目的
做日志存储和分析,主要用于监控用户使用是否有异常
流程
- 日志采集
- 日志清洗
- 异常指标计算
- 可视化
可选方案
| ELK | Spark Streaming方式 | |
|---|---|---|
| 开发成本 | 低 | 高 |
| 实时性 | 差 | 好 |
| 部署维护成本 | 低 | 高 |
计算平台越发稳定成熟,计算能力不再成为主要瓶颈。 多样化的数据、复杂的业务分析需求、系统稳定性、数据可靠性, 这些软性要求, 逐渐成为日志分析系统面对的主要问题
什么是ELK
Elasticsearch:存储、建索引、搜索
Logstash:收集
Kibana:可视化
部署(centos7)
Elasticsearch
Logstash&Kibana
使用docker-compose安装
docker-compose.yml
本地elasticsearchhost:127.0.0.1
version: '2.0'
services:
kibana:
image: docker.elastic.co/kibana/kibana:6.0.1
container_name: kibana
environment:
XPACK_SECURITY_ENABLED: 'False'
ELASTICSEARCH_URL: 'http://elasticsearchhost:9200'
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- esdata1:/usr/share/kibana/data
ports:
- 5601:5601
networks:
- esnet
logstash:
image: docker.elastic.co/logstash/logstash:6.0.1
container_name: logstash
environment:
XPACK_MONITORING_ENABLED: 'False'
ports:
- 5044:5044
volumes:
- /usr/share/logstash/pipeline:/usr/share/logstash/pipeline
command: logstash -f /usr/share/logstash/pipeline/logstash.conf
volumes:
esdata1:
driver: local
networks:
esnet:
相关配置
本机 /usr/share/logstash/pipeline/logstash.conf
input {
beats {
port => "5044"
ssl => false
}
}
output {
elasticsearch {
hosts => "elasticsearchhost:9200"
manage_template => false
index => "logstash-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}
filebeat配置
- type: log
enabled: true
paths:
- /Users/sunxing/Downloads/主要配置.txt
output.logstash:
hosts: ["logstashhost:5044"]
docker
docker pull docker.elastic.co/kibana/kibana:6.0.1
docker run -d -p 5601:5601 docker.elastic.co/kibana/kibana:6.0.1
Kibana server is not ready yet
浏览器访问http://kibanahost:5601
注意:kibana的版本号需小于等于elasticsearch的版本号
error log:/var/log/messages
启动elasticsearch: docker run -p 9200:9200 -p 9300:9300 -d -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.0.1
```docker
// 进入container配置
docker exec -it <mycontainer> bash
遇到的问题:
- 使用docker-compose提示版本低》改小docker-compose.yml中的version值
tips
- 查看【docker-compose up】后输出中的warn和error信息

被折叠的 条评论
为什么被折叠?



