CloudFoundry Logging

尉迟鸿熙
2023-12-01
  1. CloudFoundry组件共享一个共通的接口来管理组件的日志,例如:DEA,CloudController,Steno
  2. 在cf-release版本包中,采用同样的结构与配置方式来记录和配置各个组件日志
  3. 所有job(任务)的日志存放于相应的组件虚拟机中的/var/vcap/sys/log目录下
  4. job(任务)的主要日志记录在<job-name>.log中
  5. 任何job(任务)的stdout和stderr分别被写入<job-name>.stdout.log和<job-name>.stderr.log
  6. 对于CloudController,migration database日志被记录在db_migrate.stdout.log和db_migrate.stderr.log
  7. 在cf-release版本包中,有一个服务被叫做syslog_aggregator,这个服务允许你查看所有给定job示例的日志集合,例如,如果你的部署有60DEA节点,相比一个个去查看,你可以ssh登陆到syslog_aggregator节点查看所有DEA节点日志
  8. 大部分CloudFoundry组件都包括一个syslog_aggregator包作为他们的一个依赖在他们的job空间中,例如 Cloud Controller Job
  9. 组件的启动脚本包含一个可执行的启动syslog_aggregator的脚本,当组件启动的时候会启动一个本地的syslog server。这个syslog_aggregator位于/var/vcap/packages/syslog_aggregator/setup_syslog_forwarder.sh
  10. 组件的配置文件中应该配置好这个syslog server指定组件日志以追加形式被发送并记录到本地日志文件中
  11. aggregated日志存在于syslog_aggregator VM虚拟机中的/var/vcap/store/log目录下
  12. 这个目录下存在按年月日划分的子目录例如:/var/vcap/store/log/cloud_controller_ng/2013/03/19
  13. 在根目录/var/vcap/store/log存在当前运行时日志
  14. BOSH 部署 配置
    1.加入一个job,使用syslog_aggregator template
    2.声明一块持久化硬盘大小persistent_disk
    3.确保syslog_aggregator job template 在nats job template之后运行,因为它会用到nats
    4.增加global properties确保其他jobs发出rsyslog events到你的syslog_aggregator job
    
    name: mydeployment
    
    jobs:
    - name: nats
      ...
    
    - name: syslog
      release: cf
      template:
        - syslog_aggregator
      instances: 1
      resource_pool: small
      persistent_disk: 8192
      networks:
      - name: default
        default:
        - dns
        - gateway
    
    ...
    properties:
      syslog_aggregator:
        address: 0.syslog.default.mydeployment.microbosh
        port: 54321

  15. 官方文档地址:http://docs.cloudfoundry.org/running/managing-cf/logging.html
 类似资料:

相关阅读

相关文章

相关问答