什么是监控
在运维职业生涯中,及整套公司的服务架构、项目架构、产品的生命周期,监控系统都是最重要的一环,事前及时预警发现故障,事后提供详细的数据用于追查定位问题。
为什么监控?
- 对系统不间断实时监控
- 实时反馈系统的状态
- 保证服务可靠性、安全性
- 保证业务持续稳定运行
如何进行监控,监控内存的使用率
- 如何查看系统内存的使用率
- 监控内存哪些指标,物理内存,虚拟内存
- 如何获取具体的值,怎么得到使用率
- 道道多大的值则进行报警
常见的运维监控工具
- Cacti
Cacti是一套基于PHP、MySQL、SNMP及RRDTool开发的网络流量监测图形分析工具。 简单的说Cacti就是一个PHP程序。它通过使用SNMP协议获取远端网络设备和相关信息(其实就是使用Net-SNMP 软件包的snmpget 和snmpwalk 命令获取)并通过RRDTOOL工具绘图,通过PHP程序展现出来。我们使用它可以展现出监控对象一段时间内的状态或者性能趋势图。
- Nagios
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
- Zabbix
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供强大的通知机制以让系统运维人员快速定位/解决存在的各种问题。
- Ganglia
Ganglia是一款为HPC(高性能计算)集群而设计的可扩展的分布式监控系统,它可以监视和显示集群中的节点的各种状态信息,它由运行在各个节点上的gmond守护进程来采集CPU 、内存、硬盘利用率、I/O负载、网络流量情况等方面的数据,然后汇总到gmetad守护进程下,使用rrdtool存储数据,最后将历史数据以曲线方式通过PHP页面呈现。
- Centreon
Centreon是一款功能强大的分布式IT监控系统,它通过第三方组件可以实现对网络、操作系统和应用程序的监控:首先,它是开源的,我们可以免费使用它;
- Prometheus
Prometheus是一套开源的系统监控报警框架,它既适用于面向服务器等硬件指标的监控,也适用于高动态的面向服务架构的监控。对于现在流行的微服务,Prometheus的多维度数据收集和数据筛选查询语言也是非常的强大。Prometheus是为服务的可靠性而设计的,当服务出现故障时,它可以使你快速定位和诊断问题。
- Grafana
Grafana是一个开源的度量分析与可视化套件,通俗的说,Grafana就是一个图形可视化展示平台,它通过各种炫酷的界面效果展示我们的监控数据。
- Lepus
Lepus(天兔) 是数据库企业监控系统,针对互联网企业开发的一款专业、强大的企业数据库监控管理系统,企业通过Lepus可以对数据库的实时健康和各种性能指标进行全方位的监控。
- Open-Falcon
OpenFalcon是一种企业级,高可用,可扩展的开源监控解决方案。
如果进入一加新公司,该如何入手监控
监控是需要站在公司业务角度考虑的,而不仅仅是针对某个监控技术的使用。
公有云:云监控 + 监控工具实现
硬件监控:CPU温度 风扇转速 主板温度 电压 功率 机房巡检 ipmi工具监控 ipmitool命令
系统监控:CPU 内存 磁盘 网络 进程 TCP ICMP
服务监控:Nginx PHP redis mysql tomcat jetty apache
Web监控:请求时间 响应时间 加载时间
网络监控:SNMP 第三方 监控宝
业务监控:业务状态 网页速度 pv ip uv 用户的活跃数量 成单量
日志监控:ELK 日志易
安全监控:FIrewalld WAF 第三方工具 安全宝 牛盾云 安全狗
API监控:针对业务的接口
分布式监控:多机房管理
自动化监控:网络发现(被动的模式) 自动注册(主动的模式)
容器:微服务的监控 docker k8s 监控
数据库监控