目录
一、阿里云四大件
1、云服务器ECS
2、云数据库RDS
3、负载均衡SLB
4、对象存储OSS
5、其他的云计算产品
1)内容分发网络CDN
2)专有网络 VPC
二、linux发行版本
三、你平时对系统会怎么优化(五大负载)
1、cpu 使用率
2、内存 优化:free、vmstat
3、磁盘优化
3.1、raid(独立冗余磁盘阵列 )
4、I/O优化
5、网络优化
四、主流监控工具
1、cacti
2、Nagios
3、Zabbix
zabbix核心组件介绍
4、Prometheus
双精度浮点数(double)
Prometheus的四种数据类型
先说阿里云的明星产品四大件吧,即云服务器ECS、云数据库RDS、负载均衡SLB和对象存储OSS。
一、阿里云四大件
1、云服务器ECS
云服务器ECS:云计算产品的基本款,几乎每个客户都必买的,云服务器从1核1G到32核64G(随着时间推移,配置会越来越高),各种优惠都有,不同时段有不同的优惠活动,可以参考阿里云惠网;关于服务器配置还可以随意升降配置,可以包年包月,也可以按量随用随买。对于很多小公司及个人,只购买一台云服务器ECS就够用了。对于稍微大一点的企业从性能、安全、加载速度等方面诸多考虑,可能需要购买其他的阿里云产品。
2、云数据库RDS
云数据库:目前主流是MySQL,阿里云提供MySQL、PostgreSQL,SQL Server,MongoDB,Memcache(Redis)等不同的数据库产品。相对于云服务器,云数据库属于非必需品,因为用户完全可以在云服务器上搭建数据库。由于自身业务发展需要,将数据库独立出来,这时候就需要阿里云的RDS云数据库了。
3、负载均衡SLB
负载均衡SLB:对多台云服务器进行流量分发服务。为了应对业务需求,企业往往会有多台云服务器提供服务器,负载均衡就是将用户的请求按照企业自定义的策略转发到最优的服务器。
4、对象存储OSS
如果企业静态文件较多(图片、视频等大文件),可以将大量的存储内容转移独立出来,放到对象存储OSS里面
5、其他的云计算产品
以上四款产品,系阿里云云计算产品的四件套。下面再介绍阿里云其他的云计算产品:
1)内容分发网络CDN
内容分发网络,假设企业的云服务器在杭州,那么位于东北地区的用户访问速度就会比较慢,CDN可以解决这个问题,CDN将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率
2)专有网络 VPC
大家普遍会给阿里云打上公有云的标签,实际上阿里云可以提供的不仅仅是公有云,还有私有云、混合云等。专有网络VPC可以帮助企业在阿里云构建出一个隔离的网络环境,用户可以自定义IP 地址范围、网段、路由表和网关等,VPC可以提供更安全和灵活的网络环境,为我们构建混合云提供服务。
二、linux发行版本
CentOS 6:采用了INIT技术,整个开机过程是自检BIOS——MBR引导——GRUB加载——加载内核——启动INIT进程——读取INITTAB配置文件,根据配置文件指定的模式按顺序来启动进程服务。INIT技术让启动流程很清晰,依赖SHELL脚本。因为启动进程时是按顺序一个一个启动,所以速度慢,会因为某个服务卡住而影响系统的启动
CentOS 7:采用了systemd技术,这是替代INIT的新技术,采用了并行方式来启动进程,所以启动速度更快,并且兼容INIT的命令以降低迁移成本。
PS:通过ps命令查看PID为1的进程可以得知当前系统所采用的技术
三、你平时对系统会怎么优化(五大负载)
1、cpu 使用率
- (查看进程,占比大的进程是否可以优化):vmstat、 sar 、iostat、 top
- 负载优化:top 、uptime 、w
- sar -u 1 3:查看cpu的使用情况,间隔1s,监测3次
- –u:输出cpu使用情况和统计信息
2、内存 优化:free、vmstat
3、磁盘优化
①:RAID:提升存储性能(硬盘的读写效率),提供数据备份技术;按照不同方式组合形成一个硬盘组
②:LVM:只是提高磁盘管理的灵活性,并不能提升硬盘的读写效率和提供数据备份技术磁盘水位:fdisk、df -hT
3.1、raid(独立冗余磁盘阵列 )
软raid和硬raid
硬RAID 在硬件层面上通过阵列卡实现RAID功能;
实现步骤:在服务器上面插入磁盘阵列卡,阵列卡上面插入磁盘,开机--配置RAID--安装系统;RAID卡有自己的处理器CPU
软RAID 在系统上用mdadm工具去创建和管理
总结:软RAID依存于OS,硬RAID独立于OS
软raid的分类和优势,最小由几块磁盘组成
4、I/O优化
(命令需要yum安装,系统内无自带):iotop iostat
yum install sysstat
yum install iotop
5、网络优化
- 系统:ifconfig、ip、tcpdump、natstat
- 优化端口范围
- 查询系统可分配的端口号:cat /proc/sys/net/ipv4/ip_local_port_range
- 更改配置文件:vim /etc/sysctl.conf
- 添加:net.ipv4.ip_local_port_range = 32768 60999
- 内核优化:文件打开数优化、tcp参数优化
- 打开文件数 临时:ulimit–n 65535 永久:vim /etc/security/limits.conf
四、主流监控工具
1、cacti
Cacti(英文含义为仙人掌》是一套基于PHP、MySQL、SNMP和RRDtool开发的网络流量监测图形分析工具。
它通过snmpget来获取数据,使用RRDTool绘图,但使用者无须了解RRDToo1复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、主机设备以及任何一张图,还可以与LDAP结合进行用户认证,同时也能自定文模板,在历史数据的展示监控方面,其功能相当不错。
Cacti:通过添加模板,使不同设备的监控添加具有可复用性。并且具备可自定义绘图的功能。具有强大的运算能力(数据的叠加功能)
2、Nagios
Nagios是一款开源的免费网络监视工具,能有效监控windows、Linux和Unix的主机状态,交换机、打印机、路由器等网络设备。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
nagios主要的特征是监控告警,最强大的就是告警功能,可支持多种告警方式,但缺点是没有强大的数据收集机制,并且数据出图也很简陋,当监控的主机越来越多时,添加主机也非常麻烦,配置文件都是基于文本配置的,不支持web方式管理和配置,这样很容易出错,不宜维护。
3、Zabbix
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供强大的通知机制以让系统运维人员快速定位/解决存在的各种问题。
zabbix由2部分构成:zabbix server 与可选组件zabbix agent。
zabbix server 可以通过SNMP,zabbix agent, ping, 端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux、Solaris、HP-OX/AIX、Free BSD、Open BSD、0s x等平台上。
zabbix解决了cacti没有告警的不足,也解决了nagios不能通过web配置的缺点,同时还支持分布式部署,这使得它迅速流行起来,zabbix也成为目前中小企业监控最流行的运维监控平台。
当然,zabbix也有不足之处,它消耗的资源比较多,如果监控的主机非常多时(服务器数量超过500台),可能会出现监控超时、告警超时、告警系统单点故障等现象,不过也有很多解决办法,比如提高硬件性能、改变zabbix监控模式等
①:agent代理:专门的代理服务方式进行监控,专属的协议,装有zabbix-agent的主机就可以被zabbix-server监控,主动或被动的方式,把数据给到server进行处理。
②:ssh/telent: linux主机支持ssh/telent协议
③:snmp:网络设备路由器、交换机不能安装第三方程序(agent),使用简单网络协议。
大多数的路由器设备支持SNMP协议
④:ipmi:通过ipmi接口进行监控,我们可以通过标准的ipmi硬件接口,监控被监控对象的物理特征,比如电压,温度,风扇状态电源情况,被广泛使用服务监控中,包括采集cpu温度,风扇转速,主板温度,及远程开关机等等,而且ipmi独立于硬件和操作系统,无论是cpu、bios还是os出现故障,都不会影响ipmi的工作,因为ipmi的硬件设备BMC (bashboard management controller)是独立的板卡,独立供电
zabbix核心组件介绍
1、zabbix Server:Zabbix软件实现监控的核心程序,主要功能是与Zabbixproxies和Agents进行交互、触发器计算、发送告警通知;并将数据集中保存
与prometheus的类似可以保存收集到的数据,但是prometheus告警需要使用altermanager组件
2、Database storage:存储配置信息以及收集到的致据
3、web Interface :zabbix的GUI接口,通常与server运行在同一台机器上
4、Proxy:可选组件,常用于分布式监控环境中,一个帮助zabbix Server收集数据,分担zabbix server的负载的程序
5、Agent:部著在被监控主机上,负责收集数据发送给server
4、Prometheus
现在行业中容器技术火热------->prom带火了borg. kubernetes
borgmon(监控系统》对应克隆的版本:prometheus(go语言)
所以prometheus特别适合K8S的架构上
而作为一个数据监控解决方案,它由一个大型社区支持,有来自700多家公司的6300个贡献者,13500个代码提交和7200个拉取请求
Prometheus具有以下特性:
①:多维的数据模型(基于时间序列的Key value键值对)
②:灵活的查询和聚合语言PromQL (难)
③:提供本地存储和分布式存储
④:通过基于HTTP和HTTPs的Pull模型采集时间序列数据(pull数据的拉取,时间序列:每段时间点的数据值指标,持续性的产生。横轴标识时间,纵轴为数据值,一段时间内数值的动态变化,所有的点连线形成大盘式的折线图)
⑤:可利用Pushgateway (Prometheus的可选中间件)实现Push模式
⑥:可通过动态服务发现或静态配置发现目标机器(通过consul自动发现和收缩)
⑦:支持名种图表和数据大盘
prometheus数据类型(四大)
双精度浮点(默认) 不支持文档方式
count
直方图
summary
仪表盘
双精度浮点数(double)
双精度浮点数在机内占
8
个字节、有效数字16
位、表示范围:-1.79E+308 ~ +1.79E+308
double
的精度太低,不适合用于做财务软件,财务涉及到钱的问题,要求精度较高,所以在java中有一个基础的类库名为:java.math.BigDecimal
,但这个BigDecimal
类型是引用类型不是基础类型,切记!!!
Prometheus的四种数据类型
- counter (只增不减 计数)
- Gauge (常规数值 可变化大小)
- histogram (柱状图 小于上边界的 总数与次数)
- summary (分位数 小于自定义值的百分比 总数与次数)