自动化运维监控体系
监控对象|监控范围|监控工具
监控对象
1 监控对象的理解:CPU是怎么工作的--原理
2 监控对象的指标:CPU使用率 CPU负载 CPU个数 上下文切换
3 确定性能基准线:怎么样才算故障?CPU负载多少才算高?
监控范围
硬件监控|系统监控|服务监控|业务监控
1.硬件监控
IPMI和机房巡检
运程控制卡: DELL服务器:IDRAC HP服务器:ILO IBM服务器:IMM Linux可以使用IPMI BMC控制器: 1.硬件支持 2.操作系统支持 3.管理工具 ipmitool 安装:yum install -y OpenIPMI ipmitool 启动:systemctl start ipmi 查看帮助:impitool help 使用方式:1.本地操作 2.远程操作(IP地址 用户名和密码)
2 路由器和交换机:SNMP 监控
[root@linux-node1 ~]# yum install -y net-snmp net-snmp-utils [root@linux-node1 snmp]# cat snmpd.conf rocommunity anzhihe 192.168.56.11 [root@linux-node1 snmp]# systemctl start snmpd.service [root@linux-node1 snmp]# snmpget -v2c -c anzhihe 192.168.56.11 1.3.6.1.2.1.1.3.0 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (4429) 0:00:44.29 [root@linux-node1 snmp]# snmpwalk -v2c -c anzhihe 192.168.56.11 1.3.6.1.4.1.2021.10.1.3 UCD-SNMP-MIB::laLoad.1 = STRING: 0.00 UCD-SNMP-MIB::laLoad.2 = STRING: 0.01 UCD-SNMP-MIB::laLoad.3 = STRING: 0.05 [root@linux-node1 snmp]# uptime 20:16:57 up 23 min, 2 users, load average: 0.00, 0.01, 0.05
2.系统监控
CPU
1.上下文切换 CPU调度器实施的进程的切换过程,上下文切换 2.运行队列(负载) 参考值 3.使用率 确定服务类型: IO密集型 数据库 CPU密集型 web mail 确定性能基准线 运行队列:1-3线程 1CPU 4核 负载不超过12 CPU使用:65%-70% 用户态利用率 30%-35% 内核态利用率 0%-5% 空闲 上下文切换:根据业务,历史经验来看 监控工具:top P CPU使用率排序 M 内存使用率排序 检查命令:top wmstat mpstat [root@linux-node1 snmp]# yum install -y sysstat
内存
页 4KB(X86) 1.寻址 2空间 检查命令:free vmstat
IO(硬盘、网络)
1.硬盘 IOPS IO'S Per Second 顺序IO 随机IO 检查命令:iotop iostat dd if=/dev/zero of=/tmp/1.file bs=1M count=1000 2.网络 检查命令:iftop 测试网站:[奇云测](http://ce.cloud.360.cn/) IBM nmon(测试用) [root@linux-node1 ~]# ./nmon16e_x86_rhel72 -c 10 -s 10 -f -m /tmp [root@linux-node1 tmp]# sz linux-node1_160605_0026.nmon
3.服务监控
范围:Web服务器 数据库 中间件等 举例:Nginx yum install -y gcc glibc gcc-c++ pcre-devel openssl-devel #安装nginx依赖软件包 [root@linux-node1 ~]# cd /usr/local/src [root@linux-node1 src]# wget http://nginx.org/download/nginx-1.10.1.tar.gz tar zxf nginx-1.10.1.tar.gz #解压软件 useradd -s /sbin/nologin -M www #添加nginx使用用户 ./configure --prefix=/usr/local/nginx-1.10.1 \ #编译安装 --user=www --group=www \ --with-http_ssl_module \ --with-http_stub_status_module make && make install ln -s /usr/local/nginx-1.10.1/ /usr/local/nginx #创建软链接 #nginx添加监控配置 location /nginx-status { stub_status on; access_log off; allow 192.168.56.0/24; deny all; } [root@linux-node1 ~]# /usr/local/nginx/sbin/nginx -t #检查配置 nginx: the configuration file /usr/local/nginx-1.10.1/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx-1.10.1/conf/nginx.conf test is successful [root@linux-node1 ~]# /usr/local/nginx/sbin/nginx #启动nginx
4.业务监控
监控工具
功能:(收集==>存储==>展示==>告警)
Nagios+Cacti
Gangla
Zabbix:IPMI SNMP JVM Server-Agent
zabbix-server mariadb数据库 web界面 {$SNMP_COMMUNITY} 自定义监控项 1.添加用户自定义参数 [root@linux-node1 zabbix_agentd.d]# cat /etc/zabbix/zabbix_agentd.d/nginx.conf UserParameter=nginx.active,/usr/bin/curl -s "http://192.168.56.11:8080/nginx-status" | grep 'Active' | awk '{print $NF}' 2.重启zabbix-agent systemctl restart zabbix-agent 3.在server端使用zabbix-get测试获取 [root@linux-node1 zabbix_agentd.d]# zabbix_get -s 192.168.56.11 -p 10050 -k "nginx.active" 4.在web界面创建item ab -c 1000 -n 10000 http://192.168.56.11:8080/nginx-status #压力测试 5.自定义图形 6.自定义screen 7.自定义map
作业: 1.网络监控Smokeping部署 2.熟悉Zabbix 3.Piwik流量分析系统
参考:
http://www.ibm.com/developerworks/cn/linux/l-cn-snmp/index.html
http://linux.chinaunix.net/techdoc/net/2008/08/21/1026818.shtml
http://mp.weixin.qq.com/s?__biz=MjM5ODI5Njc2MA==&mid=2655807248&idx=1&sn=eebbf2f2ad14a0573f5b09792017f2ea&scene=23&srcid=0507aCbp5SqhnkddJNEtOOO5#rd