硬件监控
1,简单是机房巡检
2,远程控制卡:deLL: IDRAC hp : ILO 远程管理口 作用:操作系统安装,硬盘的安装,远程管理
3,ipmi是一种标准,用ipmitool来监控温度,电压,缺点:获取不到硬盘(可以megaCli,可以自动作RAID)的状态
a. 服务器的支持,有DMZ的部件
b. 操作系统的支持
c. 工具ipmitool
[root@centos67 ~]# yum install OpenIPMIipmitool -y [root@centos67 ~]# /etc/init.d/ipmi start ###虚拟机不行 sensor Print detailedsensor information ====》打印传感觉器 [root@linux-node1 ~]# lsmod |grep ipmi
系统监控
CPU调度器:可以临时分配一个进程在CPU上进行,有效的分配时间片,会根据CPU的优先集来分配,重要分配时间多些,可以让利用率最大化
上下文切换:CPU同一时间刻只能有一个进程在运行,微观的角度,因为有时间片,调度器也要在多个进程之间调度,这个过程叫作上下文切换
CPU使用率:
如果一个CPU被充分利用,利用率分类之间均衡的比例应该是
user time:一个普通程序运行默认就会在用户time,作系统调用时就会运行在内核time,比如说open一个文件就是作系统调用,这样做是为了隔离(安全性),普通进程是无法对硬件做任何操作,你要做什么都要从用户time切换到内核time来操作
65%-70%user time (普通用户跑)
30%-35 % system time (有调度)
0-5% idle time
相关命令
lscpu [root@linux-node1 ~]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 1 给每个进程分配时间片,运行完,可能有抢占 On-line CPU(s) list: 0 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 42 Stepping: 7 CPU MHz: 2394.629 BogoMIPS: 4789.25 Hypervisor vendor: VMware Virtualization type: full L1d cache: 32K 一级缓存,数据 L1i cache: 32K 指定 L2 cache: 256K 二级 L3 cache: 3072K 三级 NUMA node0 CPU(s): 0
uptime
[root@linux-node1 ~]# uptime 05:14:52 up 2 days, 11:26, 3 users, load average: 0.02, 0.02, 0.00
1分钟,5分钟,10分钟平均负载,一般通过负载来判断系统的运行状态,负载一般情况下CPU的队列,小于等于3是合适的,如果用两个核,负载小于等于6是合适的。因为如果服务特别重要,要保证负载在1不行要加CPU,因为偶尔有个波动超过6就可能造成卡,就会有影响
top
[root@linux-node3 ~]# top top - 21:41:06 up 8 min, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 70 total, 1 running, 69 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, Mem: 1016296k total, 101832kused, 914464k free, 10872k buffer Swap: 1048572k total, 0kused, 1048572k free, 35576k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2493 root 20 0 15000 1252 984 R 0.3 0.1 0:00.01 top 1 root 20 0 19232 1516 1224 S 0.0 0.1 0:01.68 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/ 4 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/
vmstat
[root@linux-node3 ~]# vmstat 1 procs -----------memory-------------swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 914480 10888 35596 0 0 95 8 38 52 0 1 96 2 0 0 0 0 914464 10888 35596 0 0 0 0 20 14 0 2 98 0 0 0 0 0 914464 10888 35596 0 0 0 0 12 12 0 0 100 0 0
mpstat
[root@linux-node3 ~]#mpstat 1 Linux 2.6.32-573.el6.x86_64(linux-node3.example.com) 2015年11月04日 _x86_64_ (1 CPU) 21时41分58秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 21时41分59秒 all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 21时42分00秒 all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
free
[root@linux-node3 ~]# free -m total used free shared buffers cached Mem: 992 99 893 0 10 34 -/+ buffers/cache: 53 938 Swap: 1023 0 1023
业务监控
业务指标(如果有一台机器down的,业务没问题,就没事)
优先级先定在业务
业务指标(流量分析---舆论监控)
流量分析
(做视频,B2C,社区的,媒体的一定有,因为最简单来讲,百度搜索过去404,因为nginx它根据source来判断,source用流量来监控的话就可以监控到,从百度来源的用户有多少个,转换率比如说下单的有多少个,又如全国各地有多少用户访问都是通过流量来做分析)===》
舆论监控
SEO 搜索引擎优化,每个搜索引擎都有自己的规则,
PR值 :做一个谷歌排名的一处算法 0-10
PV;页面浏览量 ====》一个PV就一个请求,最简单的性能优化就是减少http的请求数,能合并的就要它合并如几个CSS让它写一块,性能就高,可以衡量一个人的技术水平,架构的不同,手机端的最多,
IP :独立的IP数,一个IP可以产生多个PV,如网吧的,如做流量分析,可以在前端嵌入js判断你是不是独立的IP来访问
流量分析
最早用谷歌统计的比较多,现在用的百度统计比较多,退出中国了
http://tongji.baidu.com/web/welcome/login 最简单就是在前端加个js,能让你自己你的主站在那里做了推广
开源:PIWIK====>流量分析工具,在特别小的地方加入它
做一个开源谷歌统计,之前电商都用它,因为不想把流量放到百度之类的做统计,不***全
提供一个可定制性,可架构性,可开发性的工能,由Php+Mysql实现的
网络监控
监控三宝:可以让他们出一个全方位的报告,
基调,站长工具。
http://ping.chinaz.com/ =è查看DNS
smokeping===perl
支持分布式:可以ping 全国各地,要注意它的基本认证,交叉的Ping,这样可以反映它的网络状态
相关网络命令:
ethtool
[root@Web-A1 ~]# ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on MDI-X: off (auto) Supports Wake-on: d Wake-on: d Current message level: 0x00000007 (7) drv probe link Link detected: yes
看不同机器之间流量的大小,看到IP的连接
iftop --->如果zabbix只能看到流量异常的图,就可以具体用它来查-n 可以把域名解析去掉
IP address is: 192.168.30.129 MAC address is:00:0c:29:ffffffd4:ffffff8f:ffffffd2 12.5Kb 25.0Kb 37.5Kb 50.0Kb 62.5Kb àáááá 这里IP的连接,可能有问题没显示 TX: cum: 0B peak: 0b rates: 0b 0b 0b RX: 0B 0b 0b 0b 0b TOTAL: 0B 0b 0b 0b 0b
应用监控
zabbix能够监控就要开启它的状态
apache模块的使用―编译―加载---写相关的配置
状态监控:
httpd.conf ===》源码安装直接打开:Include conf/extra/httpd-info.conf
版本不对可以以下操作:
[root@Web-A1 ~]# cd /application/apache/conf/[root@Web-A1 conf]# vim httpd.conf 加上以下这段 <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 172.16.1.1 ##可以接允许访问的IP </Location> Extendedstatus On ###可以打扩展打开,可以把每个请求都显示,但是生产不用,会浪费性能 <Location /server-info> SetHandler server-info Order deny,allow Deny from all Allow from 172.16.1.1 ##可以接允许访问的IP </Location> 不允许会有报错 [root@Web-A1 conf]# tail /app/logs/www_error_20151001.log [Thu Oct 01 21:39:21 2015] [error] [client 172.16.1.1] client denied by server configuration: /var/html/www/server-status [root@Web-A1 conf]# /application/apache/bin/apachectl graceful
测试:
yum installhttpd-tools [root@Web-A1 conf]# ab -c100 -n1000 This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 172.16.1.4 (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: Apache/2.2.29 Server Hostname: 172.16.1.4 Server Port: 80 Document Path: / Document Length: 14684 bytes Concurrency Level: 100 Time taken for tests: 45.822 seconds Complete requests: 1000F ailed requests: 0 Write errors: 0 Total transferred: 14968000 bytes HTML transferred: 14684000 bytes Requests per second: 21.82 [#/sec] (mean) Time per request: 4582.174 [ms] (mean) Time per request: 45.822 [ms] (mean, across all concurrent requests)Transfer rate: 319.00 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 5 14.7 0 103 Processing: 249 4469 4012.0 3735 29631 Waiting: 146 4387 3996.1 3654 29548T otal: 249 4474 4011.1 3736 29632 Percentage of the requests served within a certain time (ms) 50% 3736 66% 4165 75% 4580 80% 4851 90% 5390 95% 6114 98% 28330 99% 28710 100% 29632 (longest request)
memcache
用zabbix去监牢memcache就要用nc
yum install memcached -y [root@Web-A2 conf]# /etc/init.d/memcached startStarting memcached: [ OK ] [root@Web-A2 conf]# ps -ef|grep 11211 498 808 1 0 23:44 ? 00:00:00 memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pidroot 816 592 0 23:44 pts/1 00:00:00 grep --color=auto 11211 [root@Web-A2 conf]# telnet 172.16.1.5 11211 Trying 172.16.1.5...Connected to 172.16.1.5.statsSTAT pid 808STAT uptime 59 STATcurr_connections 10 ###主要监控当前的连接数和状态
redis
redisdoc.com [root@Web-A2 conf]# yum install redis-y [root@Web-A2 conf]# /etc/init.d/redis start [root@Web-A2 conf]# redis-cli info ##监控状态,主从,连接数 used_memory:726128 total_commands_processed: