全部产品

运维监控

更新时间:2020-08-21 17:57:00

应用部署上线后,如何监控线上运行状态,如果出现问题,如何定位?

部署在函数计算Serverless架构类型的应用

  • 在代码中记录日志是排查线上问题的最好办法

    • NodeJS写日志

      1. console.info('写日志');
    • Python写日志

      1. import logging
      2. logger = logging.getLogger()
      3. logger.info('写日志')
    • PHP写日志

      1. $logger = $GLOBALS['fcLogger'];
      2. $logger->info("写日志");
    • Java写日志

      1. package example;
      2. import com.aliyun.fc.runtime.Context;
      3. import com.aliyun.fc.runtime.StreamRequestHandler;
      4. import java.io.IOException;
      5. import java.io.InputStream;
      6. import java.io.OutputStream;
      7. public class HelloFC implements StreamRequestHandler {
      8. @Override
      9. public void handleRequest(
      10. InputStream inputStream, OutputStream outputStream, Context context) throws IOException {
      11. context.getLogger().info("写日志");
      12. outputStream.write(new String("日志信息").getBytes());
      13. }
      14. }
  • 示例,在一个 PHP 的 API 代码中写下一行日志,用于查看 $userlist 数据状态是否符合预期log

  • 该应用部署上线执行后,从云开发平台应用列表,找到该应用卡片,点击「运维监控」,进入运维监控页面运维监控入口

  • 选择要查看的「环境」和「路由」,然后点击「日志查询」,可以看到具体的访问日志环境选择

  • 我们找到之前代码里写的日志,看看具体打印出来的信息,可以通过这些日志,很快定位具体的线上问题继而进行BUG FIX日志

查看运行状态

  • 点击「函数指标」,打开函数运行监控数据面板,可以通过此面板快速了解应用线上运行状态监控面板

弹性设置

  • 点击「弹性设置」,打开「定时设置预留资源」页面,在这里,我们可以根据业务的峰值周期情况,做额外的弹性优化,以提高自动弹性冷启动期间的服务定时优化