首页 文章 精选 留言 我的

精选列表

搜索[快速入门],共10000篇文章
优秀的个人博客,低调大师

docker:快速构建容器监控系统cAdvisor+InfluxDB+Grafana

容器监控的方案有很多,有docker自身的docker stats命令、有Scout、有Data Dog等等,本文主要和大家分享一下比较经典的容器开源监控方案组合:cAdvisor+InfluxDB+Grafan。 1.概念 cAdvisor:用于数据采集 InfluxDB:用于数据存储 Grafana: 用于数据展示 1.1 cAdvisor 它是Google用来监测单节点的资源信息的监控工具。Cadvisor提供了一目了然的单节点多容器的资源监控功能。Google的Kubernetes中也缺省地将其作为单节点的资源监控工具,各个节点缺省会被安装上Cadvisor。总结起来主要两点: 展示 Host 和容器两个层次的监控数据。 展示历史变化数据。 由于 cAdvisor 提供的操作界面略显简陋,而且需要在不同页面之间跳转,并且只能监控一个 host,这不免会让人质疑它的实用性。但 cAdvisor 的一个亮点是它可以将监控到的数据导出给第三方工具,由这些工具进一步加工处理。 我们可以把 cAdvisor 定位为一个监控数据收集器,收集和导出数据是它的强项,而非展示数据。 1.2 InfluxDB InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。类似的数据库有Elasticsearch、Graphite等。 InfluxDB主要特色功能 基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等); 可度量性:你可以实时对大量数据进行计算; 基于事件:它支持任意的事件数据; InfluxDB主要特点 无结构(无模式):可以是任意数量的列; 可拓展的; 支持min, max, sum, count, mean, median 等一系列函数,方便统计; 原生的HTTP支持,内置HTTP API; 强大的类SQL语法; 自带管理界面,方便使用; 1.3 Grafana Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源。 2.部署过程 创建自定义网络monitor(自定义网络名称),用于后期容器加入此网络中,当然你也可以忽略此步; 创建Influxdb容器,创建数据用户、数据库; 创建cAdvisor容器; 创建Grafana容器,配置grafana; 3.开始部署 3.1 创建自定义网络 前面也说过了,你可以不用创建自定网络,作者只是为了把后期创建的cAdvisor+InfluxDB+Grafana这三个容器都加入自己定义的网络便于理解和管理,所以才新建一个自定义网络: [root@ganbing ~]# docker network create monitor cc193568263604e3bc3e7a5d78f18d07af99810e1d5c19bac99fccfa045f48f5 查看创建的网络: 3.2 创建influxdb容器 启动容器,tutum/influxdb这里没有指定版本,默认会pull最新版本的influxdb: [root@ganbing ~]# docker run -d --name influxdb --net monitor -p 8083:8083 -p 8086:8086 tutum/influxdb 参数说明:-d :后台运行此容器;--name :启运容器分配名字influxdb;--net : 把容器加入到新的网络monitor;-p :映射端口,8083端口为infuxdb后台控制端口,8086端口是infuxdb的数据端口;tutum/influxdb:通过这个容器来运行的,默认会在docker官方仓库pull下来; 查看influxdb容器是否启动: [root@ganbing ~]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 30b9789e680d tutum/influxdb "/run.sh" 22 seconds ago Up 21 seconds 0.0.0.0:8083->8083/tcp, 0.0.0.0:8086->8086/tcp influxdb 访问influxdb控制台,ip+8083端口访问: 从上图可以看到,在Query Templates选项中提供了常用的操作模板,可根据这些模版来管理influxdb,下面我们就来创建数据库和数据库用户。 创建cadvisor数据库cadvisor、用户root,用户和数据库大家可以自行随意定义,不一定要跟我一样,只是用于后期grafana的配置: CREATE USER "root" WITH PASSWORD '123456' WITH ALL PRIVILEGES CREATE DATABASE "cadvisor" 3.3 创建cadvisor容器 运行cadvisor容器: $docker run -d \ --name=cadvisor \ --net monitor \ -p 8080:8080 \ --mount type=bind,src=/,dst=/rootfs,ro \ --mount type=bind,src=/var/run,dst=/var/run \ --mount type=bind,src=/sys,dst=/sys,ro \ --mount type=bind,src=/var/lib/docker/,dst=/var/lib/docker,ro \ google/cadvisor \ -storage_driver=influxdb \ -storage_driver_db=cadvisor \ -storage_driver_host=influxdb:8086 参数说明:-d :后台运行此容器;--name :启运容器分配名字cadvisor;--net : 把容器加入到新的网络monitor;-p :映射端口8080;--mout:把宿主机的相文目录绑定到容器中,这些目录都是cadvisor需要采集的目录文件和监控内容;-storage_driver:需要指定cadvisor的存储驱动、数据库主机、数据库名;google/cadvisor:通过cadvisor这个镜像来运行容器,默认会在docker官方仓库把镜像pull下来; 查看cadvisor容器: [root@ganbing ~]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 90871ba5be7e google/cadvisor "/usr/bin/cadvisor -…" 51 seconds ago Up 50 seconds 0.0.0.0:8080->8080/tcp cadvisor 通过ip+8080端口访问测试一下,第一次访问这个页面有点慢:从上图可以看到,其实cadvisor也有基础的图形展示功能,我们这里主要用它来做数据采集。 3.4 创建granafa容器 运行granafa容器: [root@ganbing ~]# docker run -d --name grafana --net monitor -p 3000:3000 grafana/grafana 这里的参数比较简单,跟上面都差不多,不做详细解释。 查看运行结果: [root@ganbing ~]# docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a90e03e2017a grafana/grafana "/run.sh" 17 seconds ago Up 16 seconds 0.0.0.0:3000->3000/tcp grafana 访问granfa,通过ip+3000端口的方式访问,默认账户密码(admin/admin): 添加数据源Add data source,如下图: 新建New dashboard,如下图: 新建了一个监控项之后,回来HOME,可以发现刚才创建的项目: 到这里cAdvisor+InfluxDB+Grafana容器监控系统就部署完成了,至于其它grafana的监控项配置不是本文的重点,就不在这里一一介绍其它监控项怎么玩了,大家如果感兴趣可以参考一些官方资料或者百度一些资料参阅,都是图形化的界面操作,多点、多玩、多测两个就搞明白了。 4.总结 监控没有最好、最优的监控方案,需要根据企业环境的自身特点结合每个监控产品的优势来达到监控的目的。一个企业完整的监控体系包括以下几个组成部分: 监控数据采集的时效与精确 监控数据采集存储与归档 监控数据的图形化展示 监控数据的自动化分析与联动处理 监控的告警及自动化处理 监控工具自身的安全控制 监控告警的响应及跟踪 喜欢我的文章,请点击最上方右角处的《关注》支持一下!

