热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

监控运维那些事儿

监控目标明白监控的重要性以及使用监控要实现的业务目标通常包括以下三点:对目标系统进行实时监控监控可以实时反馈目标系统的当前状态目标系统硬件、软件、业务是否正常、目

监控目标

明白监控的重要性以及使用监控要实现的业务目标

通常包括以下三点:


  • 对目标系统进行实时监控

  • 监控可以实时反馈目标系统的当前状态 目标系统硬件、软件、业务是否正常、目前处于何种状态

  • 保证目标系统可靠性,业务可以持续稳定运行 有问题第一时间反馈出来,便于运维人员处理


监控方法


  • 了解监控对象 例如:CPU如何工作?

  • 性能基准指标 例如: CPU使用率、负载、用户态、内核态、上下文切换

  • 报警阈值定义 例如: CPU负载高的定义,内核态、用户态多少算高

  • 故障处理流程 如何更高效处理故障的流程


监控核心


  • 发现问题

  • 定位问题

  • 解决问题

  • 总结问题,对故障原因及问题防范进行归纳总结,避免以后重复出现


监控工具


  • 老牌监控

    • Cacti

    • Nagios

    • smokeping

  • 流行监控

    • Zabbix

    • OpenFalcon

    • Prometheus+Grafana

    • 滴滴开源夜莺Nightingale

    • smartping(专用于网络监控)

    • LEPUS天兔(专用于监控数据库)

    • 自研

  • 第三方监控

    • 监控宝

    • 听云

    • newrelic


监控流程


  • 采集

通过SNMP、Agent、ICMP、SSH、IPMI等对系统进行数据采集


  • 存储

各类数据库服务,MySQL、PostgreSQL


  • 分析

提供图形及时间线情况信息,方便我们定位故障所在


  • 展示

指标信息、指标趋势展示


  • 报警

电话、邮件、微信、短信、报警升级机制


  • 处理

故障级别判定,找响应人员进行快速处理


监控指标

硬件监控


  • 机器硬件:CPU温度、物理磁盘、虚拟磁盘、主板温度、磁盘阵列
    IPMI工具无法获取到硬件的状态,可以借助MegaCli工具探测Raid磁盘队列状态
    https://www.ibm.com/developerworks/cn/linux/l-ipmi/

系统监控


  • 主机存活

  • CPU、内存、硬盘、使用率

  • inode

  • 负载

  • 网卡出入带宽

  • TCP连接数

  • 磁盘读写、只读

应用监控

MySQL


  • 服务可用性

  • 内存使用率

  • 磁盘使用

  • 主从不同步及延迟

  • 备份情况

  • 连接数

Redis、Redis Cluster


  • 负载

  • 内存使用率

  • 连接数量

  • qps

Nginx


  • 状态码

  • 连接状态信息

  • RabbitMQ

  • PHP-FPM

  • OpenLDAP

    • 接入IP

    • 调用次数

  • Zimbra

  • OpenVPN

    • 版本信息、当前在线

    • 用户、分配IP、客户端连接IP、通过IP获取地址位置、接收发送流量 连接时间 时长 连接ID

  • ELK

  • Graylog

  • GitLab

  • Jenkins

  • MongoDB

  • HAproxy

网络监控


  • 网络质量

  • 公网出口

  • 专线带宽

  • 网络设备

流量分析

日志监控

安全监控


  • URL、API监控

  • 自研

  • 阿里云方案

性能监控(APM)java|php|go|nodejs|分布式链路追踪


  • PinPoint

  • Zipkin

  • SkyWalking

  • CAT、Jaeger

业务监控

电商业务为例:


  • 每分钟产生多少订单

  • 每分钟注册多少用户

  • 每分钟多少活跃用户

  • 每天有多少推广活动

  • 推广活动引入多少用户

  • 推广活动引入多少流量

  • 推广活动引入多少利润

其他


  • SSL证书监控

  • 存活性 进程是否还在,端口监听、Log滚动

  • 健康指标 MQ消息堆积量

  • 接口监控 API成功率,延迟情况,QPS等等


监控报警


  • 邮件

  • 短信

  • 钉钉、微信、企业微信等其他即时通信软件

  • 电话


报警处理

故障自愈: 服务器宕机自动启动。利用软件机制supervisor,systemd或者自定义脚本实现


综合监控

硬件监控

通过SNMP来进行路由器交换机的监控、其他内容使用IPMI实现。如果都是公有云,可以忽略这部分内容。案例:Open-Falcon监控H3C-ER3260G2路由器

