使用docker搭建ELK日志搜集系统(一)

导读:本篇主要介绍ELF/EFK中Elasticsearch、Kibana的配置安装 

 

ELK是什么?


 

简单来说ELK 是一个开源的日志统一搜集,存储,管理,分析,展示的平台

 

ELK架构


 

# 主要组件包括:

  • ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部
  1. Elasticsearch 是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能
  2. Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式
  3. Kibana 是一个开源和免费的工具,可以为ElasticSearch提供日志分析友好Web界面
  4. Filebeat 可以理解成时一个轻量级的Logstash,因为相对来说Logstash资源消耗比较大(JVM内存),Filebeat可以把搜集的日志转发到Logstash
  5. fluented 是一个开源免费的日志搜集工具,经常代替Logstash(EFK),支持的插件非常多,对docker支持较好
  6. X-Pack是一个Elastic Stack的扩展,将安全,警报,监视,报告和图形功能包含在一个易于安装的软件包中

参考:

https://www.elastic.co/guide/index.html

https://docs.fluentd.org/v1.0/articles/quickstart

https://www.elastic.co/downloads/x-pack

https://www.elastic.co/products/x-pack/open

 

 

 

ELK/EFK的安装配置


 

系统安装运行需求和建议:

1. 一台独立的linux host centos 7.4,docker 18.06.1-ce+以上版本,docker swarm环境,

2. 自定义Kibana服务器的域名:log.yujianbo.vip ,可以在hosts文件自定义指向对应的服务器

3. 把ELK集群安装在一个独立的docker swarm环境中

4. 安装The Elastic Stack 5.5.1版本

 

安装步骤:

1. 安装docker swarm环境

 简单docker swarm环境搭建步骤:https://www.cnblogs.com/yjb007/p/9551878.html

2.修改docker宿主机的 vm.max_map_count 配置在 /etc/sysctl.conf

vim /etc/sysctl.conf
vm.max_map_count=262144
grep vm.max_map_count /etc/sysctl.conf
sysctl -w vm.max_map_count=262144

 

 

3.安装Elasticsearch+X-Pack扩展包

mkdir -p /soft/es/
cd /soft/es/
#下载x-pack-5.5.1.zip,x-pack-5.5.1.jar文件到当前目录,下载地址:https://pan.baidu.com/s/12x5vxYwJHAvd3AnFc1M4_A

cat > Dockerfile << 'EOF'
FROM elasticsearch:5.5.1

