0、监控概述
监控 《架构师必备之运维监控》赵班长 概述:(四海八荒都要会的) 初级(凡人) 1.识别监控对象 (分级) 2.理解监控对象 (理论知识-马步) 3.细分监控对象的指标 4.确定告警的基准线 预中级(费县)(预生产) 1.工具化和监控分离 2.监控对象的分类 2.1 硬件监控 (方法:机房巡检、IPMI、SNMP) 2.2 系统监控 (对象:CPU、内存、IO【磁盘、网络】) 2.3 服务监控 (对象:各类服务[Nginx|Tomcat|RabbitMQ|OpenStack|MySQL|*]) 2.4 日志监控 (方法:Elastic Stack) 2.5 网络监控 (方法:第三方、Smokeping) 2.6 APM应用性能管理: (工具:PINPoint) 听云 监控宝 PINPoint https://github.com/naver/pinpoint 2.7 流量监控 (工具:Piwik、XX统计、XX分析) 2.8 其他监控 (APP监控、安全监控、业务监控、舆论监控、XX监控等等) 3.掌握一个监控工具。例如zabbix 中级(渡劫)(不要轻易说自己是高级) 0.标准化监控 (标准化的脚本、模板、....) 1.分布式监控 (主动,被动,分布式) 2.自动化监控 (自动发现,主动注册(Agent主动注册,Server主动添加(API))、) 3.性能优化 (数据采集、数据存储、数据查询) 4.二次开发 (定制报表、API调用、XXX) 进阶(上身)(从精通到放弃): (某一领域,已经达到专业) 1.动态告警 (方差,标准差) 2.智能告警:1.告警去重 2.依赖 3.故障自愈 (两种体系:事件驱动、主动控制) 4.大规模
1、硬件监控
1.机房巡检 2.通过网络来巡检
(四种手册) DELL iDRAC HP ILO IBM IMM IPMI 一种标准
--------------
SNMP 简单网络管理协议
1.IPMI
https://www.ibm.com/developerworks/cn/linux/l-ipmi/
IPMI是一种标准
本文选择的是 Linux 下的命令行方式的 ipmi 平台管理工具ipmitool。
[root@linux-node1 ~]# yum install OpenIPMI ipmitool [root@linux-node1 ~]# ipmitool -I open sensor get "Processor 1 Temp" Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory //需要载入支持 ipmi 功能的系统模块
2.SNMP
简单网络管理协议
https://blog.csdn.net/shanzhizi/article/details/11606767
Snmp的好处。不用装agent
数据采集
(1)安装配置
// 安装
[root@linux-node1 ~]# yum install net-snmp-utils -y
[root@linux-node1 ~]# yum install -y net-snmp net-snmp-libs // 配置文件 [root@linux-node1 ~]# vim /etc/snmp/snmpd.conf
[root@linux-node1 ~]# vim /etc/snmp/snmpd.conf //团体名称 # First, map the community name "public" into a "security name" # sec.name source community # com2sec notConfigUser default public com2sec admin default admin ///Group # Second, map the security name into a group name: # groupName securityModel securityName # group notConfigGroup v1 notConfigUser group admin v2c admin //Admin的权限 # Third, create a view for us to let the group have rights to: # Make at least snmpwalk -v 1 localhost -c public system fast again. # name incl/excl subtree mask(optional) # view systemview included .1.3.6.1.2.1.1 # view systemview included .1.3.6.1.2.1.25.1.1 view admin included .1 80 //权限控制 # Finally, grant the group read-only access to the systemview view. # group context sec.model sec.level prefix read write notif # access notConfigGroup "" any noauth exact systemview none none access admin "" any noauth exact admin admin none [root@linux-node1 ~]# systemctl restart snmpd [root@linux-node1 ~]# netstat -nulp
// 结果 [root@linux-node1 ~]# netstat -nulp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 0.0.0.0:68 0.0.0.0:* 11022/dhclient udp 0 0 0.0.0.0:161 0.0.0.0:* 59972/snmpd udp 0 0 127.0.0.1:323 0.0.0.0:* 3297/chronyd udp6 0 0 ::1:323 :::* 3297/chronyd
(2)Snmpget
https://blog.csdn.net/apple_llb/article/details/50494787
1分钟的负载
[root@linux-node1 ~]# snmpget -v2c -c admin 192.168.194.131 .1.3.6.1.4.1.2021.10.1.3.1 UCD-SNMP-MIB::laLoad.1 = STRING: 0.32
cpu
[root@linux-node1 ~]# snmpget -v2c -c admin 192.168.194.131 .1.3.6.1.4.1.2021.11.9.0 UCD-SNMP-MIB::ssCpuUser.0 = INTEGER: 0
内存使用
[root@linux-node1 ~]# snmpget -v2c -c admin 192.168.194.131 .1.3.6.1.4.1.2021.4.3.0 UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 2097148 kB
2、系统监控
1、cpu
1、进程
http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html
https://www.liaoxuefeng.com/wiki/1016959663602400/1017627212385376
每一个进程,至少有一个线程。
每个进程至少有1个线程
2、用户态与内核态
上下文切换
https://blog.csdn.net/simongeek/article/details/78195058
3、负载,任务队列
负载:单位时间内运行队列中就绪等待的进程数平均值
https://blog.csdn.net/zwldx/article/details/82812704
4、监控命令
https://www.cnblogs.com/zafu/p/7921942.html
[root@linux-node1 ~]# top M 按内存排序 P 按cpu排序 1 显示所有cpu
sysstat 很多监控命令
vmstat—报告虚拟内存统计数据 [root@linux-node1 ~]# vmstat 1 10 mpstat—报告虚拟CPU统计数据 [root@linux-node1 ~]# mpstat 1 10 lscpu-查看cpu信息 [root@linux-node1 ~]# lscpu 查看负载 [root@linux-node1 ~]# uptime 01:43:25 up 1 day, 1:02, 2 users, load average: 0.00, 0.02, 0.05 [root@linux-node1 ~]# cat /proc/loadavg 0.00 0.02 0.05 1/369 106024
2、内存
虚拟内存,SWAP,物理内存
[root@linux-node1 ~]# cat /proc/meminfo [root@linux-node1 ~]# free -m [root@linux-node1 ~]# cat /proc/sys/vm/swappiness [root@linux-node1 ~]# vmstat 1
3、io
[root@linux-node1 ~]# iotop
3、网络监控
1、流量监控工具
[root@linux-node1 ~]# yum install iftop -y [root@linux-node1 ~]# iftop -i ens33 -F 192.168.194.132 [root@linux-node1 ~]# iftop -P
2、每个进程的网络流量
[root@linux-node1 ~]# nethogs
3、tcp状况
[root@linux-node1 ~]# netstat
[root@linux-node1 ~]# netstat -nlp
4、nmon监控 单机版的, 实时报表,压力测试
http://nmon.sourceforge.net/pmwiki.php
5、ping测试
http://ping.chinaz.com/www.unixhot.com
6、SmokePing网络监控
https://oss.oetiker.ch/smokeping/doc/index.en.html
4、作业
作业 1.理解zabbix默认linux模板所有item的意思 2.部署smokping