• 关于 数据库审计 agent 的搜索结果

回答

转自:阿飞的博客 一、数据库技术选型的思考维度 我们做选型的时候首先要问: 谁选型?是负责采购的同学、 DBA 还是业务研发? 如果选型的是采购的同学,他们更注重成本,包括存储方式、网络需求等。 如果选型的是 DBA 同学,他们关心的: ① 运维成本 首先是运维成本,包括监控告警是否完善、是否有备份恢复机制、升级和迁移的成本是否高、社区是否稳定、是否方便调优、排障是否简易等; ② 稳定性 其次,DBA会关注稳定性,包括是否支持数据多副本、服务高可用、多写多活等; ③ 性能 第三是性能,包括延迟、QPS 以及是否支持更高级的分级存储功能等; ④ 拓展性 第四是扩展性,如果业务的需求不确定,是否容易横向扩展和纵向扩容; ⑤ 安全 最后是安全,需要符合审计要求,不容易出现 SQL 注入或拖库情况。 ⑥ 其他 除了采购和 DBA之外,后台应用研发的同学同样会关注稳定性、性能、扩展性等问题,同时也非常关注数据库接口是否便于开发,是否便于修改数据库 schema 等问题。 接下来我们来看一下爱奇艺使用的数据库类型: MySQL,互联网业务必备系统; TiDB,爱奇艺的 TiDB 实践会有另外的具体介绍; Redis,KV 数据库,互联网公司标配; Couchbase,这个在爱奇艺用得比较多,但国内互联网公司用得比较少,接下来的部分会详细说明; 其他,比如 MongoDB、图数据库、自研 KV 数据库 HiKV 等; 大数据分析相关系统,比如 Hive、Impala 等等。 可以看到爱奇艺的数据库种类还是很多的,这会造成业务开发的同学可能不太清楚在他的业务场景下应该选用哪种数据库系统。 那么,我们先对这些数据库按照接口(SQL、NoSQL)和面向的业务场景(OLTP、OLAP)这两位维度进行一个简单非严谨的分类。 下图中,左上角是面向 OLTP、支持 SQL 的这样一类系统,例如 MySQL,一般支持事务不同的隔离级别, QPS 要求比较高,延时比较低,主要用于交易信息和关键数据的存储,比如订单、VIP 信息等。 左下角是 NoSQL 数据库,是一类针对特殊场景做优化的系统,schema 一般比较简单,吞吐量较高、延迟较低,一般用作缓存或者 KV 数据库。 整个右侧都是 OLAP 的大数据分析系统,包括 Clickhouse、Impala等,一般支持SQL、不支持事务,扩展性比较好,可以通过加机器增加数据的存储量,响应延迟较长。 还有一类数据库是比较中立的,在数据量比较小的时候性能比较好,在数据量较大或复杂查询的时候性能也不差,一般通过不同的存储引擎和查询引擎来满足不同的业务需求,我们把它叫做 HTAP,TiDB 就是这样一种数据库。 二、iQIYI对数据库的优化与完善 前面我们提到了很多种的数据库,那么接下来就和大家介绍一下在爱奇艺我们是怎么使用这些数据库的。 1、MySQL在爱奇艺的使用 ① MySQL 首先是 MySQL。MySQL 基本使用方式是 master-slave + 半同步,支持每周全备+每日增量备份。我们做了一些基本功能的增强,首先是增强了数据恢复工具 Xtrabackup 的性能。 之前遇到一个情况,我们有一个全量库是 300G 数据,增量库每天 70G 数据,总数据量 700G 左右。我们当时只需要恢复一个表的数据,但该工具不支持单表恢复,且整库恢复需要 5 个小时。 针对这个情况我们具体排查了原因,发现在数据恢复的过程中需要进行多次写盘的 IO 操作并且有很多串行操作,所以我们做了一些优化。例如删减过程中的一些写盘操作,减少落盘并将数据处理并行化,优化后整库恢复耗时减少到 100 分钟,而且可以直接恢复单表数据。 然后是适配 DDL 和 DML 工具到内部系统,gh-ostt 和 oak-online-alter-table 在数据量大的时候会造成 master-slave 延时,所以我们在使用工具的时候也增加了延时上的考虑,实时探测Master-Slave 库之间延时的情况,如果延时较大会暂停工具的使用,恢复到正常水平再继续。 ② MySQL高可用 第二是 MySQL 高可用。Master-slave 加上半同步这种高可用方式不太完善,所以我们参照了 MHA 并进行了改动,采用 master + agent 的方式。Agent 在每一个物理机上部署,可以监控这个物理机上的所有实例的状态,周期性地向 master 发送心跳,Master 会实时监测各个Agent的状态。 如果 MySQL故障,会启动 Binlog 补偿机制,并切换访问域名完成 failover。考虑到数据库跨机房跨地区部署的情况,MHA 的 master 我们也做了高可用设计,众多 master 会通过 raft 组成一个 raft group,类似 TiDB 的 PD 模块。目前 MySQL failover 策略支持三种方式:同机房、同地域跨机房以及跨地域。 ③ MySQL拓展能力 第三是提高MySQL扩展能力,以提供更大容量的数据存储。扩展方式有 SDK,例如开源的 ShardingSphere,在爱奇艺的使用也比较广泛。另外就是 Proxy,开源的就更多了。但是 SDK 和 Proxy 使用的问题是支持的 SQL 语句简单,扩容难度大,依赖较多且运维复杂,所以部分业务已经迁移至 TiDB。 ④ 审计 第四是审计。我们在 MySQL 上做了一个插件获取全量 SQL 操作,后端打到 Kafka,下游再接入包括 Clickhouse 等目标端进行 SQL 统计分析。除此之外还有安全策略,包括主动探索是否有 SQL 注入及是否存在拖库情况等,并触发对应的告警。 MySQL 审计插件最大的问题是如何降低对 MySQL 性能的影响,对此我们进行了一些测试,发现使用 General Log 对性能损耗较大,有 10%~20% 的降低。 于是我们通过接口来获取 MySQL 插件里的监控项,再把监控项放到 buffer 里边,用两级的 RingBuffer 来保证数据的写入不会有锁资源竞争。在这个插件里再启动一个线程,从 RingBuffer 里读取数据并把数据打包写到 FIFO 管道里。 我们在每台 MySQL 的物理机里再启动一个 Agent,从管道里阻塞地读取数据发至 Kafka。优化后我们再次进行压测,在每台机器上有 15 万的更新、删除或插入操作下不会丢失数据,性能损耗一般情况下小于 2%。 目前已经在公司内部的集群上线了一年时间,运行比较稳定,上线和下线对业务没有影响。 ⑤ 分级存储 第五是分级存储。MySQL 里会存一些过程性的数据,即只需要读写最近一段时间存入的数据,过段时间这些数据就不需要了,需要进行定时清理。 分级存储就是在 MySQL 之上又用了其他存储方式,例如 TiDB 或其他 TokuDB,两者之间可以进行数据自动搬迁和自动归档,同时前端通过 SDK + Proxy 来做统一的访问入口。这样一来,业务的开发同学只需要将数据存入 MySQL 里,读取时可能从后端接入的任意数据库读出。这种方式目前只是过渡使用,之后会根据 TiDB 的特性进行逐步迁移。 Redis在爱奇艺的使用 接下来是 Redis。Redis 也是使用 master - slave 这种方式,由于网络的复杂性我们对 Sentinel 的部署进行了一些特殊配置,在多机房的情况下每个机房配置一定数量 Sentinel 来避免脑裂。 备份恢复方面介绍一个我们的特殊场景,虽然 Redis 是一个缓存,但我们发现不少的业务同学会把它当做一个 KVDB 来使用,在某些情况下会造成数据的丢失。 所以我们做了一个 Redis 实时备份功能,启动一个进程伪装成 Redis 的 Slave 实时获取数据,再放到后端的 KV 存储里,例如 ScyllaDB,如果要恢复就可以从 ScyllaDB 里把数据拉出来。 我们在用 Redis 时最大的痛点就是它对网络的延迟或抖动非常敏感。如有抖动造成 Redis Master 超时,会由 Sentinel 重新选出一个新的节点成为 Master,再把该节点上的数据同步到所有 Slave 上,此过程中数据会放在 Master 节点的 Buffer 里,如果写入的 QPS 很高会造成 Buffer 满溢。如果 Buffer 满后 RDB 文件还没有拷贝过去,重建过程就会失败。 基于这种情况,我们对 Redis 告警做了自动化优化,如有大量 master - slave 重建失败,我们会动态调整一些参数,例如把 Buffer 临时调大等, 此外我们还做了 Redis 集群的自动扩缩容功能。 我们在做 Redis 开发时如果是 Java 语言都会用到 Jedis。用 Jedis 访问客户端分片的 Redis 集群,如果某个分片发生了故障或者 failover,Jedis 就会对所有后端的分片重建连接。如果某一分片发生问题,整个 Redis 的访问性能和 QPS 会大幅降低。针对这个情况我们优化了 Jedis,如果某个分片发生故障,就只针对这个分片进行重建。 在业务访问 Redis 时我们会对 Master 绑定一个读写域名,多个从库绑定读域名。但如果我们进行 Master failover,会将读写域名从某旧 Master 解绑,再绑定到新 Master 节点上。 DNS 本身有一个超时时间,所以数据库做完 failover 后业务程序里没有立刻获取到新的 Master 节点的 IP的话,有可能还会连到原来的机器上,造成访问失败。 我们的解决方法是把 DNS 的 TTL 缩短,但对 DNS 服务又会造成很大的压力,所以我们在 SDK 上提供 Redis 的名字服务 RNS,RNS 从 Sentinel 里获取集群的拓扑和拓扑的变化情况,如果集群 failover,Sentinel 会接到通知,客户端就可以通过 RNS 来获取新的 Master 节点的 IP 地址。我们去掉域名,通过 IP 地址来访问整个集群,屏蔽了 DNS 的超时,缩短了故障的恢复时间。 SDK 上还做了一些功能,例如 Load Balance 以及故障检测,比如某个节点延时较高的话会被临时熔断等。 客户端分片的方式会造成 Redis 的扩容非常痛苦,如果客户端已经进行了一定量的分片,之后再增加就会非常艰难。 Redis 在 3.0 版本后会提供 Redis Cluster,因为功能受限在爱奇艺应用的不是很多,例如不支持显示跨 DC 部署和访问,读写只在主库上等。 我们某些业务场景下会使用 Redis 集群,例如数据库访问只发生在本 DC,我们会在 DC 内部进行 Cluster 部署。 但有些业务在使用的过程中还是想做 failover,如果集群故障可以切换到其他集群。根据这种情况我们做了一个 Proxy,读写都通过它来进行。写入数据时 Proxy 会做一个旁路,把新增的数据写在 Kafka 里,后台启用同步程序再把 Kafka 里的数据同步到其他集群,但存在一些限制,比如我们没有做冲突检测,所以集群间数据需要业务的同学做单元化。线上环境的Redis Cluster 集群间场景跨 DC 同步 需要 50 毫秒左右的时间。 2、Couchbase在爱奇艺的使用 Redis 虽然提供 Cluster 这种部署方式,但存在一些问题。所以数据量较大的时候(经验是 160G),就不推荐 Redis 了,而是采用另一种存储方式 Couchbase。 Couchbase 在国内互联网公司用的比较少,一开始我们是把他当做一个 Memcached 来使用的,即纯粹的缓存系统。 但其实它性能还是比较强大的,是一个分布式高性能的 KV 系统,支持多种存储引擎 (bucket)。第一种是 Memcached bucket,使用方式和 Memcached 一样为 KV 存储,不支持数据持久化也没有数据副本,如果节点故障会丢失数据; 第二种是 Couchbase bucket,支持数据持久化,使用 Json 写入,有副本,我们一般会在线上配置两个副本,如果新加节点会对数据进行 rebalance,爱奇艺使用的一般是 Couchbase bucket 这种配置。 Couchbase 数据的分布如下图,数据写入时在客户端上会先进行一次哈希运算,运算完后会定位 Key 在哪一个 vBucket (相当于数据库里的某个分片)。之后客户端会根据 Cluster Map 发送信息至对应的服务端,客户端的 Cluster Map 保存的是 vBucket 和服务器的映射关系,在服务端数据迁移的过程中客户端的 Cluster Map 映射关系会动态更新,因此客户端对于服务端的 failover 操作不需要做特殊处理,但可能在 rebalance 过程中会有短暂的超时,导致的告警对业务影响不大。 Couchbase 在爱奇艺应用比较早,2012 年还没有 Redis Cluster 的时候就开始使用了。集群管理使用 erlang 语言开发,最大功能是进行集群间的复制,提供多种复制方式:单向、双向、星型、环式、链式等。 爱奇艺从最初的 1.8 版本使用到如今的 5.0 版本,正在调研的 6.0,中间也遇到了很多坑,例如 NTP 时间配置出错会导致崩溃,如果每个集群对外 XDCR 并发过高导致不稳定,同步方向变更会导致数据丢失等等,我们通过运维和一些外部工具来进行规避。 Couchbase 的集群是独立集群,集群间的数据同步通过 XDCR,我们一般配置为双向同步。对于业务来说,如果 Cluster 1 写入, Cluster 2 不写入,正常情况下客户端会写 Cluster 1。如果 Cluster 1 有故障,我们提供了一个 Java SDK,可以在配置中心把写入更改到 Cluster 2,把原来到 Cluster 1 的连接逐步断掉再与Cluster 2 新建连接。这种集群 failover 的过程对于客户端来说是相对透明和无感的。 3、爱奇艺自研数据库HiKV的使用 Couchbase 虽然性能非常高,并且数据的存储可以超过内存。但是,如果数据量超过内存 75% 这个阈值,性能就会下降地特别快。在爱奇艺,我们会把数据量控制在可用内存的范围之内,当做内存数据库使用。但是它的成本非常高,所以我们后面又开发了一个新的数据库—— HiKV。 开发 HiKV 的目的是为了把一些对性能要求没那么高的 Couchbase 应用迁移到 HiKV 上。HiKV 基于开源系统 ScyllaDB,主要使用了其分布式数据库的管理功能,增加了单机存储引擎 HiKV。 ScyllaDB 比较吸引人的是它宣称性能高于 Cassandra 十倍,又完全兼容 Cassandra 接口,设计基本一致,可以视为 C++ 版 Cassandra 系统。 ScyllaDB 性能的提升主要是使用了一些新的技术框架,例如 C++ 异步框架 seastar,主要原理是在j每台物理机的核上会 attach 一个应用线程,每个核上有自己独立的内存、网络、IO 资源,核与核之间没有数据共享但可以通信,其最大的好处是内存访问无锁,没有冲突过程。 当一个数据读或写到达 ScyllaDB 的 server 时,会按照哈希算法来判断请求的 Key 是否是该线程需要处理的,如果是则本线程处理,否则会转发到对应线程上去。 除此之外,它还支持多副本、多数据中心、多写多活,功能比较强大。 在爱奇艺,我们基于 SSD 做了一个 KV 存储引擎。Key 放在内存里,Value 放在盘上的文件里,我们在读和写文件时,只需要在内存索引里定位,再进行一次盘的 IO 开销就可以把数据读出来,相比 ScyllaDB 原本基于 LSM Tree 的存储引擎方式对 IO 的开销较少。 索引数据全部放在内存中,如果索引长度较长会限制单机可存储的数据量,于是我们通过开发定长的内存分布器,对于比较长的 Key 做摘要缩短长度至 20 字节,采用红黑树索引,限制每条记录在内存里的索引长度至为 64 字节。内存数据要定期做 checkpoint,客户端要做限流、熔断等。 HiKV 目前在爱奇艺应用范围比较大,截至目前已经替换了 30% 的 Couchbase,有效地降低了存储成本。 4、爱奇艺的数据库运维管理 爱奇艺数据库种类较多,如何高效地运维和管理这些数据库也是经历了不同的阶段。 最初我们通过 DBA 写脚本的方式管理,如果脚本出问题就找 DBA,导致了 DBA 特别忙碌。 第二个阶段我们考虑让大家自己去查问题的答案,于是在内部构建了一个私有云,通过 Web 的方式展示数据库运行状态,让业务的同学可以自己去申请集群,一些简单的操作也可以通过自服务平台实现,解放了 DBA。一些需要人工处理的大型运维操作经常会造成一些人为故障,敲错参数造成数据丢失等。 于是在第三个阶段我们把运维操作 Web 化,通过网页点击可以进行 90% 的操作。 第四个阶段让经验丰富的 DBA 把自身经验变成一些工具,比如有业务同学说 MySQL master-slave 延时了,DBA 会通过一系列操作排查问题。现在我们把这些操作串起来形成一套工具,出问题时业务的同学可以自己通过网页上的一键诊断工具去排查,自助进行处理。 除此之外我们还会定期做预警检查,对业务集群里潜在的问题进行预警报告;开发智能客服,回答问题;通过监控的数据对实例打标签,进行削峰填谷地智能调度,提高资源利用率。 三、不同场景下数据库选型建议 1、实用数据库选型树 最后来说一些具体数据库选型建议。这是 DBA 和业务一起,通过经验得出来的一些结论。 对于关系型数据库的选型来说,可以从数据量和扩展性两个维度考虑,再根据数据库有没有冷备、要不要使用 Toku 存储引擎,要不要使用 Proxy 等等进行抉择。 NoSQL 也是什么情况下使用 master-slave,什么情况下使用客户端分片、集群、Couchbase、HiKV 等,我们内部自服务平台上都有这个选型树信息。 2、一些思考 ① 需求 我们在选型时先思考需求,判断需求是否真实。 你可以从数据量、QPS、延时等方面考虑需求,但这些都是真实需求吗?是否可以通过其他方式把这个需求消耗掉,例如在数据量大的情况下可以先做数据编码或者压缩,数据量可能就降下来了。 不要把所有需求都推到数据库层面,它其实是一个兜底的系统。 ② 选择 第二个思考的点是对于某个数据库系统或是某个技术选型我们应该考虑什么?是因为热门吗?还是因为技术上比较先进?但是不是能真正地解决你的问题?如果你数据量不是很大的话就不需要选择可以存储大数据量的系统。 ③ 放弃 第三是放弃,当你放弃一个系统时真的是因为不好用吗?还是没有用好?放弃一个东西很难,但在放弃时最好有一个充分的理由,包括实测的结果。 ④ 自研 第四是自研,在需要自己开发数据库时可以参考和使用一些成熟的产品,但不要盲目自研。 ⑤ 开源 最后是开源,要有拥抱开源的态度。

