阿里云日志服务及授权策略

发布日期: 2020-05-30 20:12:50 作者: Stephen 评论: 0

日志服务Log Service ,简称 SLS )是针对日志类数据的一站式服务,在阿里巴巴集团经历大量大数据场景锤炼而成。您无需开发就能快捷完成日志数据采集、消费、投递以及查询分析等功能,提升运维、运营效率,建立 DT 时代海量日志处理能力。日志是一个庞大的数据体,我们可以将自己的请求日志、系统日志等放入阿里云日志服务中,阿里云日志服务每月提供了500M的空间。

我这里使用 PHP SDK 接入阿里云的日志服。

创建 Project

开启阿里云日志服务,首先在控制台中创建 ProjectLogstore

创建完成后,会提示你选择需要的服务,因为我使用的是 PHP SDK 接入,我这里选择的是 PHP ,当然,你也可以选择 JAVAPythonMysqlRedisNginxK8S 等等

下载SDK

阿里云提供了各个语言的SDK:

接入SDK

1、将SDK包放到自己项目目录中,我放到 libs 下

2、自动加载,在composer.json中添加自动加载

"autoload": {
    "classmap": [
        "libs/aliyun-log"
    ]
},
composer dump-autoload

3、日志采集

function putLog(array $content) {
        $accessKeyId = 'accessKeyId';
        $accessKeySecret = 'accessKeySecret';
        $endpoint = 'cn-hangzhou.log.aliyuncs.com';
        $project = 'test';
        $logstore = 'logs';
        $client = new \Aliyun_Log_Client($endpoint, $accessKeyId, $accessKeySecret, '');

        $topic = 'request';
        $logItem = new \Aliyun_Log_Models_LogItem();
        $logItem->setTime(time());
        $logItem->setContents($content);
        $logItems = [$logItem];
        $request = new \Aliyun_Log_Models_PutLogsRequest($project, $logstore, $topic, null, $logItems);

        try {
            dd($client->putLogs($request));
        } catch (\Aliyun_Log_Exception $e) {
            dd($e->getMessage(),$e->getCode());
            Log::debug($e->getErrorMessage());
        } catch (\Exception $e) {
            dd($e->getMessage(),2);
            Log::debug($e->getMessage());
        }
}

$content = [
        'device':  'Mac OS',
        'ip' => '172.17.0.1',
        'method' => 'GET',
        'params' => [],
        'uri' => '/',
        'visited_at' => date('Y-m-d H:i:s')
];
putLog($content);

4、查看效果,发现报错了

这是因为没有给RAM授权的原因,阿里云的授权搞得有点复杂,这一块我是一脸懵逼,我就简单说下日志服务的授权步骤

RAM授权

1、在日志服务控制台左侧菜单选择权限助手:

2、生成授权策略,点击“复制到剪贴板”

3、创建权限策略

在RAM访问控制台中,选择“权限策略管理” —> “创建权限策略”,自定义输入策略名称,选择“脚本配置”,并将刚复制的授权策略json粘贴到文本域中

4、创建RAM角色

“RAM角色管理” —> “创建RAM角色”

5、给RAM角色授权

左侧菜单选择“授权” —> “新增授权”

被授权主体选项框中选择刚创建的RAM角色,然后选择自定义策略,搜索刚创建的策略,然后保存

最后

日志写入成功

快来抢沙发