优秀的个人博客,低调大师

用云存储30分钟快速搭建APP

背景 不管你承认与否,移动互联的时代已经到来,这是一个移动互联的时代,手机已经是当今世界上引领潮流的趋势,大型的全球化企业和中小企业都把APP程序开发纳入到他们的企业发展策略当中。 但随着手机APP上传的数据会越来越多,任何企业系统、应用的软件都必须解决这一问题,数据存储必须以某种方式保存,不能丢失并且能够有效简单地使用和更新这些数据。如果开发者自行解决数据存储的问题,有可能在后期花费在之上的精力是其他方面的数倍,但是如果将数据存储这一问题交给OSS,那么开发者就可以从中得以解放,更加专注于自己的应用逻辑。 目的 本文的目的就是让你在30分钟内搭建一个基于OSS的移动应用数据直传服务,所谓直传就是移动应用的数据的上传和下载直接直连OSS,只有控制流走用户自己的服务器,并且具有如下特点: 安全的上传下载方式(临时,灵活的赋权鉴权), 成本低(这样用户不需要准备很多服务器,因为移动应用直联云存储,只有控制流走用户自己的应用服务器。) 高并发,支持海量用户(OSS有海量的上传和下载带宽) 弹性(OSS有无限扩容的存储空间) 方便(可以方便的对接到媒体转码服务-视频多端适配,图片处理服务,CDN加速下载等) 架构图 详细资料可以参考这里 角色解析 Android/iOS 应用。即最终用户手机上的APP; OSS,即阿里云对象存储,负责存储APP上传的数据,可以参考官网:http://www.aliyun.com/product/oss; RAM/STS负责生成临时上传凭证; 用户应用服务器,即提供该Android/iOS应用的开发者开发的APP后台服务,管理APP上传和下载的Token. 甚至是用户在APP上传数据元数据信息。 数据流解析 Android/iOS应用不可能直接存储AccessKeyID/AccessKeySecret,这样会存在泄密的风险。所以应用必须向用户的应用服务器申请一个临时上传凭证(注意下文将此临时上传凭证称为Token),注意这个Token是有时效性的,如这个Token的过期时间是30分钟(这个时间可以由应用服务器指定),那么在该Android/iOS应用在这30分钟里面,使用这个Token可以从OSS上传和下载数据,30分钟后再重新获取。 用户的应用服务器检测上述请求的合法性,然后返回Token给应用。 手机拿到这个Token后就可以将数据上传到OSS,或者从OSS下载数据了。 本文主要介绍了下图中红色和蓝色框的内容: 应用服务器如何生成这个Token,蓝色方框 Android/iOS应用如何取Token,红色方框