茶什i 2019-12-27 14:17:56 0 浏览量 回答数 0

回答

能干的多了去了看下面弹性计算云服务器ECS:可弹性扩展、安全、稳定、易用的计算服务块存储:可弹性扩展、高性能、高可靠的块级随机存储专有网络 VPC:帮您轻松构建逻辑隔离的专有网络负载均衡:对多台云服务器进行流量分发的负载均衡服务弹性伸缩:自动调整弹性计算资源的管理服务资源编排:批量创建、管理、配置云计算资源容器服务:应用全生命周期管理的Docker服务高性能计算HPC:加速深度学习、渲染和科学计算的GPU物理机批量计算:简单易用的大规模并行批处理计算服务E-MapReduce:基于Hadoop/Spark的大数据处理分析服务数据库云数据库RDS:完全兼容MySQL,SQLServer,PostgreSQL云数据库MongoDB版:三节点副本集保证高可用云数据库Redis版:兼容开源Redis协议的Key-Value类型云数据库Memcache版:在线缓存服务,为热点数据的访问提供高速响应PB级云数据库PetaData:支持PB级海量数据存储的分布式关系型数据库云数据库HybridDB:基于Greenplum Database的MPP数据仓库云数据库OceanBase:金融级高可靠、高性能、分布式自研数据库数据传输:比GoldenGate更易用,阿里异地多活基础架构数据管理:比phpMyadmin更强大,比Navicat更易用存储对象存储OSS:海量、安全和高可靠的云存储服务文件存储:无限扩展、多共享、标准文件协议的文件存储服务归档存储:海量数据的长期归档、备份服务块存储:可弹性扩展、高性能、高可靠的块级随机存储表格存储:高并发、低延时、无限容量的Nosql数据存储服务网络CDN:跨运营商、跨地域全网覆盖的网络加速服务专有网络 VPC:帮您轻松构建逻辑隔离的专有网络高速通道:高速稳定的VPC互联和专线接入服务NAT网关:支持NAT转发、共享带宽的VPC网关大数据(数加)MaxCompute:原名ODPS,是一种快速、完全托管的TB/PB级数据仓库解决方案大数据开发套件:提供可视化开发界面、离线任务调度运维、快速数据集成、多人协同工作等功能,拥有强大的Open API为数据应用开发者提供良好的再创作生态DataV数据可视化:专精于业务数据与地理信息融合的大数据可视化,通过图形界面轻松搭建专业的可视化应用, 满足您日常业务监控、调度、会展演示等多场景使用需求关系网络分析:基于关系网络的大数据可视化分析平台,针对数据情报侦察场景赋能,如打击虚假交易,审理保险骗赔,案件还原研判等推荐引擎:推荐服务框架,用于实时预测用户对物品偏好,支持 A/B Test 效果对比公众趋势分析:利用语义分析、情感算法和机器学习,分析公众对品牌形象、热点事件和公共政策的认知趋势企业图谱:提供企业多维度信息查询,方便企业构建基于企业画像及企业关系网络的风险控制、市场监测等企业级服务数据集成:稳定高效、弹性伸缩的数据同步平台,为阿里云各个云产品提供离线(批量)数据进出通道分析型数据库:在毫秒级针对千亿级数据进行即时的多维分析透视和业务探索流计算:流式大数据分析平台,提供给用户在云上进行流式数据实时化分析工具人工智能机器学习:基于阿里云分布式计算引擎的一款机器学习算法平台,用户通过拖拉拽的方式可视化的操作组件来进行试验,平台提供了丰富的组件,包括数据预处理、特征工程、算法组件、预测与评估语音识别与合成:基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互体验人脸识别:提供图像和视频帧中人脸分析的在线服务,包括人脸检测、人脸特征提取、人脸年龄估计和性别识别、人脸关键点定位等独立服务模块印刷文字识别:将图片中的文字识别出来,包括身份证文字识别、门店招牌识别、行驶证识别、驾驶证识别、名片识别等证件类文字识别场景云安全(云盾)服务器安全(安骑士):由轻量级Agent和云端组成,集检测、修复、防御为一体,提供网站后门查杀、通用Web软件0day漏洞修复、安全基线巡检、主机访问控制等功能,保障服务器安全DDoS高防IP:云盾DDoS高防IP是针对互联网服务器(包括非阿里云主机)在遭受大流量的DDoS攻击后导致服务不可用的情况下,推出的付费增值服务,用户可以通过配置高防IP,将攻击流量引流到高防IP,确保源站的稳定可靠Web应用防火墙:网站必备的一款安全防护产品。 通过分析网站的访问请求、过滤异常攻击,保护网站业务可用及资产数据安全加密服务:满足云上数据加密,密钥管理、加解密运算需求的数据安全解决方案CA证书服务:云上签发Symantec、CFCA、GeoTrust SSL数字证书,部署简单,轻松实现全站HTTPS化,防监听、防劫持,呈现给用户可信的网站访问数据风控:凝聚阿里多年业务风控经验,专业、实时对抗垃圾注册、刷库撞库、活动作弊、论坛灌水等严重威胁互联网业务安全的风险绿网:智能识别文本、图片、视频等多媒体的内容违规风险,如涉黄,暴恐,涉政等,省去90%人力成本安全管家:基于阿里云多年安全实践经验为云上用户提供的全方位安全技术和咨询服务,为云上用户建立和持续优化云安全防御体系,保障用户业务安全云盾混合云:在用户自有IDC、专有云、公共云、混合云等多种业务环境为用户建设涵盖网络安全、应用安全、主机安全、安全态势感知的全方位互联网安全攻防体系态势感知:安全大数据分析平台,通过机器学习和结合全网威胁情报,发现传统防御软件无法覆盖的网络威胁,溯源攻击手段、并且提供可行动的解决方案先知:全球顶尖白帽子和安全公司帮你找漏洞,最私密的安全众测平台。全面体检,提早发现业务漏洞及风险,按效果付费移动安全:为移动APP提供安全漏洞、恶意代码、仿冒应用等检测服务,并可对应用进行安全增强,提高反破解和反逆向能力。互联网中间件企业级分布式应用服务EDAS:以应用为中心的中间件PaaS平台、消息队列MQ:Apache RocketMQ商业版企业级异步通信中间件分布式关系型数据库服务DRDS:水平拆分/读写分离的在线分布式数据库服务云服务总线CSB:企业级互联网能力开放平台业务实施监控服务ARMS:端到端一体化实时监控解决方案产品分析E-MapReduce:基于Hadoop/Spark的大数据处理分析服务云数据库HybirdDB:基于Greenplum Database的MPP数据仓库高性能计算HPC:加速深度学习、渲染和科学计算的GPU物理机大数据计算服务MaxCompute:TB/PB级数据仓库解决方案分析型数据库:海量数据实时高并发在线分析开放搜索:结构化数据搜索托管服务管理与监控云监控:指标监控与报警服务访问控制:管理多因素认证、子账号与授权、角色与STS令牌资源编排:批量创建、管理、配置云计算资源操作审计:详细记录控制台和API操作密钥管理服务:安全、易用、低成本的密钥管理服务应用服务日志服务:针对日志收集、存储、查询和分析的服务开放搜索:结构化数据搜索托管服务性能测试:性能云测试平台,帮您轻松完成系统性能评估邮件推送:事务/批量邮件推送,验证码/通知短信服务API网关:高性能、高可用的API托管服务,低成本开放API物联网套件:助您快速搭建稳定可靠的物联网应用消息服务:大规模、高可靠、高并发访问和超强消息堆积能力视频服务视频点播:安全、弹性、高可定制的点播服务媒体转码:为多媒体数据提供的转码计算服务视频直播:低延迟、高并发的音频视频直播服务移动服务移动推送:移动应用通知与消息推送服务短信服务:验证码和短信通知服务,三网合一快速到达HTTPDNS:移动应用域名防劫持和精确调整服务移动安全:为移动应用提供全生命周期安全服务移动数据分析:移动应用数据采集、分析、展示和数据输出服务移动加速:移动应用访问加速云通信短信服务:验证码和短信通知服务,三网合一快速到达语音服务:语音通知和语音验证,支持多方通话流量服务:轻松玩转手机流量,物联卡专供物联终端使用私密专线:号码隔离,保护双方的隐私信息移动推送:移动应用通知与消息推送服务消息服务:大规模、高可靠、高并发访问和超强消息堆积能力邮件推送:事务邮件、通知邮件和批量邮件的快速发送

