一 Zabbix监控
监控目的
报告系统运行情况
每一部分必须同时监控
内容包括吞吐量\反应时间\使用率等
提前发现问题
进行服务器性能调整前,知道调整什么
找出系统的瓶颈在什么地方
类别
公开数据
web,ftp,ssh数据库等应用服务
私有数据(本地数据)
CPU,内存,磁盘,网卡流量等使用信息
用户,进程等运行信息
硬件监控 | 1.通过远程控制卡:dell的iDRAC,HP的ILO和IBM的IMM等 2.使用IPMI来完成物理设备的监控工作,通常必须要监控的就是温度,硬盘故障等 3.路由器,交换机(端口、光衰,日志),打印机,winds等 |
系统监控 | cpu,内存,硬盘使用率,硬盘io,系统负载,进程数 |
服务监控 | Apache,nginx,php-fpm,mysql,memcache,redis,tomcat,JVM,停车票连接数 |
性能监控 | 网站性能,服务器性能,数据库性能,存储性能 |
日志性能 | 系统会产生系统日志,应用程序会有应用的访问日志、错误日志、服务有运行日志等,可以使用elk来进行日志监控 |
安全监控 | 1.nginx+lua编写了一个WAF通过kibana可以图形化的展示不同的攻击类型的统计 2.用户登录数,password文件变化,本地所有文件改动 |
网络监控 | 端口,web(URL)。DB,ping包,IDC带宽网络流量,网络流出速率,网络入流量,网络出流量,网络使用率,SMTP,POP3 |
用监控软件搭建监控服务
主流软件:
Cacti(仙人掌):绘图能力,基于SNMP协议(要支持才能使用)简单网络协议(没有报警功能)
Nagios:基于Agent监控(被监视的要有Agent代理服务),插件多,状态检查报警机制,或自己写监控脚本放nagios使用(没有绘图功能)
Zabbix:支持分布式监控
手动监控:
traceroute www.baidu.com #查看
iostat #查看硬盘读写状态
ps #查看进程信息
uptime #查看CPU信息
free #查看内存信息
swapon -s #查看交换分区
df -h #查看磁盘信息
ifconfig #查看网卡信息
netstat或ss #查看端口进程
ping #查看是否能ping通
zabbix介绍
开源分布式监控
客户端C/S服务器模式采集监控数据
浏览器B/S服务器模式实现web管理
监控服务器可以通过SNMP或Agent采集数据
数据可以写入Mysql,Oracle等数据库中
服务器使用LNMP实现WEB前端的管理
被监控主机需装Agent,常见网络设备一般都支持SNMP
安装方式:
编译安装(服务较多,环境复杂)
yum安装(干净环境)
注:官网有安装文档
部署LNMP运行环境
[192.168.2.5]
防火墙和selinux已关闭
yum -y install gcc pcre-devel zlib-devel openssl-devel
tar -xf nginx-1.12.2.tar.gz
cd nginx-1.12.2/
./configure --with-http_ssl_module
make && make install
ls /usr/local/nginx/
yum -y install mariadb-server(服务) mariadb-devel() mariadb(管理命令)
yum -y install php php-mysql php-fpm
修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
http {
include mime.types;
default_type application/octet-stream;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
...location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
启服务
/usr/local/nginx/sbin/nginx
systemctl start mariadb
systemctl start php-fpm
netstat -nutlp | grep 9000/3306/80 #查看是否有端口
vim /usr/local/nginx/html/test.php
<?php
$i=33;
echo $i;
?>
curl localhost/test.php
部署Zabbix
yum -y install net-snmp-devel curl-devel libevent-devel
tar -xf zabbix-3.4.4.tar.gz
cd zabbix-3.4.4
root@localhost zabbix-3.4.4]# ./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
[root@localhost zabbix-3.4.4]# make install #会直接提示Now run 'make install'
ls /usr/local/bi