cpu:lscpu、uptime、top、vmstat
内存:free (-h)
磁盘:df -h
网络监控:端口、url、网络流入流出速率、网络入流量、出流量等
iftop:监控主机间流量 -i 指定网卡
nethogs:监控进程流量
服务监控:apache、nginx、tomcat、TCP连接数等
性能监控:网站性能、服务器性能、数据库性能、存储性能等
日志监控:系统日志、应用程序的访问日志和错误日志、服务的运行日志等(用ELK)
安全监控:用户登录数、password文件变化、本地文件改动等
常见监控系统
zabbbix,nagios,cacti,open-falcon等
zabbbix,nagios,cacti需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,它注重服务或者监控项的状态;zabbix通过从被监控主机收集数据,从而提供实时监控、异常报警、自动发现、映射和可扩展功能;open-falcon由小米开发的互联网企业级监控产品,用的是golang和python语言。
Zabbix
zabbix是一个非常强大的监控系统,对于一般的小型公司,zabbix自带的监控项(item)足够满足需求,通过简单的配置就可以搭建起一套功能完善的监控系统。对于中大型公司,zabbix可以自定义监控项,自动生成报表,有API和其他系统集成数据库中也有开放的数据可供分析。
Zabbix 主要有两部分构成:zabbix-server、zabbix-agent。一般在被监控的服务器上安装zabbix-agent,zabbix-server会和zabbix-agent进行通讯,获取监控数据,这是zabbix监控的一般模式。zabbix-proxy用来管理其他的agent,作为代理
在客户端如 UNIX, Windows 中安装 Zabbix Agent 之后,可监视 CPU Load、网络使用状况、硬盘容量等各种状态。而就算没有安装 Agent 在监视对象中,Zabbix 也可以经由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 对目标进行监视。
zabbix特点:
1、zabbix支持任何自定义的监控脚本
2、zabbix有模板的功能,可以将一组监控项进行统一操作,这样能够方便快捷的将监控加入到服务器上
3、zabbix的每一个监控项都可以看到其历史,有友好的web界面,实现了数据的可视化
4、zabbix有完善的触发机制,可以做到多个监控项之间的关联报警
5、zabbix的报警方式也可以自定义,可以发邮件、发短信等。报警内容也可以自定义,在报警邮件中加入一些简单的分析,避免了运维人员再次用命令获取
6、zabbix支持RestAPI,几乎所有的操作都可以通过API实现,
7、zabbix的监控数据就在zabbix数据库中,并且数据是开放的,可以方便的进行分析
zabbix监控范畴:
硬件监控 :Zabbix IPMI Interface
系统监控 :Zabbix Agent Interface
Java 监控:Zabbix JMX Interface
网络设备监抟:Zabbix SNMP Interface
应用服务监控:Zabbix Agent UserParameter
MySQL 数据库监控:percona-monitoring-pldlgins
URL监控:Zabbix Web监控
安装zabbix
前期准备:
一台服务端,一台客户端,都用桥接模式,最好手动配置IP地址,客户端的hostname改为本机IP
1、安装zabbix-server
rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
yum install -y zabbix-server zabbix-get mariadb-server
rpm -ql zabbix-server-mysql
2、配置数据库
cp /usr/share/doc/zabbix-server-mysql-3.4.14/create.sql.gz /root/Desktop/
gunzip /root/Desktop/create.sql.gz
systemctl enable mariadb.service
systemctl start mariadb.service
mysql -uroot -p #进入数据库
create database zabbix charset ‘utf8’; #创建zabbix数据库,库名为zabbix
grant all on zabbix.* to zabbix@‘localhost’ identified by ‘123456’; #给予zabbix库中所有表权限,以zabbix为用户名,登录密码为123456
flush privileges;
mysql -uroot -p zabbix < /root/Desktop/create.sql
3、配置zabbix-server
yum install -y zabbix-web zabbix-web-mysql httpd php php-mysql php-mbstring php-gd php-bcmath php-ldap php-xml
vim /etc/zabbix/zabbix-server.conf
ListenPort=10051 侦听端口
SourceIP=本机IP 服务端接口IP
LogType=file 日志记录方式
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=50 日志滚动阈值,单位为M
DBHost=localhost zabbix使用的数据库IP,本次使用mariadb与zabbix在同一host,所以就用localhost
DBName=zabbix zabbix数据存放的库名
DBUser=zabbix 访问数据库的用户名
DBPassword=123456 访问数据库的密码
DBPort=3306 数据库侦听端口号
DBSocket=/var/lib/mysql/mysql.sock DB与zabbix在同一host时,数据库本地套接字的文件位置
vim /etc/httpd/conf.d/zabbix.conf 设置时区
20行, php_value date.timezone Asia/Shanghai
systemctl ebable zabbix-server
systemctl start zabbix-server
systemctl start httpd
systemcrl enable httpd