巴洛克上校 2019-12-02 00:25:55 0 浏览量 回答数 0

回答

本文介绍AliSQL的内核版本更新说明。 MySQL 8.0 20200229 新特性 Performance Agent:更加便捷的性能数据统计方案。通过MySQL插件的方式,实现MySQL实例内部各项性能数据的采集与统计。 在半同步模式下添加网络往返时间,并记录到性能数据。 性能优化 允许在只读实例上进行语句级并发控制(CCL)操作。 备实例支持Outline。 Proxy短连接优化。 优化不同CPU架构下的pause指令执行时间。 添加内存表查看线程池运行情况。 Bug修复 在低于4.9的Linux Kenerls中禁用ppoll,使用poll代替。 修复wrap_sm4_encrypt函数调用错误问题。 修复在滚动审核日志时持有全局变量锁的问题。 修复恢复不一致性检查的问题。 修复io_statistics表出现错误time值的问题。 修复无效压缩算法导致崩溃的问题。 修复用户列与5.6不兼容的问题。 20200110 新特性 Inventory Hint:新增了三个hint, 支持SELECT、UPDATE、INSERT、DELETE 语句,快速提交/回滚事务,提高业务吞吐能力。 性能优化 启动实例时,先初始化Concurrency Control队列结构,再初始化Concurrency Control规则。 异步清除文件时继续取消小文件的链接。 优化Thread Pool性能。 默认情况下禁用恢复不一致性检查。 更改设置变量所需的权限: 设置以下变量所需的权限已更改为普通用户权限: auto_increment_increment auto_increment_offset bulk_insert_buffer_size binlog_rows_query_log_events 设置以下变量所需的权限已更改为超级用户或系统变量管理用户权限: binlog_format binlog_row_image binlog_direct sql_log_off sql_log_bin 20191225 新特性 Recycle Bin:临时将删除的表转移到回收站,还可以设置保留的时间,方便您找回数据。 性能优化 提高短连接处理性能。 使用专用线程为maintain user服务,避免HA失败。 通过Redo刷新Binlog时出现错误会显式释放文件同步锁。 删除不必要的TCP错误日志。 默认情况下启用线程池。 Bug修复 修复慢日志刷新的问题。 修复锁定范围不正确的问题。 修复TDE的Select函数导致的核心转储问题。 20191115 新特性 Statement Queue:针对语句的排队机制,将语句进行分桶排队,尽量把可能具有相同冲突的语句放在一个桶内排队,减少冲突的开销。 20191101 新特性 为TDE添加SM4加密算法。 保护备实例信息:拥有SUPER或REPLICATION_SLAVE_ADMIN权限的用户才能插入/删除/修改表slave_master_info、slave_relay_log_info、slave_worker_info。 提高自动递增键的优先级:如果表中没有主键或非空唯一键,具有自动增量的非空键将是第一候选项。 对系统表和处于初始化状态线程用到的表,不进行Memory引擎到MyISAM引擎的自动转换。 Redo Log刷新到磁盘之前先将Binlog文件刷新到磁盘。 实例被锁定时也会影响临时表。 添加新的基于LSM树的事务存储引擎X-Engine。 性能优化 Thread Pool:互斥优化。 Performance Insight:性能点支持线程池。 参数调整: primary_fast_lookup:会话参数,默认值为true。 thread_pool_enabled:全局参数,默认值为true。 20191015 新特性 TDE:支持透明数据加密TDE(Transparent Data Encryption)功能,可对数据文件执行实时I/O加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密。 Returning:Returning功能支持DML语句返回Resultset,同时提供了工具包(DBMS_TRANS)便于您快捷使用。 强制将引擎从MyISAM/MEMORY转换为InnoDB:如果全局变量force_memory/mysiam_to_innodb为ON,则创建/修改表时会将表引擎从MyISAM/MEMORY转换为InnoDB。 禁止非高权限账号切换主备实例。 性能代理插件:收集性能数据并保存到本地格式化文本文件,采用文件轮循方式,保留最近的秒级性能数据。 Innodb mutex timeout cofigurable:可配置全局变量innodb_fatal_semaphore_wait_threshold,默认值:600。 忽略索引提示错误:可配置全局变量ignore_index_hint_error,默认值:false。 可关闭SSL加密功能。 TCP错误信息:返回TCP方向(读取、读取等待、写入等待)错误及错误代码到end_connection事件,并且输出错误信息到错误日志。 Bug修复 支持本地AIO的Linux系统内,在触发线性预读之前会合并AIO请求。 优化表/索引统计信息。 如果指定了主键,则直接访问主索引。 20190915 Bug修复 修复Cmd_set_current_connection内存泄露问题。 20190816 新特性 Thread Pool:将线程和会话分离,在拥有大量会话的同时,只需要少量线程完成活跃会话的任务即可。 Statement Concurrency Control:通过控制并发数应对突发的数据库请求流量、资源消耗过高的语句访问以及SQL访问模型的变化,保证MySQL实例持续稳定运行。 Statement Outline:利用Optimizer Hint和Index Hint让MySQL稳定执行计划。 Sequence Engine:简化获取序列值的复杂度。 Purge Large File Asynchronously:删除单个表空间时,会将表空间文件重命名为临时文件,等待异步清除进程清理临时文件。 Performance Insight:专注于实例负载监控、关联分析、性能调优的利器,帮助您迅速评估数据库负载,找到性能问题的源头,提升数据库的稳定性。 优化实例锁状态:实例锁定状态下,可以drop或truncate表。 Bug修复 修复文件大小计算错误的问题。 修复偶尔出现的内存空闲后再次使用的问题。 修复主机缓存大小为0时的崩溃问题。 修复隐式主键与CTS语句的冲突问题。 修复慢查询导致的slog出错问题。 20190601 性能优化 缩短日志表MDL范围,减少MDL阻塞的可能性。 重构终止选项的代码。 Bug修复 修复审计日志中没有记录预编译语句的问题。 屏蔽无效表名的错误日志。 MySQL 5.7基础版/高可用版 20200229 新特性 Performance Agent:更加便捷的性能数据统计方案。通过MySQL插件的方式,实现MySQL实例内部各项性能数据的采集与统计。 在半同步模式下添加网络往返时间,并记录到性能数据。 性能优化 优化不同CPU架构下的pause指令执行时间。 Proxy短连接优化。 添加内存表查看线程池运行情况。 Bug修复 修复DDL重做日志不安全的问题。 修复io_statistics表出现错误time值的问题。 修复更改表导致服务器崩溃的问题。 修复MySQL测试用例。 20200110 性能优化 异步清除文件时继续取消小文件的链接。 优化Thread Pool性能。 thread_pool_enabled参数的默认值调整为OFF。 20191225 新特性 内部账户管理与防范:调整用户权限保护数据安全。 性能优化 提高短连接处理性能。 使用专用线程为maintain user服务,避免HA失败。 删除不必要的TCP错误日志。 优化线程池。 Bug修复 修复读写分离时mysqld进程崩溃问题。 修复密钥环引起的核心转储问题。 20191115 Bug修复 修复主备切换后审计日志显示变量的问题。 20191101 新特性 为TDE添加SM4加密算法。 如果指定了主键,则直接访问主索引。 对系统表和处于初始化状态线程用到的表,不进行Memory引擎到MyISAM引擎的自动转换。 性能优化 Thread Pool:互斥优化。 引入审计日志缓冲机制,提高审计日志的性能。 Performance Insight:性能点支持线程池。 默认开启Thread Pool。 Bug修复 在处理维护用户列表时释放锁。 补充更多TCP错误信息。 20191015 新特性 轮换慢日志:为了在收集慢查询日志时保证零数据丢失,轮换日志表会将慢日志表的csv数据文件重命名为唯一名称并创建新文件。您可以使用show variables like '%rotate_log_table%';查看是否开启轮换慢日志。 性能代理插件:收集性能数据并保存到本地格式化文本文件,采用文件轮轮循方式,保留最近的秒级性能数据。 强制将引擎从MEMORY转换为InnoDB:如果全局变量rds_force_memory_to_innodb为ON,则创建/修改表时会将表引擎从MEMORY转换为InnoDB。 TDE机制优化:添加keyring-rds插件与管控系统/密钥管理服务进行交互。 TCP错误信息:返回TCP方向(读取、读取等待、写入等待)错误及错误代码到end_connection事件,并且输出错误信息到错误日志。 Bug修复 修复DDL中的意外错误Error 1290。 20190925 参数修改 将系统变量auto_generate_certs的默认值由true改为false。 增加全局只读变量auto_detact_certs,默认值为false,有效值为[true | false]。 该系统变量在Server端使用OpenSSL编译时可用,用于控制Server端在启动时是否在数据目录下自动查找SSL加密证书和密钥文件,即控制是否开启Server端的证书和密钥的自动查找功能。 20190915 新特性 Thread Pool:将线程和会话分离,在拥有大量会话的同时,只需要少量线程完成活跃会话的任务即可。 20190815 新特性 Purge Large File Asynchronously:删除单个表空间时,会将表空间文件重命名为临时文件,等待异步清除进程清理临时文件。 Performance Insight:专注于实例负载监控、关联分析、性能调优的利器,帮助您迅速评估数据库负载,找到性能问题的源头,提升数据库的稳定性。 优化实例锁状态:实例锁定状态下,可以drop或truncate表。 Bug修复 禁止在set rds_current_connection命令中设置rds_prepare_begin_id。 允许更改已锁定用户的信息。 禁止用关键字actual作为表名。 修复慢日志导致时间字段溢出的问题。 20190510版本 新特性:允许在事务内创建临时表。 20190319版本 新特性:支持在handshake报文内代理设置threadID。 20190131版本 升级到官方5.7.25版本。 关闭内存管理功能jemalloc。 修复内部变量net_lenth_size计算错误问题。 20181226版本 新特性:支持动态修改binlog-row-event-max-size,加速无主键表的复制。 修复Proxy实例内存申请异常的问题。 20181010版本 支持隐式主键。 加快无主键表的主备复制。 支持Native AIO,提升I/O性能。 20180431版本 新特性: 支持高可用版。 支持SQL审计。 增强对处于快照备份状态的实例的保护。 MySQL 5.7三节点企业版 20191128 新特性 支持读写分离。 Bug修复 修复部分场景下Follower Second_Behind_Master计算错误问题。 修复表级并行复制事务重试时死锁问题。 修复XA相关bug。 20191016 新特性 支持MySQL 5.7高可用版(本地SSD盘)升级到三节点企业版。 兼容MySQL官方GTID功能,默认不开启。 合并AliSQL MySQL 5.7基础版/高可用版 20190915版本及之前的自研功能。 Bug修复 修复重置备实例导致binlog被关闭问题。 20190909 新特性 优化大事务在三节点强一致状态下的执行效率。 支持从Leader/Follower进行Binlog转储。 支持创建只读实例。 系统表默认使用InnoDB引擎。 Bug修复 修复Follower日志清理命令失效问题。 修复参数slave_sql_verify_checksum=OFF和binlog_checksum=crc32时Slave线程异常退出问题。 20190709 新特性 支持三节点功能。 禁用semi-sync插件。 支持表级并行复制、Writeset并行复制。 支持pk_access主键查询加速。 支持线程池。 合并AliSQL MySQL 5.7基础版/高可用版 20190510版本及之前的自研功能。 MySQL 5.6 20200229 新特性 支持Proxy读写分离功能。 性能优化 优化线程池功能。 优化不同CPU架构下的pause指令执行时间。 Bug修复 修复XA事务部分提交的问题。 20200110 新特性 Thread Pool:将线程和会话分离,在拥有大量会话的同时,只需要少量线程完成活跃会话的任务即可。 性能优化 异步清除文件时继续取消小文件的链接。 Bug修复 修复页面清理程序的睡眠时间计算不正确问题。 修复SELECT @@global.gtid_executed导致的故障转移失败问题。 修复IF CLIENT KILLED AFTER ROLLBACK TO SAVEPOINT PREVIOUS STMTS COMMITTED问题。 20191212 性能优化 删除不必要的tcp错误日志 20191115 Bug修复 修复慢日志时间戳溢出问题。 20191101 Bug修复 修复刷新日志时切换慢日志的问题,仅在执行刷新慢日志时切换慢日志。 修正部分显示错误。 20191015 新特性 轮换慢日志:为了在收集慢查询日志时保证零数据丢失,轮换日志表会将慢日志表的csv数据文件重命名为唯一名称并创建新文件。您可以使用show variables like '%rotate_log_table%';查看是否开启轮换慢日志。 SM4加密算法:添加新的SM4加密算法,取代旧的SM加密算法。 Purge Large File Asynchronously:删除单个表空间时,会将表空间文件重命名为临时文件,等待异步清除进程清理临时文件。 TCP错误信息:返回TCP方向(读取、读取等待、写入等待)错误及错误代码到end_connection事件,并且输出错误信息到错误日志。 引入审计日志缓冲机制,提高审计日志的性能。。 Bug修复 禁用pstack,避免存在大量连接时可能导致pstack无响应。 修复隐式主键与create table as select语句之间的冲突。 自动清除由二进制日志创建的临时文件。 20190815 优化实例锁状态:实例锁定状态下,可以drop或truncate表。 20190130版本 修复部分可能导致系统不稳定的bug。 20181010版本 添加参数rocksdb_ddl_commit_in_the_middle(MyRocks)。如果这个参数被打开,部分DDL在执行过程中将会执行commit操作。 201806** (5.6.16)版本 新特性:slow log精度提升为微秒。 20180426(5.6.16)版本 新特性:引入隐藏索引,支持将索引设置为不可见,详情请参见参考文档。 修复备库apply线程的bug。 修复备库apply分区表更新时性能下降问题。 修复TokuDB下alter table comment重建整张表问题,详情请参见参考文档。 修复由show slave status/show status可能触发的死锁问题。 20171205(5.6.16)版本 修复OPTIMIZE TABLE和ONLINE ALTER TABLE同时执行时会触发死锁的问题。 修复SEQUENCE与隐含主键冲突的问题。 修复SHOW CREATE SEQUENCE问题。 修复TokuDB引擎的表统计信息错误。 修复并行OPTIMIZE表引入的死锁问题。 修复QUERY_LOG_EVENT中记录的字符集问题。 修复信号处理引起的数据库无法停止问题,详情请参见参考文档。 修复RESET MASTER引入的问题。 修复备库陷入等待的问题。 修复SHOW CREATE TABLE可能触发的进程崩溃问题。 20170927(5.6.16)版本 修复TokuDB表查询时使用错误索引问题。 20170901(5.6.16)版本 新特性: 升级SSL加密版本到TLS 1.2,详情请参见参考文档。 支持Sequence。 修复NOT IN查询在特定场景下返回结果集有误的问题。 20170530 (5.6.16)版本 新特性:支持高权限账号Kill其他账号下的连接。 20170221(5.6.16)版本 新特性:支持读写分离简介。 MySQL 5.5 20181212 修复调用系统函数gettimeofday(2) 返回值不准确的问题。该系统函数返回值为时间,常用来计算等待超时,时间不准确时会导致一些操作永不超时。

