精华内容
下载资源
问答
  • 阿里云日志服务 react native SDK
  • 一篇文章玩转阿里云日志服务查询分析控制台 阿里云日志服务使用教程
    展开全文
  • 阿里云日志报警

    千次阅读 2018-03-13 16:47:53
    这里简单介绍下基于阿里云日志服务的报警设置1:首先通过loghub输出到阿里云日志服务2:基于日志服务这里简单介绍两种报警 2.1:基于阿里云本身提供的报警设置 2.1.1:进入需要查询的标签页面,在输入框输入查询语句。...

    这里简单介绍下基于阿里云日志服务的报警设置

    1:首先通过loghub输出到阿里云日志服务

    2:基于日志服务这里简单介绍两种报警

        2.1:基于阿里云本身提供的报警设置

            2.1.1:进入需要查询的标签页面,在输入框输入查询语句。例如:

                *|select inst_id,request_uri,requestId,duration where duration > 8000

                这样就查询出来符合条件的日志啦,当然查询的条件必须加入到索引里

            2.1.2:右上角 另存为快速查询,起个名字就完事啦

            2.1.3:右上角 另存为报警,快递查询名就选刚才2.1.2的名字,报警动作这里 自己选择,我一般都是通过钉钉,写入钉钉机器人的地址即可

        2.2:基于阿里云API

            如果你想尝试通过API去写代码实现以上步骤也完全ok

    def get_log_duration():
        topic = ""
        query = "duration"
        From = int(time.time()) - 60
        To = int(time.time())
    
        endpoint = 'cn-hangzhou.log.aliyuncs.com'       # 选择与上面步骤创建Project所属区域匹配的Endpoint
        accessKeyId = ''    # 使用您的阿里云访问密钥AccessKeyId
        accessKey = ''      # 使用您的阿里云访问密钥AccessKeySecret
        project = ''        # 上面步骤创建的项目名称
        logstore = ''       # 上面步骤创建的日志库名称
        # 构建一个client
        client = LogClient(endpoint, accessKeyId, accessKey)
    
        req4 = GetLogsRequest(project, logstore, From, To, topic, query)
        res4 = client.get_logs(req4)
        # if res4 is not None and res4.is_completed():
        #     print "is_completed"
        if res4 is not None:
            return map(lambda x: x.contents, res4.get_logs())
    def get_max_duration():
        info = get_log_duration()
        date = {
            "duration": 4000,
            "requestUri": "",
            "requestId": "",
            "inst_id":"",
            "timestamp":""
        }
    
        for line in info:
            dura = line.get("duration")
            Uri = line.get("requestUri")
            reqid = line.get("requestId")
            inst_id = line.get("inst_id")
            timestamp = line.get("@timestamp")
    
            if int(dura) > int(date["duration"]):
                date["duration"] = dura
                date["requestUri"] = Uri
                date["requestId"] = reqid
                date["inst_id"] = inst_id
                date["timestamp"] = timestamp
    
        if date["duration"] > 4000:
            return date
    
    
    date = get_max_duration()
    
    下面就是报警代码,在上篇 阿里云统计每日消费  已有钉钉报警,这里就不做介绍啦,当然必须在数据存在的情况下再做报警,否者就退出。


    展开全文
  • cloud-webapp:云日志Web应用程序
  • 使用阿里云日志服务采集查询kubernetes容器日志 概述 在使用阿里云日志服务之前,我们自建了graylog服务,使用了3台服务器。使用阿里云日志服务之后,按量付费,每月不到20元,相比使用前,费用节省比较多,也减少了...

    [TOC]

    使用阿里云日志服务采集查询kubernetes容器日志

    概述

    在使用阿里云日志服务之前,我们自建了graylog服务,使用了3台服务器。
    使用阿里云日志服务之后,按量付费,每月不到20元,相比使用前,费用节省比较多,也减少了自建日志服务的维护成本。
    根据阿里云的监控数据,大概每秒写入500行日志。
    从实际使用效果看,对于各环境日志查询,阿里云日志服务能够很好的满足需求。
    下面主要讲讲配置细节。

    创建日志库

    可参考创建日志库

    创建logtail机器组和logtail配置

    参考logtail采集概述
    在此处我创建了两个log配置,一个是采集/var/log目录下的所有.log;另一个是采集/logs/.log,见下图,具体的配置可参考阿里云官方文档[logtail收集日志](https://help.aliyun.com/document_detail/28967.html?spm=5176.doc28979.2.11.lAWnv0)。
    logtail配置图:
    logconfigs
    logtail机器组:
    loggroup

    创建logtail镜像

    因为我所在的区域是华东2,使用的是VPC网络,安装时会地域使用cn_shanghai_vpc。
    使用的logtail.sh脚本是:http://logtail-release-sh.vpc100-oss-cn-shanghai.aliyuncs.com/linux64/logtail.sh
    package所在地址为:http://logtail-release-sh.vpc100-oss-cn-shanghai.aliyuncs.com/linux64/logtail-linux64.tar.gz
    user_defined_id为你在之前步骤中配置的机器组用户自定义标识
    ${account_id} 需要更换为你的阿里云帐号id
    Dockerfile内容如下

    From registry.cn-shanghai.aliyuncs.com/acs/ilogtail:0.12.1-5dcc770
    COPY logtail.sh /logtail.sh
    COPY logtail-linux64.tar.gz /logtail-linux64.tar.gz
    RUN chmod +x /logtail.sh
    RUN sh /logtail.sh install cn_shanghai_vpc
    COPY docker_run.sh /usr/local/ilogtail/docker_run.sh
    COPY user_defined_id /etc/ilogtail/user_defined_id
    RUN mkdir -p /etc/ilogtail/users
    RUN touch /etc/ilogtail/users/${account_id}
    RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    docker_run.sh内容如下,只是修改了默认区域:

    #!/bin/bash
    
    default_log_region='cn_shanghai_vpc'
    if [ "$log_region" = "" ];then
        log_region=$default_log_region
    fi
    cp /usr/local/ilogtail/conf/$log_region/ilogtail_config.json /usr/local/ilogtail/ilogtail_config.json
    
    service ilogtaild start
    
    exit_handle()
    {
        service ilogtaild stop
        exit 0
    }
    
    trap 'exit_handle' SIGTERM
    
    if [ "$swarm_mode" == "true" ]; then
        exec /usr/local/bin/link_volumes
    else
        while true
        do
            sleep 10
        done
    fi

    根据此dockerfile,生成需要的镜像。

    配置kubernetes pod

    在kubernetes pod manifest中使用容器之间共享volumn的方式来让logtail收集应用的日志,为了能够在日志查询时区分是哪个应用来的日志,日志挂载目录为:/logs/APP_NAME/ENV_TYPE_VALUE
    详细manifest如下:

    kind: Deployment
    apiVersion: extensions/v1beta1
    metadata:
      labels:
        app: APP_NAME
      name: APP_NAME
      namespace: ENV_TYPE_VALUE
    spec:
      replicas: REPLICA_NUM
      selector:
        matchLabels:
          app: APP_NAME
      template:
        metadata:
          labels:
            app: APP_NAME
        spec:
          nodeSelector:
            node-type: slave
          containers:
          - name: APP_NAME
            image: IMAGE_REF
            resources:
              limits:
                cpu: CPU_LIMIT
                memory: MEMORY_LIMIT
            ports:
            - containerPort: APP_PORT
              protocol: TCP
            env:
              - name: TZ
                value: Asia/Shanghai
              - name: ENV_TYPE
                value: ENV_TYPE_VALUE
              - name: POD_NAME
                value: POD_NAME_VALUE
              - name: BUILD_ID
                value: BUILD_ID_VALUE
            livenessProbe:
              httpGet:
                path: HTTP_PATH
                port: APP_PORT
                httpHeaders:
                - name: "Authorization"
                  value: "HTTP_BASIC_AUTH"
            readinessProbe:
              httpGet:
                path: HTTP_PATH
                port: APP_PORT
                httpHeaders:
                - name: "Authorization"
                  value: "HTTP_BASIC_AUTH"
            volumeMounts:
              # name must match the volume name below
              - name: app-log
                mountPath: /logs
                readOnly: false
          - name: logtail
            image: registry-vpc.cn-shanghai.aliyuncs.com/jfdevops/ilogtail:0.12.7
            env:
              - name: TZ
                value: Asia/Shanghai
              - name: ENV_TYPE
                value: ENV_TYPE_VALUE
              - name: POD_NAME
                value: POD_NAME_VALUE
            volumeMounts:
              - name: app-log
                mountPath: /logs/APP_NAME/ENV_TYPE_VALUE
          volumes:
          - name: app-log
            emptyDir:
              medium: ""

    最终显示效果如图:
    logview

    可以使用__tag__:__path__: /logs/APP_NAME/ENV_TYPE_VALUE/*搜索ENV_TYPE_VALUE下的应用APP_NAME的日志。

    logtail性能情况

    在上述模式下,每个pod都会起一个logtail的容器,其是否为影响其它服务的性能呢?
    在目前的量能情况下,一台4C16G的服务器logtail只占20M,0.02个CPU,几乎没有影响,即使再上升10倍也是可以接受的。

    展开全文
  • 使用阿里云日志服务

    千次阅读 2016-11-17 10:50:01
    阿里云日志服务

    最近公司要为新研发的系统使用阿里云日志服务,以便于后期数据的分析与发掘,我很有幸的被选中,对阿里云的日志服务进行了一周的学习与简单的使用。

    using System;
    using System.Collections.Generic;
    using Aliyun.Api.SLS;
    using Aliyun.Api.SLS.Request;
    using Aliyun.Api.SLS.Response;
    using Aliyun.Api.SLS.Data;
    namespace netsdksample45
    {
        class Program
        {
            static void Main(string[] args)
            {
                String endpoint = "<endpoint>"; //选择与上面步骤创建Project所属区域匹配的日志服务Endpoint
                String accessKeyId = "<your_access_key_id>";  //使用你的阿里云访问秘钥AccessKeyId
                String accessKeySecret = "<your_access_key_secret>"; //使用你的阿里云访问秘钥AccessKeySecret
                String project = "<project_name>";      //上面步骤创建的项目名称
                String logstore = "<logstore_name>";    //上面步骤创建的日志库名称
                //构建一个客户端实例
                SLSClient client = new SLSClient(endpoint, accessKeyId, accessKeySecret);
                //列出当前Project下的所有日志库名称
                ListLogstoresResponse res1 = client.ListLogstores(new ListLogstoresRequest(project));
                Console.WriteLine("Totoal logstore number is " + res1.Count);
                foreach (String name in res1.Logstores)
                {
                    Console.WriteLine(name);
                }
                DateTime unixTimestampZeroPoint = new DateTime(1970, 01, 01, 0, 0, 0,DateTimeKind.Utc);
                //写入日志
                List<LogItem> logs = new List<LogItem>();
                for (int i = 0; i < 5; i++)
                {
                    LogItem item = new LogItem();
                    item.Time = (uint)((DateTime.UtcNow - unixTimestampZeroPoint).TotalSeconds);
                    item.PushBack("index", i.ToString());
                    logs.Add(item);
                }
                String topic = String.Empty;    //选择合适的日志主题
                String source = "localhost";    //选择合适的日志来源(如IP地址)
                PutLogsResponse res4 = client.PutLogs(new PutLogsRequest(project, logstore, topic, source, logs));
                Console.WriteLine("Request ID for PutLogs: " + res4.GetRequestId());
                //等待1分钟让日志可查询
                System.Threading.Thread.Sleep(60 * 1000);
                //查询日志分布情况
                DateTime fromStamp = DateTime.UtcNow - new TimeSpan(0, 10, 0);
                DateTime toStamp = DateTime.UtcNow;
                uint from = (uint)((fromStamp - unixTimestampZeroPoint).TotalSeconds);
                uint to = (uint)((toStamp - unixTimestampZeroPoint).TotalSeconds);
                GetHistogramsResponse res2 = null;
                do
                {
                    res2 = client.GetHistograms(new GetHistogramsRequest(project, logstore, from, to));
                } while ((res2 != null) && (!res2.IsCompleted()));
                Console.WriteLine("Total count of logs is " + res2.TotalCount);
                foreach (Histogram ht in res2.Histograms)
                {
                    Console.WriteLine(String.Format("from {0}, to {1}, count {2}.", ht.From, ht.To, ht.Count));
                }
                //查询日志数据
                GetLogsResponse res3 = null;
                do
                {
                    res3 = client.GetLogs(new GetLogsRequest(project, logstore, from, to, String.Empty, String.Empty, 5, 0, true));
                } while ((res3 != null) && (!res3.IsCompleted()));
                Console.WriteLine("Have gotten logs...");
                foreach(QueriedLog log in res3.Logs)
                {
                    Console.WriteLine("----{0}, {1}---", log.Time, log.Source);
                    for(int i = 0; i < log.Contents.Count; i++)
                    {
                        Console.WriteLine("{0} --> {1}", log.Contents[i].Key, log.Contents[i].Value);
                    }
                }
            }
        }
    }

    本文参考来源,https://www.aliyun.com/product/sls/?spm=5176.8142029.388261.74.JVGhs4
    ,相关的SDK下载可以到阿里云官网进行下载与查看使用方法。

    展开全文
  • 目前,容器服务Windows Kubernetes支持将业务容器产生的stdout输出、日志文件同步到阿里云日志服务(SLS)进行统一管理。支撑组件安装在Windows Kubernetes集群安装界面勾选使用日志服务,集群会安装支持日志收集的...
  • 阿里云日志服务基础

    千次阅读 2016-04-29 17:07:54
    阿里云日志服务使用
  • 使用阿里云日志服务来分析日志

    千次阅读 2017-02-09 11:23:21
    在此我就以阿里云日志服务,给我带来的便利给大家做一个分享:一,在使用阿里云的日志服务之前,我分析日志的方法是这样婶儿的,如下图。 通过rsyslog把服务器上的日志汇总到另外一台机器上,...
  • 背景 需要采集一台独立esc上docker容器的标准输出 ...在阿里云日志服务创建机器组,如果上一步配置成功,日志服务会收到logtail的心跳。 在logstore中修改配置 修改左侧logtail的配置文件,并加入新的机器组 ...
  • 阿里云日志存储查询一、基本简介二、查询简介 一、基本简介 阿里云日志的作用?日志服务(Log Service,简称SLS)是针对日志类数据的一站式服务,无需开发就能快捷完成日志数据采集、消费、投递以及查询分析等功能,...
  • <div><p>这个 PR 实现...公有云日志权限列表 <p><strong>是否需要 backport 到之前的 release 分支</strong>: - release/2.13 <p>/area region /cc </p><p>该提问来源于开源项目:yunionio/onecloud</p></div>
  • 恢复公有云日志name <p><strong>是否需要 backport 到之前的 release 分支</strong>: - release/2.13 <p>/area cloudevent /cc </p><p>该提问来源于开源项目:yunionio/onecloud</p></div>
  • 优化公有云日志查询 <p><strong>是否需要 backport 到之前的 release 分支</strong>: - release/2.13 <p>/area cloudevent /cc </p><p>该提问来源于开源项目:yunionio/onecloud</p></div>
  • 我们可以下载阿里云日志,命令如下:可以先阅读:https://aliyun-log-cli.readthedocs.io/en/latest/README_CN.html?spm=5176.2020520112.0.0.5eb634c0Nim7cV#安装 aliyunlog log get_log_all --project="fs2hf" --...
  • Grafana通过阿里云日志服务监控Nginx访问日志显示统计信息 前言 通过之前的文章,我们做到了Grafana的安装部署和初期的设置,没有了解过的同学可以参考下面的文章链接 ...
  • 阿里 日志服务接入

    千次阅读 2019-01-16 14:14:47
    目前项目中都有用到日志记录,一般会存到本地,但是时间长了,去删除也是很麻烦的,阿里云日志服务 是个不错的选择 可分为两种,自动采集和自动上传到云 1.写文件到本地,然后配置,让阿里云自动采集 LogHub 支持...
  • 什么是阿里云日志服务

    千次阅读 2019-04-02 14:51:07
    日志服务(Log Service,简称Log)是针对日志类数据一站式服务,...课程链接:阿里云日志服务使用教程 实时采集与消费(LogHub) 功能: 通过ECS、容器、移动端,开源软件,JS等接入实时日志数据(例如Metric、Ev...
  • 公有云日志添加brand字段 <p><strong>是否需要 backport 到之前的 release 分支</strong>: - release/2.13 <p>/area region /cc </p><p>该提问来源于开源项目:yunionio/onecloud</p></div>
  • 阿里云大学免费课程:阿里云日志服务使用教程 课程介绍: 日志服务(Log Service,简称Log)是针对日志类数据一站式服务,在阿里巴巴集团经历大量大数据场景锤炼而成。用户无需开发就能快捷完成数据采集、消费、...
  • 阿里云日志系统的外部数据源external store的php api示例,比阿里云文档更详细!
  • 容器服务中目前提供了...确认已开通访问控制服务和阿里云日志服务(该步是为了确保容器服务有权限去完成在阿里云日志服务中创建project等操作) 点击确定,日志服务就开通成功了,可以登录到日志服务的控制台(https:/...
  • 目前,容器服务Windows Kubernetes支持将业务容器产生的stdout输出、日志文件同步到阿里云日志服务(SLS)进行统一管理。 支撑组件安装 在Windows Kubernetes集群安装界面勾选使用日志服务,集群会安装支持日志...
  • 由于公司后端业务使用的微服务,大小服务有上百个服务,每个服务使用对应的日志服务的logstore,这么多的数量通过控制台鼠标点击,太繁琐,效率太低,调研了下阿里云日志服务的sdk,实现了此功能,可以通过该脚本更改...
  • 关于阿里云日志服务使用教程详细内容:阿里云日志服务使用教程 产品架构: 日志服务的架构如下图所示: Logtail 帮助您快速收集日志的Agent。其特点如下所示: 基于日志文件、无侵入式的收集日志 只读取文件...
  • 为什么是serilog?# Serilog是 .NET 中最著名的结构化日志类库。...为什么是腾讯云日志服务?# 最普通的日志记录大概是直接把日志写入本地文件进行记录,但是在容器化,上云的时代,把日志记录在云端才是更好的方式
  • 阿里云日志服务SLS初体验

    千次阅读 2018-05-19 16:39:22
    什么是SLS阿里云日志服务(Log Service)快速分析功能提供给用户一键交互式查询体验,意图帮助用户快速分析某一字段在一段时间内的分布情况,减少用户索引关键数据的成本。通过快速采集,用户可以在阿里云平台进行...
  • 之前调研打算使用Spark Streaming来消费阿里云日志服务SLS的日志,具体的架构实现见之前的博客,大概流程就是使用Flume去收集阿里云日志服务SLS的数据,把采集到的数据sink到Kafka,最后Spark Streaming来消费。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,817
精华内容 3,126
热门标签
关键字:

云日志