优秀的个人博客,低调大师

Git安装及配置5分钟快速教程

Git是什么 Git是一款免费、开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 与常用的版本控制工具CVS、Subversion等不同的是它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,最为出色的是它的合并跟踪的能力。 Git当初是Linus Torvalds为了帮助管理Linux内核源码替换BitKeeper 而开发的一个开放源码的版本控制软件。 Git安装 安装地址: https://git-scm.com/downloads 可以在Mac OS X,Windows,Linux,Solaris这4个平台上进行安装。 安装过程略。 Git配置 配置Git上个人的用户名称和电子邮件地址,用来记录提交人的信息。 $ git config --global user.name "your name" $ git config --global user.email "your_email@youremail.com" --global:表示全局配置,配置文件用户主目录,如C:\Users\Administrator\.gitconfig,如果没有这个选项只针对目前项目生效,配置文件为项目下的.git/config`。 推荐阅读 去BAT面试完的Mysql面试题总结(55道,带完整答案) 阿里高级Java面试题(首发,70道,带详细答案) 2017派卧底去阿里、京东、美团、滴滴带回来的面试题及答案 Spring面试题(70道,史上最全) 通往大神之路,百度Java面试题前200页。 分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。

优秀的个人博客,低调大师

MaxCompute2.0助力众安保险快速成长

摘要:2017云栖大会阿里云大数据计算服务(MaxCompute)专场,众安保险数据总监王超群带来MaxCompute助力众安保险方面的演讲。本文主要从MaxCompute优势开始谈起,进而谈及大数据能够为公司运营带来的好处,最后重点分析了众安保险的数据平台建设,包括任务调度、元数据和数据质量监控等。 以下是精彩内容整理: 众安保险作为国内第一家互联网公司,我们从创立之初计算平台就使用MaxCompute。 为什么会选择MaxCompute? 成立之初我们也在自建平台和MaxCompute上作出了选择,我们主要从五方面考虑:健壮性、与应用系统交互、扩展性、强数据安全和低成本。 健壮性:7*24的服务能力、异常恢复时长; 与应用系统交互:数据源的获取与数据输出效率和成本; 扩展性:当数据成倍增长时,计算能力弹性; 数据安全:数据异常攻击防护,提

优秀的个人博客,低调大师

云计算刺激光通信行业快速发展

中投顾问《2017-2021年光通信行业深度调研及投资前景预测报告 》中数据指出,近年来,全球云计算市场总体正平稳增长。2015年以IaaS、PaaS和SaaS为代表的典型云服务市场规模达到522.4亿美元,增速20.6%,预计2020年将达到1435.3亿美元,年复合增长率达22%。从服务商来看,亚马逊AWS2015年收入近79亿美元,增速超过50%,服务规模超过全球IaaS领域第二到第十五名厂商总和的十倍。 2016年8月,亚马逊AWS和微软Azure是遥遥领先的市场领导者。Synergy研究集团二季度报告显示,亚马逊AWS市场份额为31%,微软紧随其后为11%。 同样,由阿里云主导的中国公有云市场也保持着三位数增长的,未来五年,这个市场的规模将达数千亿元人民币。一项由德意志银行所做的针对中国企业CIO的调查显示,约65.5%的CIO所在企业使用阿里云作为他们的独家服务提供商,阿里云国内的业务规模是第二名的10倍。阿里财报显示,从2015Q2开始,每季度阿里云收入都保持了100%以上的增长规模。 云计算高速增长,IDC大带宽需求带动了光通信的高速增长,IDC内服务器的接入由以前的1000M网线接入逐步规模采用4G/10G光纤接入方案,IDC内交换机上行链路也普遍升级到6×100G上行模式,IDC带动了大量10G/40G/100G光模块的需求,IDC间DCI通信从10G/40G的DWDM向着100G为主的DWDM长距离通信发展。 无论美国企业还是中国企业,2015-2016年在IDC领域都保持较高增速。从A股上市公司报表来看,光通信公司在IDC领域保持了非常高的增速水平。光讯科技2015年在IDC领域的增长接近85%-89%;天孚通信(300394)2016年中报显示,公司海外光通信市场增速高达149%,主要也是IDC需求带动。 中投顾问在《2017-2021年光通信行业深度调研及投资前景预测报告 》中表示,综上所述,云计算带动了IDC基础设施需求的高速增长,IDC内大量使用了10G/40G/100G光模块为基础的交换机促进了数据光设备/光器件的高速增长,IDC间的DCI通信又促进了DWDM为主的传输光设备/光器件的增长。 本文转自d1net(转载)

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册