游客yl2rjx5yxwcam 2020-03-08 13:18:55 0 浏览量 回答数 0

海外云虚拟主机包年25元/月起

海外独享虚拟主机全面上线,助力构建海外网站,提升公司国际形象;全球有效覆盖,超高性价比;建站入门首选,助力出口,适合跨境贸易企业。

回答

详细解答可以参考官方帮助文档 日志服务(Log Service,简称Log)是针对日志场景的平台化服务。无需开发就可以快速完成日志收集、分发、投递与查询, 适用于日志中转、监控、性能诊断、日志分析、审计等场景。容器服务提供了集成日志服务的能力,可以方便地将应用日志发送到日志服务里。 Note 在集群管理页,只要单击开启日志服务 > 确定,日志服务成功开启之后,通过内置的 RAM 账户,会为每个自动创建的 Logstore 创建日志索引,由于阿里云日志服务已经开始收费,因此启用本功能之后,按照下面的方式进行配置,将会产生计费,收费标准参见计费方式。请务必了解您的日志量,以免产生大量非预期的费用。 开启日志服务 登录 容器服务管理控制台。 在 Swarm 菜单下,单击左侧导航栏中的集群。 选择目标集群并单击管理。 单击页面右上角的开启日志服务。 在弹出的确认对话框中,单击确定。 开通容器服务的日志服务之前,您需要先开通阿里云访问控制(RAM)和阿里云日志服务。如果您还未开通,请单击 去开通开通访问控制(RAM)和阿里云日志服务。 查看 acslogging 服务安装结果 第一次启用日志服务时,容器服务会在您的机器安装日志服务所需的 Agent。您可以在应用列表中找到该应用。安装成功后,您就可以使用日志服务了。 登录 容器服务管理控制台。 单击左侧导航栏中的应用。 选择目标集群并取消勾选隐藏系统应用。 可以看到 acslogging 应用已安装成功。 同时,系统会在阿里云日志服务上创建一个对应的 project,您可以在日志服务管理控制台上进行查看。project 的名字里包含了容器服务集群的 ID。 在编排文件里使用日志服务 大多数的 Docker 应用会直接将日志写到 Stdout,现在您依然可以这样做(对于日志写到文件的场景,可以参考下边的使用文件日志)。在开通日志管理功能后,Stdout 的日志可以自动收集并且发送到阿里云日志服务。 下面的例子创建了一个 WordPress 应用。该应用包含 WordPress 和 MySQL 两个服务,日志会收集到阿里云日志服务。 MySQL image: mysql ports: - 80 labels: aliyun.scale: "1" environment: - MYSQL_ROOT_PASSWORD=password WordPress image: registry.aliyuncs.com/jiangjizhong/wordpress ports: - 80 labels: aliyun.routing.port_80: wordpress-with-log aliyun.log_store_dbstdout: stdout # 采集stdout日志到dbstdout日志库中 aliyun.log_ttl_dbstdout: 30 # 设置dbstdout日志库日志数据保存30天 links: - mysql 在上边的编排文件中 aliyun.log_store_dbstdout: stdout 表示将容器的标准写入 logstore acslog-wordpress-dbstdout里。这个标签的格式为 aliyun.log_store_{name}: {logpath}。其中: name 为阿里云日志服务 logstore 的名字,实际创建的 logstore 的名字为acslog-${app}-${name}。 app 为应用名称。 logpath为容器中日志的路径。 stdout 是一个特殊的 logpath,表示标准输出。 aliyun.log_ttl_<logstore_name> 标签用来设置日志库初始日志保存时间,单位为天,有效值为 1~365 天,不配置则默认初始化为 2 天。 Note 这里设置的是初始配置值,如果后期您需要修改日志保存时间,需要到日志服务控制台进行设置。 用上面的编排文件,您可以在容器服务管理控制台上创建一个名为 wordpress 的应用。在应用启动完成后,可以在阿里云日志管理控制台上找到 logstore acslog-wordpress-dbstdout,其中存储了 wordpress 的日志。 在日志服务管理控制台上查看日志 使用上面的编排文件部署应用之后,您可以在阿里云日志服务控制台查看收集到的日志。登录日志服务管理控制台,找到集群对应的日志服务 project,单击进入。您可以看到编排文件里使用的 logstore acs-wordpress-dbstdout。 在 日志索引列中单击 查询查看日志。 使用文件日志 如果您不希望日志直接写到 stdout 中,而需要将日志直接写到文件中,比如/var/log/app.log,可以进行如下配置。 aliyun.log_store_name: /var/log/app.log 其中name为 logstore 的名字,/var/log/app.log为容器内日志的路径。 如果您需要输出多个日志文件到日志服务,可以进行如下配置将文件放在多个目录下。 aliyun.log_store_s1: /data/logs/access/access.log aliyun.log_store_s2: /data/logs/error/error.log aliyun.log_store_s3: /data/logs/exception/*.log #支持通配符 Note 暂不支持多个logstore对应同一个日志目录。上面的例子中有 3 个 logstore s1、s2 和 s3,对应的日志文件必须在 3 个目录下。 开启 timestamp Docker 在收集日志的时候可以选择是否添加 timestamp。您可以在容器服务中通过aliyun.log.timestamp 标签进行配置。默认会添加 timestamp。 添加 timestamp aliyun.log.timestamp: "true" 去除 timestamp aliyun.log.timestamp: "false"

