監控 《架構師必備之運維監控》趙班長 概述:(四海八荒都要會的) 初級(凡人) 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.機房巡檢 2.經過網絡來巡檢
(四種手冊) DELL iDRAC HP ILO IBM IMM IPMI 一種標準
--------------
SNMP 簡單網絡管理協議
https://www.ibm.com/developerworks/cn/linux/l-ipmi/php
IPMI是一種標準html
本文選擇的是 Linux 下的命令行方式的 ipmi 平臺管理工具ipmitool。node
[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 功能的系統模塊
簡單網絡管理協議
https://blog.csdn.net/shanzhizi/article/details/11606767linux
Snmp的好處。不用裝agentgit
數據採集github
(1)安裝配置vim
// 安裝
[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
一、進程
http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html
https://www.liaoxuefeng.com/wiki/1016959663602400/1017627212385376
每個進程,至少有一個線程。
每一個進程至少有1個線程
二、用戶態與內核態
上下文切換
https://blog.csdn.net/simongeek/article/details/78195058
三、負載,任務隊列
負載:單位時間內運行隊列中就緒等待的進程數平均值
https://blog.csdn.net/zwldx/article/details/82812704
四、監控命令
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
虛擬內存,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
[root@linux-node1 ~]# iotop
[root@linux-node1 ~]# yum install iftop -y [root@linux-node1 ~]# iftop -i ens33 -F 192.168.194.132 [root@linux-node1 ~]# iftop -P
[root@linux-node1 ~]# nethogs
[root@linux-node1 ~]# netstat
[root@linux-node1 ~]# netstat -nlp
http://nmon.sourceforge.net/pmwiki.php
http://ping.chinaz.com/www.unixhot.com
https://oss.oetiker.ch/smokeping/doc/index.en.html
做業 1.理解zabbix默認linux模板全部item的意思 2.部署smokping