内网环境下Rancher(2.4.2)部署ELK(7.6.2)服务

6 篇文章 0 订阅
5 篇文章 0 订阅

目录

第一步:下载镜像

第二步:将镜像导出上传到私有harbor仓库中

第三步:安装ElasticSearch

第四步:安装kibana

第五步:安装logstash

第六步:安装filebeat


将ELK部署到同一台服务器中(所以每次都会指定主机),elasticsearch使用单节点模式。

第一步:下载镜像

logstash、kibana、elasticsearch和filebeat的7.6.2版本的镜像

第二步:将镜像导出上传到私有harbor仓库中

第三步:安装ElasticSearch

在elasticsearch的docker版本文档中,官方提到了vm.max_map_count的值在生产环境最少要设置成262144:

vi /etc/sysctl.conf

在文件的末尾添加:

vm.max_map_count=262144 # 修改或者新增

1.新建/home/elasticsearch/config文件夹,并新建elasticsearch.yml文件,文件内容为:

http.host: 0.0.0.0

保存退出

2.新建/home/elasticsearch/data文件夹,用于存储日志文件;

3.在Rancher2.4.2配置:

在集群中新建项目为ELK,命名空间为elk,然后在新的命名空间中部署服务elasticsearch:

填写镜像地址和添加端口映射:

添加环境变量(DISCOVERY_TYPE=single-node)和指定相应的服务器

数据卷1(/home/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml)

数据卷2(/home/elasticsearch/data:/usr/share/elasticsearch/data)

点击启动,容器启动成功;

第四步:安装kibana

打开rancher在elk命名空间中添加kibana服务:

添加环境变量(ELASTICSEARCH_HOSTS)

指定主机是为了方便我们访问kibana的5601端口,使用IP地址是因为,如果使用服务明进行访问,有时候可能会出现DNS解析异常,点击启动。

第五步:安装logstash

在服务器中新建/home/elk/config文件夹,用于存放logstash.conf和filebeat.yml。

在文件夹中新建logstash.conf

vi logstash.conf
i

文件内容为:

input {
  #开启filebeats的监听
  beats {
    #端口号
    port => "5043"
    #将日志以json格式输入
    codec => "json"
    #允许其他服务器推送日志
    host => "0.0.0.0"
    
  }
  #开启tcp模式的监听
  tcp {
     #端口号
     port => "5044"
     #将日志以json格式输入
     codec => "json_lines"
     #允许其他服务器推送日志
     host => "0.0.0.0"
    }
}
#数据过滤,包含特定字符时丢弃该行
filter {
    if [message] =~ "Resolving eureka endpoints via configuration" {
      drop { }
    }

}

output {
  stdout { codec => rubydebug }
  elasticsearch {
        hosts => [ "xxx.yyy.zzz.nnn:9200" ]
        index => "%{[fields][doc_type]}-%{+YYYY.MM.dd}"
    }
}

Rancher安装logstash

5044用于接收tcp的日志,比如springboot集成logstash的接口,而5043用于filebeat的接口;

添加数据卷(/home/elk/config/logstash.conf:/usr/share/logstash/pipeline/logstash.conf)

 

点击启动,启动成功;

第六步:安装filebeat

在/home/elk/config文件夹中新建filebeat.yml

内容为

filebeat.inputs:
- paths:
    - /home/csdn/apache-tomcat-8.5.51/logs/*.log
  multiline:
      pattern: ^\d{4}
      negate: true
      match: after
  fields:
    doc_type: order
- paths:
    - /home/csdn/nginx/logs/error.log
  multiline:
      pattern: ^\d{4}
      negate: true
      match: after
  fields:
    doc_type: customer
output.logstash: # 输出地址
  hosts: ["192.168.1.104:5043"]

打开Rancher,在els命名空间中添加filebeat

 

添加配置文件卷(/home/elk/config/filebeat.yml:/usr/share/filebeat/filebeat.yml)

添加数据卷(/home/:/home/),有我们计划将tomcat和nginx的日志进行采集,而两个都在home文件夹中,故将文件夹映射到filebeat中。

我比较喜欢先删除再重新部署方式,不喜勿喷。

点击启动,启动后将可以在kibana中查看到springboot的日志和filebeat的解析日志。

完成。

 

 

 

 

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用Rancher部署服务,首先需要满足以下前置需求: 1.需要一个Linux虚拟机或系统。 2.创建镜像,可以参考中的文章进行操作。 下面是使用Rancher部署服务的步骤: 1.拉取Rancher镜像:使用以下命令拉取Rancher服务器的镜像: docker pull rancher/server 2.启动Rancher容器:使用以下命令启动Rancher容器,并将主机的8080端口映射到Rancher容器的8080端口: docker run -di --name=rancher -p 8080:8080 rancher/server 3.访问Rancher:通过浏览器访问Rancher的管理界面,即可开始部署和管理微服务。 需要注意的是,在微服务部署时,普通微服务不需要进行端口映射。这是因为注册中心的端口是固定的,微服务部署好后会将自己的IP和随机端口注册到注册中心,网关从注册中心获取微服务应用的端口,网关的端口也是固定的。因此,可以通过网关转发到随机端口的微服务来扩容和缩容,但不能直接访问微服务应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Rancher+Docker+SpringBoot实现微服务部署、扩容、环境监控](https://blog.csdn.net/weixin_43721000/article/details/124194691)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值