2019-12-01 22:56:51 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 日志服务(Log Service,简称Log)是针对日志场景的平台化服务。无需开发就可以快速完成日志收集、分发、投递与查询, 适用于日志中转、监控、性能诊断、日志分析、审计等场景。容器服务提供了集成日志服务的能力,可以方便地将应用日志发送到日志服务里。 Note 在集群管理页,只要单击开启日志服务 > 确定,日志服务成功开启之后,通过内置的 RAM 账户,会为每个自动创建的 Logstore 创建日志索引,由于阿里云日志服务已经开始收费,因此启用本功能之后,按照下面的方式进行配置,将会产生计费,收费标准参见计费方式。请务必了解您的日志量,以免产生大量非预期的费用。 开启日志服务 登录 容器服务管理控制台。 在 Swarm 菜单下,单击左侧导航栏中的集群。 选择目标集群并单击管理。 单击页面右上角的开启日志服务。 在弹出的确认对话框中,单击确定。 开通容器服务的日志服务之前,您需要先开通阿里云访问控制(RAM)和阿里云日志服务。如果您还未开通,请单击 去开通开通访问控制(RAM)和阿里云日志服务。 查看 acslogging 服务安装结果 第一次启用日志服务时,容器服务会在您的机器安装日志服务所需的 Agent。您可以在应用列表中找到该应用。安装成功后,您就可以使用日志服务了。 登录 容器服务管理控制台。 单击左侧导航栏中的应用。 选择目标集群并取消勾选隐藏系统应用。 可以看到 acslogging 应用已安装成功。 同时,系统会在阿里云日志服务上创建一个对应的 project,您可以在日志服务管理控制台上进行查看。project 的名字里包含了容器服务集群的 ID。 在编排文件里使用日志服务 大多数的 Docker 应用会直接将日志写到 Stdout,现在您依然可以这样做(对于日志写到文件的场景,可以参考下边的使用文件日志)。在开通日志管理功能后,Stdout 的日志可以自动收集并且发送到阿里云日志服务。 下面的例子创建了一个 WordPress 应用。该应用包含 WordPress 和 MySQL 两个服务,日志会收集到阿里云日志服务。 MySQL image: mysql ports: - 80 labels: aliyun.scale: "1" environment: - MYSQL_ROOT_PASSWORD=password WordPress image: registry.aliyuncs.com/jiangjizhong/wordpress ports: - 80 labels: aliyun.routing.port_80: wordpress-with-log aliyun.log_store_dbstdout: stdout # 采集stdout日志到dbstdout日志库中 aliyun.log_ttl_dbstdout: 30 # 设置dbstdout日志库日志数据保存30天 links: - mysql 在上边的编排文件中 aliyun.log_store_dbstdout: stdout 表示将容器的标准写入 logstore acslog-wordpress-dbstdout里。这个标签的格式为 aliyun.log_store_{name}: {logpath}。其中: name 为阿里云日志服务 logstore 的名字,实际创建的 logstore 的名字为acslog-${app}-${name}。 app 为应用名称。 logpath为容器中日志的路径。 stdout 是一个特殊的 logpath,表示标准输出。 aliyun.log_ttl_<logstore_name> 标签用来设置日志库初始日志保存时间,单位为天,有效值为 1~365 天,不配置则默认初始化为 2 天。 Note 这里设置的是初始配置值,如果后期您需要修改日志保存时间,需要到日志服务控制台进行设置。 用上面的编排文件,您可以在容器服务管理控制台上创建一个名为 wordpress 的应用。在应用启动完成后,可以在阿里云日志管理控制台上找到 logstore acslog-wordpress-dbstdout,其中存储了 wordpress 的日志。 在日志服务管理控制台上查看日志 使用上面的编排文件部署应用之后,您可以在阿里云日志服务控制台查看收集到的日志。登录日志服务管理控制台,找到集群对应的日志服务 project,单击进入。您可以看到编排文件里使用的 logstore acs-wordpress-dbstdout。 在 日志索引列中单击 查询查看日志。 使用文件日志 如果您不希望日志直接写到 stdout 中,而需要将日志直接写到文件中,比如/var/log/app.log,可以进行如下配置。 aliyun.log_store_name: /var/log/app.log 其中name为 logstore 的名字,/var/log/app.log为容器内日志的路径。 如果您需要输出多个日志文件到日志服务,可以进行如下配置将文件放在多个目录下。 aliyun.log_store_s1: /data/logs/access/access.log aliyun.log_store_s2: /data/logs/error/error.log aliyun.log_store_s3: /data/logs/exception/*.log #支持通配符 Note 暂不支持多个logstore对应同一个日志目录。上面的例子中有 3 个 logstore s1、s2 和 s3,对应的日志文件必须在 3 个目录下。 开启 timestamp Docker 在收集日志的时候可以选择是否添加 timestamp。您可以在容器服务中通过aliyun.log.timestamp 标签进行配置。默认会添加 timestamp。 添加 timestamp aliyun.log.timestamp: "true" 去除 timestamp aliyun.log.timestamp: "false"

