1 监控概述

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
View Code
// 结果
[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

 

 

 

原文地址:https://www.cnblogs.com/venicid/p/11329650.html