架构师成长之路4.3-多维监控体系_应用服务监控
监控入门:
- 识别监控对象:
- 监控对象的理解:CPU工作原理
- 监控对象的指标:CPU使用率、CPU负载 、CPU个数、 CPU上下文切换
- 确认告警基准线:怎么样才算故障?CPU负载多少才算高?
预中级监控需要做:
- 工具化和监控分离
- 监控对象的分类:
硬件监控(机房巡检、IPMI、SNMP)
系统监控(对象:CPU、内存、IO[磁盘、网络]、进程等)
服务监控(对象:各类服务[Nginx|Tomcat|RabbitMQ|Openstack|Mysql|*])
日志监控(方法:Elastic Stack)
网络监控(方法:第三方、Smokeping)
APM应用性能管理(工具:PINPoint)
流量监控(工具:Piwik、xx统计、xx分析)
其他监控(APP监控、安全监控、业务监控、舆论监控、xx监控) - 掌握一个监控工具:比如zabbix
中级监控需要做:
- 标准化监控(标准化的脚本、模板等等)
- 分布式监控(主动、被动、分布式)
- 自动化监控(自动发现、主动注册[Agent主动注册、Server通过API主动添加])
- 性能优化(数据采集、数据存储、数据查询)
- 二次开发(定制报表、API调用、xxx)
进阶监控需要做:
- 动态告警
- 智能告警:1.告警去重 2.去除依赖性
- 故障自愈
- 大规模监控
应用服务监控_nginx系统
采集 存储 展示 告警
- Nagios+cacti
- nginx (本节举例)
- zabbix (现阶段使用较多,主要它可以监控IPMI、SNMP、JVM)
- gangla
举例 nginx系统
yum install -y gcc glibc gcc-c++ pcre-devel openssl-devecl cd /usr/local/src wget http://nginx.org/download/nginx-1.14.2.tar.gz tar zxf nginx-1.14.2.tar.gz configure 是一个shell脚本,执行它的作用,生成MAKEFILE useradd -s /sbin/nologin -M www 创建一个用户 ./configure --prefix=/usr/local/nginx-1.14.2 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module make && make install ln -s /usr/local/nginx-1.14.2/ /usr/local/nginx 创建软连接 /usr/local/nginx/sbin/nginx -t 验证配置文件是否正确[很重要,养成习惯] /usr/local/nginx/sbin/nginx location /nginx-status { stub_status on; access_log off; allow 172.18.20.0/24; deny all; } /usr/local/nginx/sbin/nginx -s reload
....