2019-12-01 22:56:51 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 日志服务(Log Service,简称Log)是针对日志场景的平台化服务。无需开发就可以快速完成日志收集、分发、投递与查询, 适用于日志中转、监控、性能诊断、日志分析、审计等场景。容器服务提供了集成日志服务的能力,可以方便地将应用日志发送到日志服务里。 Note 在集群管理页,只要单击开启日志服务 > 确定,日志服务成功开启之后,通过内置的 RAM 账户,会为每个自动创建的 Logstore 创建日志索引,由于阿里云日志服务已经开始收费,因此启用本功能之后,按照下面的方式进行配置,将会产生计费,收费标准参见计费方式。请务必了解您的日志量,以免产生大量非预期的费用。 开启日志服务 登录 容器服务管理控制台。 在 Swarm 菜单下,单击左侧导航栏中的集群。 选择目标集群并单击管理。 单击页面右上角的开启日志服务。 在弹出的确认对话框中,单击确定。 开通容器服务的日志服务之前,您需要先开通阿里云访问控制(RAM)和阿里云日志服务。如果您还未开通,请单击 去开通开通访问控制(RAM)和阿里云日志服务。 查看 acslogging 服务安装结果 第一次启用日志服务时,容器服务会在您的机器安装日志服务所需的 Agent。您可以在应用列表中找到该应用。安装成功后,您就可以使用日志服务了。 登录 容器服务管理控制台。 单击左侧导航栏中的应用。 选择目标集群并取消勾选隐藏系统应用。 可以看到 acslogging 应用已安装成功。 同时,系统会在阿里云日志服务上创建一个对应的 project,您可以在日志服务管理控制台上进行查看。project 的名字里包含了容器服务集群的 ID。 在编排文件里使用日志服务 大多数的 Docker 应用会直接将日志写到 Stdout,现在您依然可以这样做(对于日志写到文件的场景,可以参考下边的使用文件日志)。在开通日志管理功能后,Stdout 的日志可以自动收集并且发送到阿里云日志服务。 下面的例子创建了一个 WordPress 应用。该应用包含 WordPress 和 MySQL 两个服务,日志会收集到阿里云日志服务。 MySQL image: mysql ports: - 80 labels: aliyun.scale: "1" environment: - MYSQL_ROOT_PASSWORD=password WordPress image: registry.aliyuncs.com/jiangjizhong/wordpress ports: - 80 labels: aliyun.routing.port_80: wordpress-with-log aliyun.log_store_dbstdout: stdout # 采集stdout日志到dbstdout日志库中 aliyun.log_ttl_dbstdout: 30 # 设置dbstdout日志库日志数据保存30天 links: - mysql 在上边的编排文件中 aliyun.log_store_dbstdout: stdout 表示将容器的标准写入 logstore acslog-wordpress-dbstdout里。这个标签的格式为 aliyun.log_store_{name}: {logpath}。其中: name 为阿里云日志服务 logstore 的名字,实际创建的 logstore 的名字为acslog-${app}-${name}。 app 为应用名称。 logpath为容器中日志的路径。 stdout 是一个特殊的 logpath,表示标准输出。 aliyun.log_ttl_<logstore_name> 标签用来设置日志库初始日志保存时间,单位为天,有效值为 1~365 天,不配置则默认初始化为 2 天。 Note 这里设置的是初始配置值,如果后期您需要修改日志保存时间,需要到日志服务控制台进行设置。 用上面的编排文件,您可以在容器服务管理控制台上创建一个名为 wordpress 的应用。在应用启动完成后,可以在阿里云日志管理控制台上找到 logstore acslog-wordpress-dbstdout,其中存储了 wordpress 的日志。 在日志服务管理控制台上查看日志 使用上面的编排文件部署应用之后,您可以在阿里云日志服务控制台查看收集到的日志。登录日志服务管理控制台,找到集群对应的日志服务 project,单击进入。您可以看到编排文件里使用的 logstore acs-wordpress-dbstdout。 在 日志索引列中单击 查询查看日志。 使用文件日志 如果您不希望日志直接写到 stdout 中,而需要将日志直接写到文件中,比如/var/log/app.log,可以进行如下配置。 aliyun.log_store_name: /var/log/app.log 其中name为 logstore 的名字,/var/log/app.log为容器内日志的路径。 如果您需要输出多个日志文件到日志服务,可以进行如下配置将文件放在多个目录下。 aliyun.log_store_s1: /data/logs/access/access.log aliyun.log_store_s2: /data/logs/error/error.log aliyun.log_store_s3: /data/logs/exception/*.log #支持通配符 Note 暂不支持多个logstore对应同一个日志目录。上面的例子中有 3 个 logstore s1、s2 和 s3,对应的日志文件必须在 3 个目录下。 开启 timestamp Docker 在收集日志的时候可以选择是否添加 timestamp。您可以在容器服务中通过aliyun.log.timestamp 标签进行配置。默认会添加 timestamp。 添加 timestamp aliyun.log.timestamp: "true" 去除 timestamp aliyun.log.timestamp: "false"

