EFK基础环境搭建方法

发布时间:2021-07-20 11:58:42 作者:chen
来源:亿速云 阅读:336

本篇内容主要讲解“EFK基础环境搭建方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“EFK基础环境搭建方法”吧!

在分布式系统中,由于节点服务会部署多台,一旦出现线上问题需要通过日志分析定位问题就需要登录服务器一台一台进行日志检索,非常不便利,这时候就需要用到EFK日志收集工具。

在应用服务端部署Filebeat,将我们打印到日志文件中的日志发送到Logstash中,在经过Logstash的解析格式化后将日志发送到ElasticSearch中,最后通过Kibana展现出来。EFK基础版的架构如下:EFK基础环境搭建方法

本文主要是使用docker和docker-Compose部署ELK的基础环境,选择7.5.1作为EFK组件版本。


实在不想使用docker部署的话也可以下载对应的安装包然后手动部署,配置方式基本一样。

安装配置

elasticsearch

安装elasticsearch之前先配置如下的系统变量

*    		soft    memlock          unlimited
*       	hard    memlock          unlimited
*       	hard    nofile           65536
*       	soft    nofile           65536
*          soft    nproc     4096
root       soft    nproc     unlimited
cluster.name: "elk-cluster"network.host: 0.0.0.0bootstrap.memory_lock: truediscovery.type: single-node
mkdir -p /app/elk/elasticsearch/logs
mkdir -p /app/elk/elasticsearch/data
chmod -R 777 /app/elk/elasticsearch/logs
chmod -R 777 /app/elk/elasticsearch/data

logstash

mkdir -p /app/elk/logstash/data
chmod -R 777 /app/elk/logstash/data
cd /app/elk/logstash/config
cp logstash-sample.conf logstash.conf

修改logstash.conf,配置output

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

input {
  beats {
    port => 5044
  }
}

output {
  elasticsearch {
    hosts => ["http://172.31.0.207:9200"]
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
}

暂时修改一下ES的访问路径即可。

kibana

server.name: kibanaserver.host: "0"elasticsearch.hosts: [ "http://172.31.0.207:9200" ]xpack.monitoring.ui.container.elasticsearch.enabled: truei18n.locale: zh-CN

设置 i18n.locale: zh-CN属性后会对kibana进行汉化,这样便于操作,主要还是我英语不太好~

docker-compose

经过上面的准备,我们可以编写 docker-compose文件,方便我们对容器进行编排,一键启动。有了之前的基础,我们很容易编写出对应的yml文件,编写后的内容如下:

version: "3"services:  elasticsearch:    image: docker.io/elasticsearch:7.5.1    container_name: elasticsearch    environment:      - "ES_JAVA_OPTS=-Xms4096m -Xmx4096m -Xmn1300m"    volumes:      - /app/elk/elasticsearch/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml      - /app/elk/elasticsearch/data:/usr/share/elasticsearch/data:rw      - /app/elk/elasticsearch/logs:/usr/share/elasticsearch/logs:rw    ports:      - "9200:9200"      - "9300:9300"    restart: always  kibana:    image: docker.io/kibana:7.5.1    container_name: kibana    volumes:      - /app/elk/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml    ports:      - "5601:5601"    depends_on:      - elasticsearch    restart: always  logstash:    image: logstash:7.5.1    container_name: logstash    command: logstash -f /usr/share/logstash/config/logstash.conf    volumes:      - /app/elk/logstash/config:/usr/share/logstash/config      - /app/elk/logstash/data:/usr/share/logstash/data    ports:      - "9600:9600"      - "5044:5044"    depends_on:      - elasticsearch    restart: always

将docker-compose文件上传至服务器,启动docker服务
docker-compose -f elk.yml up -dEFK基础环境搭建方法

启动完成后访问kibana地址 http://172.31.0.207:5601/验证是否正常访问

安全认证

我们刚刚部署的elk环境是不需要密码就可以登录kibana的,这样谁都可以访问而且可以更改数据。所以我们需要给kibana加个密码,必须要登录才可以进行操作。

主要是利用elasticsearch自带的xpack作为权限验证功能。操作步骤如下:

xpack.security.enabled: true
docker exec -it  elasticsearch /bin/bashcd /usr/share/elasticsearch/bin
./elasticsearch-setup-passwords interactive

EFK基础环境搭建方法

elasticsearch.username: "elastic"elasticsearch.password: "xxxxxx"

到此,相信大家对“EFK基础环境搭建方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. EFK教程 - ElasticSearch角色分离
  2. docker efk搭建

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

efk

上一篇:Vue中如何实现自定义指令上报Google Analytics事件统计功能

下一篇:怎么修改gazebo物理参数

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》