详情页标题前

阿里云日志服务SLSNode.js SDK快速入门-云淘科技

详情页1

本文介绍如何快速使用日志服务Node.js SDK完成常见操作,包括创建项目(Project)、创建日志库(Logstore)、写入日志和查询日志等。

前提条件

  • 已创建RAM用户并完成授权。具体操作,请参见创建RAM用户并完成授权。

  • 已配置环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET。具体操作,请参见配置环境变量。

    重要

    • 阿里云账号的AccessKey拥有所有API的访问权限,建议您使用RAM用户的AccessKey进行API访问或日常运维。

    • 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。

  • 已完成Node.js SDK安装。更多信息,请参见安装Node.js SDK。

示例

  • 直接编写Node.js代码采集日志

    本示例中,创建一个SLSQuickStart.js文件,并调用接口分别完成创建Project、创建Logstore、创建索引、写入日志数据和查询日志数据。以下为示例代码:

    const ALY = require('aliyun-sdk')
    var sls = new ALY.SLS({
        // 本示例从环境变量中获取AccessKey ID和AccessKey Secret。
        "accessKeyId": process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,                  
        "secretAccessKey": process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,         
        //日志服务的域名。此处以杭州为例,其它地域请根据实际情况填写。 
        endpoint: 'http://cn-hangzhou.log.aliyuncs.com', 
        //SDK版本号,固定值。
        apiVersion: '2015-06-01'                         
      })
    // 必选,Project名称。
    const projectName = "you_project_name"
    // 必选,Logstore名称。
    const logstoreName= "your_logstore_name"             
    
    // 创建Project。
    function createProject () {
      const param = {
        projectDetail: {
          projectName,                                  
          description: "description about project"      
        }
      }
    
      sls.createProject(param, function(err, data) {
        if (err) {
          console.error('error:', err)
        } else {
          console.log('创建project', data)
        }
      })
    }
    
    // 创建Logstore。
    function createLogStore() {
      const param = {
        projectName,                                
        logstoreDetail: {
          logstoreName: logstoreName,               
          // 必选,设置数据保存时长,单位为天。如果ttl配置为3650,表示永久保存。
          ttl: 3,                                   
          // 必选,设置Shard数量。
          shardCount: 2                             
        }
      }
    
      sls.createLogstore(param, function (err, data) {
        if (err) {
          console.log(err)
        } else {
          console.log('创建LogStore', data)
        }
      })
    }
    // 创建LogStore索引。
    function createIndex () {
      const param = {
        projectName,
        logstoreName,
        indexDetail: {
          line: {
            token: [";"],
            include_keys: ["key2", "key3"],
            caseSensitive:false
          }
        }
      }
    
      sls.createIndex(param, function(err, data) {
        if (err) {
          console.log(err)
        } else {
          console.log('为logStore创建索引成功', data)
        }
      })
    }
    // 写入日志。
    function writeLog () {
      const param = {
        projectName,                                  
        logStoreName: logstoreName,                   
        logGroup: { 
        // 必选,写入的日志数据。
          logs: [
            {
              time:  Math.floor(new Date().getTime() / 1000),
              contents: [
                { key: 'a', value: '1' },
                { key: 'a', value: '2' },
                { key: 'a', value: '3' }
              ]
            }
          ],
          topic: 'vv',
          source: '127.0.0.1'
        }
      }
    
      sls.putLogs(param, function (err, data) {
        if (err) {
          console.error('error:', err)
        } else {
          console.log('写入日志成功', data)
        }
      })
    }
    
    // 查询日志。
    function queryLog () {
      // 查询最近一个小时的日志
      const to = Math.floor(new Date().getTime() / 1000)
      const from = to - 3600
    
      const param = {
        // 必选,Project名称。
        projectName,     
        // 必选,Logstore名称。
        logStoreName: logstoreName,  
        // 必选,开始时间,精度为秒。
        from,   
        // 必选,结束时间,精度为秒。
        to,  
        // 可选,指定日志主题。
        topic: "",  
        // 可选,查询的关键词,不输入则查询全部日志数据。
        query: ""                                    
      }
    
      sls.getLogs(param, function (err, data) {
        if(err) {
          console.error('error:', err)
        } else{
          console.log('查询近一个小时的日志', data)
        }
      })
    }
    // 运行function。
    createProject()
    
    setTimeout(() => {
      createLogStore()
    }, 10 * 1000)
    
    setTimeout(() => {
      createIndex()
    }, 20 * 1000)
      
    setTimeout(() => {
      writeLog()
    }, 80 * 1000)
      
    setTimeout(() => {
      queryLog()
    }, 90 * 1000)

    返回结果示例如下:

    创建project {request_id: '6125F2E882518E4618E7C316', headers: {…}, body: {…}}
    创建LogStore {request_id: '6125F2F295D4E2210BE5BD59', headers: {…}, body: {…}}
    为logStore创建索引成功 {request_id: '6125F2FCE681A8360B6B3365', headers: {…}, body: {…}}
    写入日志成功 {request_id: '6125F3380EBCCCA1834DBD83', headers: {…}, body: {…}}
    查询近一个小时的日志 {request_id: '6125F34214C3A33B68052D5C', headers: {…}, body: {…}}

    更多示例代码,请参见Aliyun Log Node.js SDK。

  • 通过Logtail采集Node.js日志

    通过Logtail方式,以采集Node.js的log4js日志为例,采集Node.js日志。更多信息,请参见采集Node.js日志。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/163290.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云负载均衡Misc相关函数-云淘科技

    本文为您介绍Misc相关函数的语法、说明、参数、返回值和示例。 base64_enc | base64_dec | url_escape | url_unescape | randomseed | rand | rand_hit | crc | tonumber | base64_enc_safe | base64_dec_safe base64_enc 项…

    阿里云负载均衡 2023年12月10日
  • 阿里云日志服务SLSAPI简介-云淘科技

    阿里云日志服务(Log Service,简称SLS)提供数据的采集、加工、查询与分析、可视化、告警、消费与投递等功能。如果您熟悉网络服务协议和一种以上编程语言,您可以通过API接口管理您的数据资源。 使用限制 您能创建的Project、Logstore、ConsumerGroup和Shard等资源均有数量限制。更多信息,请参见使用限制。 使用说明 日志服务A…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS数据转换-云淘科技

    在使用统计图表进行格式化展示前,您可以通过数据转换对查询分析结果进行处理。例如合并多个查询分析结果、对查询分析结果进行分类等。 注意 仅统计图表(Pro版本)支持设置数据转换。日志服务支持的统计图表(Pro版本),请参见图表类型。 每个数据转换存在唯一的ID,采用字母T+大写字母的格式,例如TA、TB。 在设置数据转换前,必须已执行查询分析操作。更多信息,请…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS管理OSS投递任务(新版)-云淘科技

    您可以在数据投递概览页面管理OSS投递任务,包括查看OSS投递任务的基础信息、统计报表,修改配置并重启任务、删除OSS投递任务等操作。 前提条件 已创建OSS投递任务。具体操作,请参见创建OSS投递任务(新版)。 已开启任务运行日志。具体操作,请参见开启任务运行日志。 操作入口 登录日志服务控制台。 在Project列表区域,单击目标Project。 在左侧…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS最佳实践-云淘科技

    本文罗列了日志服务相关的最佳实践。 数据采集 IoT/嵌入式日志 通过WebTracking采集日志 搭建移动端日志直传服务 采集公网数据 多渠道数据 通过Logtail采集Zabbix数据 通过Logtail跨阿里云账号采集日志 通过Logtail跨阿里云账号采集容器日志 投递CDN实时日志到SLS来分析用户访问数据 时序存储 使用Prometheus采集…

    阿里云日志服务SLS 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。