2019-12-01 22:56:50 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 日志服务(Log Service,简称Log)是针对日志场景的平台化服务。无需开发就可以快速完成日志收集、分发、投递与查询, 适用于日志中转、监控、性能诊断、日志分析、审计等场景。容器服务提供了集成日志服务的能力,可以方便地将应用日志发送到日志服务里。 Note 在集群管理页,只要单击开启日志服务 > 确定,日志服务成功开启之后,通过内置的 RAM 账户,会为每个自动创建的 Logstore 创建日志索引,由于阿里云日志服务已经开始收费,因此启用本功能之后,按照下面的方式进行配置,将会产生计费,收费标准参见计费方式。请务必了解您的日志量,以免产生大量非预期的费用。 开启日志服务 登录 容器服务管理控制台。 在 Swarm 菜单下,单击左侧导航栏中的集群。 选择目标集群并单击管理。 单击页面右上角的开启日志服务。 在弹出的确认对话框中,单击确定。 开通容器服务的日志服务之前,您需要先开通阿里云访问控制(RAM)和阿里云日志服务。如果您还未开通,请单击 去开通开通访问控制(RAM)和阿里云日志服务。 查看 acslogging 服务安装结果 第一次启用日志服务时,容器服务会在您的机器安装日志服务所需的 Agent。您可以在应用列表中找到该应用。安装成功后,您就可以使用日志服务了。 登录 容器服务管理控制台。 单击左侧导航栏中的应用。 选择目标集群并取消勾选隐藏系统应用。 可以看到 acslogging 应用已安装成功。 同时,系统会在阿里云日志服务上创建一个对应的 project,您可以在日志服务管理控制台上进行查看。project 的名字里包含了容器服务集群的 ID。 在编排文件里使用日志服务 大多数的 Docker 应用会直接将日志写到 Stdout,现在您依然可以这样做(对于日志写到文件的场景,可以参考下边的使用文件日志)。在开通日志管理功能后,Stdout 的日志可以自动收集并且发送到阿里云日志服务。 下面的例子创建了一个 WordPress 应用。该应用包含 WordPress 和 MySQL 两个服务,日志会收集到阿里云日志服务。 MySQL image: mysql ports: - 80 labels: aliyun.scale: "1" environment: - MYSQL_ROOT_PASSWORD=password WordPress image: registry.aliyuncs.com/jiangjizhong/wordpress ports: - 80 labels: aliyun.routing.port_80: wordpress-with-log aliyun.log_store_dbstdout: stdout # 采集stdout日志到dbstdout日志库中 aliyun.log_ttl_dbstdout: 30 # 设置dbstdout日志库日志数据保存30天 links: - mysql 在上边的编排文件中 aliyun.log_store_dbstdout: stdout 表示将容器的标准写入 logstore acslog-wordpress-dbstdout里。这个标签的格式为 aliyun.log_store_{name}: {logpath}。其中: name 为阿里云日志服务 logstore 的名字,实际创建的 logstore 的名字为acslog-${app}-${name}。 app 为应用名称。 logpath为容器中日志的路径。 stdout 是一个特殊的 logpath,表示标准输出。 aliyun.log_ttl_<logstore_name> 标签用来设置日志库初始日志保存时间,单位为天,有效值为 1~365 天,不配置则默认初始化为 2 天。 Note 这里设置的是初始配置值,如果后期您需要修改日志保存时间,需要到日志服务控制台进行设置。 用上面的编排文件,您可以在容器服务管理控制台上创建一个名为 wordpress 的应用。在应用启动完成后,可以在阿里云日志管理控制台上找到 logstore acslog-wordpress-dbstdout,其中存储了 wordpress 的日志。 在日志服务管理控制台上查看日志 使用上面的编排文件部署应用之后,您可以在阿里云日志服务控制台查看收集到的日志。登录日志服务管理控制台,找到集群对应的日志服务 project,单击进入。您可以看到编排文件里使用的 logstore acs-wordpress-dbstdout。 在 日志索引列中单击 查询查看日志。 使用文件日志 如果您不希望日志直接写到 stdout 中,而需要将日志直接写到文件中,比如/var/log/app.log,可以进行如下配置。 aliyun.log_store_name: /var/log/app.log 其中name为 logstore 的名字,/var/log/app.log为容器内日志的路径。 如果您需要输出多个日志文件到日志服务,可以进行如下配置将文件放在多个目录下。 aliyun.log_store_s1: /data/logs/access/access.log aliyun.log_store_s2: /data/logs/error/error.log aliyun.log_store_s3: /data/logs/exception/*.log #支持通配符 Note 暂不支持多个logstore对应同一个日志目录。上面的例子中有 3 个 logstore s1、s2 和 s3,对应的日志文件必须在 3 个目录下。 开启 timestamp Docker 在收集日志的时候可以选择是否添加 timestamp。您可以在容器服务中通过aliyun.log.timestamp 标签进行配置。默认会添加 timestamp。 添加 timestamp aliyun.log.timestamp: "true" 去除 timestamp aliyun.log.timestamp: "false"