系统监控

服务监控


  • 服务自带

    • Nginx自带status模块

    • PHP相应status模块

    • MySQL利用percona官方工具进行监控

  • 通过自定义方法获取数据

    • MySQL show global status xxx;

    • Redis info指令信息

  • 网络监控(混合云架构)

    • smokeping

    • smartping

  • 安全监控

    • 云服务直接用云安全组即可,或者补充本机iptables

    • 硬件防火墙

    • Web服务使用Nginx+Lua实现Web层面的防火墙,或者Openresty

  • 日志监控
    ELK、Graylog实现异常日志,错误日志关键字的监控

  • 业务监控
    确定监控指标,监控起来,业务不同各不相同

  • 流量分析
    建议使用百度统计,google统计,商业,研发嵌入代码实现。

    或者使用piwik

  • 可视化
    dashboard

  • 自动化监控
    通过API,批量操作


监控总结

完整的监控系统,需要对业务有详尽的了解,软件只是手段。


推荐阅读
  • 深入解析Android 4.4中的Fence机制及其应用
    在Android 4.4中,Fence机制是处理缓冲区交换和同步问题的关键技术。该机制广泛应用于生产者-消费者模式中,确保了不同组件之间高效、安全的数据传输。通过深入解析Fence机制的工作原理和应用场景,本文探讨了其在系统性能优化和资源管理中的重要作用。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 性能测试中的关键监控指标与深入分析
    在软件性能测试中,关键监控指标的选取至关重要。主要目的包括:1. 评估系统的当前性能,确保其符合预期的性能标准;2. 发现软件性能瓶颈,定位潜在问题;3. 优化系统性能,提高用户体验。通过综合分析这些指标,可以全面了解系统的运行状态,为后续的性能改进提供科学依据。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 深入解析Linux内核中的进程上下文切换机制
    在现代操作系统中,进程作为核心概念之一,负责管理和分配系统资源,如CPU和内存。深入了解Linux内核中的进程上下文切换机制,需要首先明确进程与程序的区别。进程是一个动态的执行流,而程序则是静态的数据和指令集合。进程上下文切换涉及保存当前进程的状态信息,并加载下一个进程的状态,以实现多任务处理。这一过程不仅影响系统的性能,还关系到资源的有效利用。通过分析Linux内核中的具体实现,可以更好地理解其背后的原理和技术细节。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • 本文介绍了如何在 Windows 系统上利用 Docker 构建一个包含 NGINX、PHP、MySQL、Redis 和 Elasticsearch 的集成开发环境。通过详细的步骤说明,帮助开发者快速搭建和配置这一复杂的技术栈,提升开发效率和环境一致性。 ... [详细]
  • 求助:在CentOS 5.8系统上安装PECL扩展遇到问题
    在 CentOS 5.8 系统上尝试安装 APC 扩展时遇到了问题,具体表现为 PECL 工具无法正常工作。为了确保顺利安装,需要解决 PECL 的相关依赖和配置问题。建议检查 PHP 和 PECL 的版本兼容性,并确保所有必要的库和开发工具已正确安装。此外,可以尝试手动下载 APC 扩展的源代码并进行编译安装,以绕过 PECL 工具的限制。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 本文源自极分享,详细内容请参阅原文。技术债务如同信用卡负债,随着时间推移,修复成本会越来越高,因此程序员必须对此有深刻认识。此外,团队应致力于培养一种持续维护和优化代码的文化,以减少技术债务的累积。 ... [详细]
  • 深入解析 Vue 中的 Axios 请求库
    本文深入探讨了 Vue 中的 Axios 请求库,详细解析了其核心功能与使用方法。Axios 是一个基于 Promise 的 HTTP 客户端,支持浏览器和 Node.js 环境。文章首先介绍了 Axios 的基本概念,随后通过具体示例展示了如何在 Vue 项目中集成和使用 Axios 进行数据请求。无论你是初学者还是有经验的开发者,本文都能为你解决 Vue.js 相关问题提供有价值的参考。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 在GitHub上克隆vue-element-admin项目时遇到依赖安装错误
    在 GitHub 上克隆 vue-element-admin 项目后,使用 `npm install` 安装依赖时遇到了未知的 Git 错误。具体错误信息为 `npm ERR! code 128`,提示命令执行失败。这可能是由于网络问题、Git 配置不正确或某些依赖包的仓库地址无效导致的。建议检查网络连接、更新 Git 版本并确保所有依赖项的 URL 正确无误。 ... [详细]
author-avatar
Ailsa大宝贝
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有