监控概述
监控的目的
报告系统运行状况
- 每一部分必须同时监控
- 内容包括吞吐量,反应时间,使用率等
提前发现问题
- 进行服务器性能调整前,知道调整什么
- 找出系统的瓶颈在什么地方
监控的资源类别
公开数据
- web,FTP,SSH,数据库等应用服务
- TCP或者UDP端口
私有数据
- CPU,内存,磁盘,网卡流量等使用信息
- 用户,进程等运行信息
监控软件
监控系统命令
ps
,ifconfig
,uptime
,netstat
或者ss
,free
,ping
,swapon -s
,traceroute
,df -h
,iostat
自动化监控系统
- Cacti
基于SNMP协议的监控软件,强大的绘图能力 - Nagios
基于Agent监控,强大的状态检查与报警机制
插件极多,自己写监控脚本到Nagios非常方便 - Zabbix
基于多种监控机制,支持分布式监控
常用的系统监控命令
使用系统命令查看系统性能参数
- 查看内存信息
- 查看交换分区信息
- 查看磁盘信息
- 查看CPU信息
- 查看网卡信息
- 查看端口信息
- 查看网络连接信息
Zabbix基础
基本概念
Zabbix简介
- Zabbix是一个高度集成的监控解决方案
- 可以实现企业级的开源分布式监控
- Zabbix通过C/S模式采集监控数据
- Zabbix通过B/S模式实现Web管理
Zabbix监控拓扑
控服务器
- 监控服务器可以通过SNMP或者Agent采集数据
- 数据可以写入MySQL,Oracle等数据库中
- 服务器使用LNMP实现web前端的管理
被监控主机
- 被监控主机需要安装Agent
- 常见的网络设备一般支持SNMP
部署Zabbix
准备三台虚拟机192.168.2.5,192.168.2.100,192.168.2.200
一,部署LNMP
(1) 安装nginx
[root@zabbixserver lnmp_soft]# cd nginx-1.12.2/
[root@zabbixserver nginx-1.12.2]# yum -y install gcc pcre-devel openssl-devel
[root@zabbixserver nginx-1.12.2]# useradd nginx
[root@zabbixserver nginx-1.12.2]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_ssl_module
[root@zabbixserver nginx-1.12.2]# make && make install
(2)安装php,mariadb
[root@zabbixserver ~]# yum -y install php php-mysql mariadb mariadb-server mariadb-devel
[root@zabbixserver lnmp_soft]# yum -y localinstall php-fpm-5.4.16-42.el7.x86_64.rpm
[root@zabbixserver ~]# yum -y install php-fpm
(3)修改配置文件
root@zabbixserver ~]# vim /usr/local/nginx/conf/nginx.conf
… …
http{
… …
fastcgi_buffers 8 16k; //缓存php生成的页面内容,8个16k
fastcgi_buffer_size 32k; //缓存php生产的头部信息
fastcgi_connect_timeout 300; //连接PHP的超时时间
fastcgi_send_timeout 300; //发送请求的超时时间
fastcgi_read_timeout 300; //读取请求的超时时间
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include