2019-12-01 22:57:23 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 日志服务(Log Service,简称Log)是针对日志场景的平台化服务。无需开发就可以快速完成日志收集、分发、投递与查询, 适用于日志中转、监控、性能诊断、日志分析、审计等场景。容器服务提供了集成日志服务的能力,可以方便地将应用日志发送到日志服务里。 Note 在集群管理页,只要单击开启日志服务 > 确定,日志服务成功开启之后,通过内置的 RAM 账户,会为每个自动创建的 Logstore 创建日志索引,由于阿里云日志服务已经开始收费,因此启用本功能之后,按照下面的方式进行配置,将会产生计费,收费标准参见计费方式。请务必了解您的日志量,以免产生大量非预期的费用。 开启日志服务 登录 容器服务管理控制台。 在 Swarm 菜单下,单击左侧导航栏中的集群。 选择目标集群并单击管理。 单击页面右上角的开启日志服务。 在弹出的确认对话框中,单击确定。 开通容器服务的日志服务之前,您需要先开通阿里云访问控制(RAM)和阿里云日志服务。如果您还未开通,请单击 去开通开通访问控制(RAM)和阿里云日志服务。 查看 acslogging 服务安装结果 第一次启用日志服务时,容器服务会在您的机器安装日志服务所需的 Agent。您可以在应用列表中找到该应用。安装成功后,您就可以使用日志服务了。 登录 容器服务管理控制台。 单击左侧导航栏中的应用。 选择目标集群并取消勾选隐藏系统应用。 可以看到 acslogging 应用已安装成功。 同时,系统会在阿里云日志服务上创建一个对应的 project,您可以在日志服务管理控制台上进行查看。project 的名字里包含了容器服务集群的 ID。 在编排文件里使用日志服务 大多数的 Docker 应用会直接将日志写到 Stdout,现在您依然可以这样做(对于日志写到文件的场景,可以参考下边的使用文件日志)。在开通日志管理功能后,Stdout 的日志可以自动收集并且发送到阿里云日志服务。 下面的例子创建了一个 WordPress 应用。该应用包含 WordPress 和 MySQL 两个服务,日志会收集到阿里云日志服务。 MySQL image: mysql ports: - 80 labels: aliyun.scale: "1" environment: - MYSQL_ROOT_PASSWORD=password WordPress image: registry.aliyuncs.com/jiangjizhong/wordpress ports: - 80 labels: aliyun.routing.port_80: wordpress-with-log aliyun.log_store_dbstdout: stdout # 采集stdout日志到dbstdout日志库中 aliyun.log_ttl_dbstdout: 30 # 设置dbstdout日志库日志数据保存30天 links: - mysql 在上边的编排文件中 aliyun.log_store_dbstdout: stdout 表示将容器的标准写入 logstore acslog-wordpress-dbstdout里。这个标签的格式为 aliyun.log_store_{name}: {logpath}。其中: name 为阿里云日志服务 logstore 的名字,实际创建的 logstore 的名字为acslog-${app}-${name}。 app 为应用名称。 logpath为容器中日志的路径。 stdout 是一个特殊的 logpath,表示标准输出。 aliyun.log_ttl_<logstore_name> 标签用来设置日志库初始日志保存时间,单位为天,有效值为 1~365 天,不配置则默认初始化为 2 天。 Note 这里设置的是初始配置值,如果后期您需要修改日志保存时间,需要到日志服务控制台进行设置。 用上面的编排文件,您可以在容器服务管理控制台上创建一个名为 wordpress 的应用。在应用启动完成后,可以在阿里云日志管理控制台上找到 logstore acslog-wordpress-dbstdout,其中存储了 wordpress 的日志。 在日志服务管理控制台上查看日志 使用上面的编排文件部署应用之后,您可以在阿里云日志服务控制台查看收集到的日志。登录日志服务管理控制台,找到集群对应的日志服务 project,单击进入。您可以看到编排文件里使用的 logstore acs-wordpress-dbstdout。 在 日志索引列中单击 查询查看日志。 使用文件日志 如果您不希望日志直接写到 stdout 中,而需要将日志直接写到文件中,比如/var/log/app.log,可以进行如下配置。 aliyun.log_store_name: /var/log/app.log 其中name为 logstore 的名字,/var/log/app.log为容器内日志的路径。 如果您需要输出多个日志文件到日志服务,可以进行如下配置将文件放在多个目录下。 aliyun.log_store_s1: /data/logs/access/access.log aliyun.log_store_s2: /data/logs/error/error.log aliyun.log_store_s3: /data/logs/exception/*.log #支持通配符 Note 暂不支持多个logstore对应同一个日志目录。上面的例子中有 3 个 logstore s1、s2 和 s3,对应的日志文件必须在 3 个目录下。 开启 timestamp Docker 在收集日志的时候可以选择是否添加 timestamp。您可以在容器服务中通过aliyun.log.timestamp 标签进行配置。默认会添加 timestamp。 添加 timestamp aliyun.log.timestamp: "true" 去除 timestamp aliyun.log.timestamp: "false"

2019-12-01 22:56:51 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 日志服务(Log Service,简称Log)是针对日志场景的平台化服务。无需开发就可以快速完成日志收集、分发、投递与查询, 适用于日志中转、监控、性能诊断、日志分析、审计等场景。容器服务提供了集成日志服务的能力,可以方便地将应用日志发送到日志服务里。 Note 在集群管理页,只要单击开启日志服务 > 确定,日志服务成功开启之后,通过内置的 RAM 账户,会为每个自动创建的 Logstore 创建日志索引,由于阿里云日志服务已经开始收费,因此启用本功能之后,按照下面的方式进行配置,将会产生计费,收费标准参见计费方式。请务必了解您的日志量,以免产生大量非预期的费用。 开启日志服务 登录 容器服务管理控制台。 在 Swarm 菜单下,单击左侧导航栏中的集群。 选择目标集群并单击管理。 单击页面右上角的开启日志服务。 在弹出的确认对话框中,单击确定。 开通容器服务的日志服务之前,您需要先开通阿里云访问控制(RAM)和阿里云日志服务。如果您还未开通,请单击 去开通开通访问控制(RAM)和阿里云日志服务。 查看 acslogging 服务安装结果 第一次启用日志服务时,容器服务会在您的机器安装日志服务所需的 Agent。您可以在应用列表中找到该应用。安装成功后,您就可以使用日志服务了。 登录 容器服务管理控制台。 单击左侧导航栏中的应用。 选择目标集群并取消勾选隐藏系统应用。 可以看到 acslogging 应用已安装成功。 同时,系统会在阿里云日志服务上创建一个对应的 project,您可以在日志服务管理控制台上进行查看。project 的名字里包含了容器服务集群的 ID。 在编排文件里使用日志服务 大多数的 Docker 应用会直接将日志写到 Stdout,现在您依然可以这样做(对于日志写到文件的场景,可以参考下边的使用文件日志)。在开通日志管理功能后,Stdout 的日志可以自动收集并且发送到阿里云日志服务。 下面的例子创建了一个 WordPress 应用。该应用包含 WordPress 和 MySQL 两个服务,日志会收集到阿里云日志服务。 MySQL image: mysql ports: - 80 labels: aliyun.scale: "1" environment: - MYSQL_ROOT_PASSWORD=password WordPress image: registry.aliyuncs.com/jiangjizhong/wordpress ports: - 80 labels: aliyun.routing.port_80: wordpress-with-log aliyun.log_store_dbstdout: stdout # 采集stdout日志到dbstdout日志库中 aliyun.log_ttl_dbstdout: 30 # 设置dbstdout日志库日志数据保存30天 links: - mysql 在上边的编排文件中 aliyun.log_store_dbstdout: stdout 表示将容器的标准写入 logstore acslog-wordpress-dbstdout里。这个标签的格式为 aliyun.log_store_{name}: {logpath}。其中: name 为阿里云日志服务 logstore 的名字,实际创建的 logstore 的名字为acslog-${app}-${name}。 app 为应用名称。 logpath为容器中日志的路径。 stdout 是一个特殊的 logpath,表示标准输出。 aliyun.log_ttl_<logstore_name> 标签用来设置日志库初始日志保存时间,单位为天,有效值为 1~365 天,不配置则默认初始化为 2 天。 Note 这里设置的是初始配置值,如果后期您需要修改日志保存时间,需要到日志服务控制台进行设置。 用上面的编排文件,您可以在容器服务管理控制台上创建一个名为 wordpress 的应用。在应用启动完成后,可以在阿里云日志管理控制台上找到 logstore acslog-wordpress-dbstdout,其中存储了 wordpress 的日志。 在日志服务管理控制台上查看日志 使用上面的编排文件部署应用之后,您可以在阿里云日志服务控制台查看收集到的日志。登录日志服务管理控制台,找到集群对应的日志服务 project,单击进入。您可以看到编排文件里使用的 logstore acs-wordpress-dbstdout。 在 日志索引列中单击 查询查看日志。 使用文件日志 如果您不希望日志直接写到 stdout 中,而需要将日志直接写到文件中,比如/var/log/app.log,可以进行如下配置。 aliyun.log_store_name: /var/log/app.log 其中name为 logstore 的名字,/var/log/app.log为容器内日志的路径。 如果您需要输出多个日志文件到日志服务,可以进行如下配置将文件放在多个目录下。 aliyun.log_store_s1: /data/logs/access/access.log aliyun.log_store_s2: /data/logs/error/error.log aliyun.log_store_s3: /data/logs/exception/*.log #支持通配符 Note 暂不支持多个logstore对应同一个日志目录。上面的例子中有 3 个 logstore s1、s2 和 s3,对应的日志文件必须在 3 个目录下。 开启 timestamp Docker 在收集日志的时候可以选择是否添加 timestamp。您可以在容器服务中通过aliyun.log.timestamp 标签进行配置。默认会添加 timestamp。 添加 timestamp aliyun.log.timestamp: "true" 去除 timestamp aliyun.log.timestamp: "false"

2019-12-01 22:56:51 0 浏览量 回答数 0

问题

Swarm 集群&nbsp;&nbsp;日志管理&nbsp;&nbsp;集成日志服务

青蛙跳 2019-12-01 21:35:33 926 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 云栖号物联网 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 云栖号弹性计算 阿里云云栖号 云栖号案例 云栖号直播