COPY x-pack-5.5.1.zip /tmp/
RUN elasticsearch-plugin install file:///tmp/x-pack-5.5.1.zip 
COPY x-pack-5.5.1.jar /usr/share/elasticsearch/plugins/x-pack/x-pack-5.5.1.jar
RUN chown root:root /usr/share/elasticsearch/plugins/x-pack/x-pack-5.5.1.jar && chmod 644 /usr/share/elasticsearch/plugins/x-pack/x-pack-5.5.1.jar
RUN rm -rf /tmp/*
EOF

docker build --no-cache --pull -t elasticsearch/yujianbo:5.5.1 ./

mkdir -p /srv/volume/elasticsearch/data
docker service create \
    --name pilipa-inside-elasticsearch \
    --network my-network \
    --replicas 1 \
    --publish "mode=host,published=9200,target=9200" \
    --mount type=bind,src=/srv/volume/elasticsearch/data,dst=/usr/share/elasticsearch/data \
    --env "cluster.name=docker-cluster" \
    --env ES_JAVA_OPTS="-Xms512m -Xmx512m" \
elasticsearch/yujianbo:5.5.1

安装完成后可以通过 curl -u elastic:changeme http://127.0.0.1:9200/_cat/health 访问elasticsearch

默认账号密码:elastic/changeme

 

 

4.安装Kibana+X-Pack扩展包

mkdir -p /soft/kibana/
cd /soft/kibana/
#下载x-pack-5.5.1.zip文件到当前目录,下载地址:https://pan.baidu.com/s/12x5vxYwJHAvd3AnFc1M4_A

cat > Dockerfile << 'EOF'
FROM kibana:5.5.1

COPY x-pack-5.5.1.zip /tmp/
RUN kibana-plugin install file:///tmp/x-pack-5.5.1.zip 
RUN rm -rf /tmp/*
EOF

docker build --no-cache --pull -t kibana/yujianbo:5.5.1 ./

mkdir -p /srv/volume/kibana/
cat > /srv/volume/kibana/kibana.yml << 'EOF'
server.host: '0.0.0.0'
elasticsearch.url: 'http://pilipa-inside-elasticsearch:9200'
EOF


docker service create \
--name pilipa-inside-kibana \
--network my-network \
--replicas 1 \
--mount type=bind,src=/srv/volume/kibana/kibana.yml,dst=/etc/kibana/kibana.yml \
--publish "mode=host,published=5601,target=5601" \
kibana/yujianbo:5.5.1

 

 

 

 登陆http://log.yujianbo.vip:5601就可以在kibana页面了,默认账号密码:elastic/changeme

 

5.更新X-PACK licence信息

 

#在Dev Tools中输入下面的信息进行licence更新

PUT _xpack/license
{
    "license": {
        "uid": "568c8040-63fe-4fb7-81e4-f8fe94693ef9",
        "type": "platinum",
        "issue_date_in_millis": 1505174400000,
        "expiry_date_in_millis": 2536796799999,
        "max_nodes": 100,
        "issued_to": "jianbo yu (i-counting)",
        "issuer": "Web Form",
        "signature": "AAAAAwAAAA1H1ROSSTmyGk1iX87BAAABmC9ZN0hjZDBGYnVyRXpCOW5Bb3FjZDAxOWpSbTVoMVZwUzRxVk1PSmkxaktJRVl5MUYvUWh3bHZVUTllbXNPbzBUemtnbWpBbmlWRmRZb25KNFlBR2x0TXc2K2p1Y1VtMG1UQU9TRGZVSGRwaEJGUjE3bXd3LzRqZ05iLzRteWFNekdxRGpIYlFwYkJiNUs0U1hTVlJKNVlXekMrSlVUdFIvV0FNeWdOYnlESDc3MWhlY3hSQmdKSjJ2ZTcvYlBFOHhPQlV3ZHdDQ0tHcG5uOElCaDJ4K1hob29xSG85N0kvTWV3THhlQk9NL01VMFRjNDZpZEVXeUtUMXIyMlIveFpJUkk2WUdveEZaME9XWitGUi9WNTZVQW1FMG1DenhZU0ZmeXlZakVEMjZFT2NvOWxpZGlqVmlHNC8rWVVUYzMwRGVySHpIdURzKzFiRDl4TmM1TUp2VTBOUlJZUlAyV0ZVL2kvVk10L0NsbXNFYVZwT3NSU082dFNNa2prQ0ZsclZ4NTltbU1CVE5lR09Bck93V2J1Y3c9PQAAAQBxmqnrW+hya/tr/l/aHmLpUpwYMJ7NLCpzr2SRMbjNcJqZGQZYwqCn37MNtMQuNrYF3EJ41wDOKEf4MoOEg593iK+Q1Iih8n9eWhcKh0uHqa2hLu4aBE2cIBb7aedj7/JGMthQLbc5M7xgtcUG1O3n4q0plgm/teRuHxW+ray8tj/daNuXgUAIoFDrWfNmPnCjphLGjg9brzf7KauIYy7zCpcGO/QItIgaFgFV8tUuhwI3ns42O5MIjgUEmt1oG8ZGiqoJg6U/J7UN1/zRjzbyZSyzmGh9YI97sEvYgu72O7p6vMOoJoEVvnFgr4nlSUp6cQyovlnxKgxsab9BKzjV",
        "start_date_in_millis": 1505174400000
    }
}

 

 6.在Management中创建只读kibana_read Role

 

 下一章介绍通过ELK/EFK搜集docker上容器的日志

 

 

 

参考资料:

https://www.docker.elastic.co/#

转载于:https://www.cnblogs.com/yjb007/p/9535330.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值