1.1 为什么要监控

  在需要的时刻,提前提醒我们服务器出问题了

   当出问题之后,可以找到问题的根源

    网站/服务器 的可用性

1.1.1 网站可用性

  在软件系统的高可靠性(也称为可用性,英文描述为HA,High Available)里有个衡量其可靠性的标准——X个9,这个X是代表数字3~5。X个9表示在软件系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,我们通过下面的计算来感受下X个9在不同级别的可靠性差异。

    1个9:(1-90%)*365=36.5天,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是36.5天
2个9:(1-99%)*365=3.65天 , 表示该软件系统在连续运行1年时间里最多可能的业务中断时间是3.65天
3个9:(1-99.9%)*365*24=8.76小时,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是8.76小时。
4个9:(1-99.99%)*365*24=0.876小时=52.6分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟。
5个9:(1-99.999%)*365*24*60=5.26分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟。
6个9:(1-99.9999%)*365*24*60*60=31秒, 示该软件系统在连续运行1年时间里最多可能的业务中断时间是31秒

1.2 监控什么东西

监控一切需要监控的东西,只要能够想到,能够用命令实现的都能用来监控

1.2.1 监控范畴

1.3 怎么来监控

1.3.1 远程管理服务器

如果想远程管理服务器就有远程管理卡,比如Dell idRAC,HP ILO,IBM IMM

1.3.2 监控硬件

查看硬件的温度/风扇转速,电脑有鲁大师,服务器就有ipmitool。

使用ipmitool实现对服务器的命令行远程管理

yum -y install OpenIPMI ipmitool  #->IPMI在物理机可以成功,虚拟机不行

[root@KVM ~]# ipmitool sdr type Temperature
Temp | 01h | ns | 3.1 | Disabled
Temp | 02h | ns | 3.2 | Disabled
Temp | 05h | ns | 10.1 | Disabled
Temp | 06h | ns | 10.2 | Disabled
Ambient Temp | 0Eh | ok | 7.1 | 22 degrees C
Planar Temp | 0Fh | ns | 7.1 | Disabled
IOH THERMTRIP | 5Dh | ns | 7.1 | Disabled
CPU Temp Interf | 76h | ns | 7.1 | Disabled
Temp | 0Ah | ns | 8.1 | Disabled
Temp | 0Bh | ns | 8.1 | Disabled
Temp | 0Ch | ns | 8.1 | Disabled

1.3.3 查看cpu相关

  lscpu、uptime、top、htop vmstat mpstat

其中htop需要安装,安装依赖与epel源。

[znix@clsn ~]$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: 85
Model name: Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz
Stepping: 4
CPU MHz: 2494.150
BogoMIPS: 4988.30
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 33792K
NUMA node0 CPU(s): 0

1.3.4 内存够不够可以用

  free

[znix@clsn ~]$free -h
total used free shared buffers cached
Mem: 996M 867M 128M 712K 145M 450M
-/+ buffers/cache: 271M 725M
Swap: 1.0G 0B 1.0G

1.3.5 磁盘剩多少写的快不快可以用

  df、dd、iotop

[znix@clsn ~]$df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 24G 15G 62% /
tmpfs 499M 20K 499M 1% /dev/shm
/dev/vdb1 20G 4.4G 15G 24% /data

1.3.6 监控网络

  iftop nethogs

iftop   监控主机间流量  -i 指定监控网卡
nethogs 监控进程流量

1.4 监控工具总览

  mrtg 流量监控出图

  nagios 监控

  cacti  流量监控出图

  zabbix 监控+出图

1.5 zabbix介绍

  Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。

  使用各种 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 储存资料。Server 端基于 C语言、Web 管理端 frontend 则是基于 PHP 所制作的。Zabbix 可以使用多种方式监视。可以只使用 Simple Check 不需要安装 Client 端,亦可基于 SMTP 或 HTTP ... 各种协定做死活监视。

  在客户端如 UNIX, Windows 中安装 Zabbix Agent 之后,可监视 CPU Load、网络使用状况、硬盘容量等各种状态。而就算没有安装 Agent 在监视对象中,Zabbix 也可以经由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 对目标进行监视。

另外,Zabbix 包含 XMPP 等各种 Item 警示功能。

1.5.1 zabbix的组成

zabbix官网: https://www.zabbix.com

zabbix 主要由2部分构成 zabbix server和 zabbix agent

zabbix proxy是用来管理其他的agent,作为代理

1.5.2 zabbix监控范畴

  ²  硬件监控 :Zabbix IPMI Interface

  ²  系统监控 :Zabbix Agent Interface

  ²  Java 监控:ZabbixJMX Interface

  ²  网络设备监抟:Zabbix SNMP Interface

  ²  应用服务监控:Zabbix Agent UserParameter

  ²  MySQL 数据库监控:percona-monitoring-pldlgins

  ²  URL监控:Zabbix Web监控

最新文章

  1. java太low,又舍不得jvm平台的丰富资源?试试kotlin吧(一)
  2. 自助式BI为何能取代传统BI,逐渐占据商业智能市场?
  3. PhpStorm 2016.3 For Mac 重大里程碑更新 -- 终于解决了不能输入中文标点符号的重大bug
  4. VI 命令 gg 跳到第一行,dG 删除后面的所有内容
  5. 套用GGTalk做项目的经验总结——GGTalk源码详解系列(一)
  6. 用ajax和js怎么做出滚动条滚到最下面分页
  7. matlab中各种高斯相关函数
  8. Redis菜鸟汇总
  9. 解决jsp下载文件,迅雷下载路径不显示文件名称的问题
  10. AutoReleasePool 和 ARC 以及Garbage Collection
  11. android 关于Location of the Android SDK has not been setup in the preferences的解决方法
  12. HDU 3951 (博弈) Coin Game
  13. 关于DotNetBar中DataGridViewX 自动全屏 Anchor属性无效问题
  14. mac 修改xcode的版本
  15. 设置MyEclipse的右击新建后面的选项
  16. BZOJ 1036 [ZJOI2008]树的统计Count(动态树)
  17. Azure File SMB3.0文件共享服务(2)
  18. cmder修改默认打开路径
  19. Hadoop(五)搭建Hadoop与Java访问HDFS集群
  20. N-Queens(N皇后问题)

热门文章

  1. Mybatis一(基础)
  2. day43 数据库学习egon的博客 视图、触发器、事务、存储过程、函数
  3. GraphQL Gateway Architectures
  4. Singer 学习五 docker 运行说明
  5. vorpal 又一个方便的cli 开发包
  6. 13机器学习实战之PCA(1)
  7. 用Promise对象实现的 Ajax 操作
  8. Jmeter的NON-GUI模式
  9. e生保plus
  10. webpack 的 入口(Entry)、输出(Output)