系统构成:
一个监控系统的组成大体可以分成两部分:数据采集部分(客户端) 和 数据存储分析告警展示部分(服务端),这两部分构成了监控系统的基本模型。
对于一般的监控环境,被监控的节点不多,产生的数据较少,采用C/S架构就足够了,如下图所示,这种架构适合于规模较小、处于同一地域的环境。
对于大规模的监控环境,被监控的节点多,且监控类型多,监控产生的数据和网络连接开销会非常巨大,而且由于跨地域等多种因素,需要分布式的解决方案,常见的方式为C/P/S架构,如下图所示,采用中间代理将大大提高监控服务器端的处理速度,从而能支撑构建大型分布式监控的环境。
是一套可用来绘制网络流量图的软件。MRTG 将收集到的数据通过Web 页面以GIF 或PNG 格式绘制出图像,并以日、周、月为单位分别绘出,可以查询最大值和最小值。
MRTG 原本只能绘出网络设备的流量图,后来发展出了各种插件。因此,网络以外的设备也可由MRTG监控,例如,服务器的硬盘使用量、CPU 的负载等。
一套基于PHP、MySQL、SNMP 和RRDtool开发的网络流量监测图形分析工具。它通过snmpget 来获取数据,使用RRDtool 绘图,但使用者无须了解RRDtool复杂的参数。
它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、主机设备以及任何一张图,还可以与LDAP 结合进行用户认证,同时也能自定义模板,在历史数据的展示监控方面,其功能相当不错。
是一个企业级的监控系统,可监控服务的运行状态和网络信息等,并能监视所指定的本地或远程主机参数以及服务,同时提供异常告警通知功能等。
Nagios 可运行在Linux 和UNIX 平台上,同时提供一个可选的基于浏览器的Web 界面,以方便系统管理人员查看网络状态、各种系统问题,以及日志等。 Nagios 的功能侧重于监控服务的可用性,能及时根据触发条件告警。
是一个跨平台的、可扩展的、高性能的分布式监控系统,如集群和网格。它基于分层设计,使用广泛的技术,用RRDtool 存储数据,具有可视化界面,适合于对集群系统的自动化监控。其精心设计的数据结构和算法使得监控端到被监控端的连接开销非常低。目前已经有成千上万的集群正在使用这个监控系统,可以轻松地处理2000 个节点的集群环境。
是一个分布式监控系统,支持多种采集方式和采集客户端,有专用的Agent(代理),也可以支持SNMP、IPMI、JMX、Telnet、SSH 等多种协议,它将采集到的数据存放到数据库,然后对其进行分析整理,达到条件触发告警。其灵活的扩展性和丰富的功能是其他监控系统所不能比的。相对来说,它的总体功能做得非常优秀,其界面如图1-14 和图1-15 所示
6、国内:小米开发的open-falcon
常见的监控系统性能采集指标:
(1)优点:
开源,无软件成本投入;server对设备性能要求低;支持设备多,自带多种监控模块;支持分布式集中管理,有自动发现功能,可以实现自动化监控;当监控的item比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从;server端去下载需要监控的item然后取数据上传到server端。这种方式对服务器的负载比较小;API的支持,方便与其他系统结合。(2)缺点:
需在被监控主机上安装agent,所以数据都存在数据库里,产生的数据很大,瓶颈主要在数据库。zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据。 server端:通过收集SNMP和agent发送的数据,写入数据库(MySQL,ORACLE等),在通过php+apache在web前端展示。
zabbix运行条件:
Server:zabbix server 需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低;Agent:目前已有的agent基本支持市面常用的OS,包含Linux、HPUX、Solaris、Sun、windowsSNMP:支持各类常见的网络设备SNMP:简单网络管理协议,是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。
Zabbix 服务器运行的环境为Linux(UNIX)+PHP+Web Service+DataBase,这里的Web Service 可以为Nginx、Apache,DataBase 可以为MySQL、Oracle、PostgreSQL 等。
此文zabbix-server版本为4.4.
时间同步:Zabbix-Server 对时间的精准要求比较高,时间对数据的计算等都有影响,因此,最好设置ntp 自动同步时间。
本实验使用操作系统的版本: 显示操作系统的发行版号:uname -r 查看centos版本号:cat /etc/centos-release
关闭防火墙:systemctl disable firewalld
禁用selinux: vi /etc/selinux/config SELINUX=disabled
安装常用软件: yum install vim bash-completion wget tree lrzsz net-tools psmisc ntpdate -y
时间同步: ntpdate cn.pool.ntp.org hwclock -w 同步系统时钟和硬件时钟
查看有关zabbix的yum list
vim /etc/httpd/conf.d/zabbix.conf php_vale date.timezone Asia/Shanghai
zabbix_server 配置文件路径:/etc/zabbix/zabbix_server.conf 修改主要参数即可正常工作 DBName=zabbix(数据库名称) DBUser=zabbix (数据库用户) DBPassword=zabbix (数据库密码)
systemctl enable --now zabbix-server.server httpd.server
查看服务状态
访问192.168.240.131/zabbix.setup.php (zabbix server主机的ip地址) 点击“Next step”
安装条件都具备,点击“Next step”
连接数据库:输入之前创建好的数据库名、用户名、密码,点击“Next step”
填写好zabbix-server信息,点击“Next step”
确认之前的信息无误,点击“Next step”
安装完成点击“Finish”
登录zabbix:此版本的Username应该是“Admin”(版本不同,Username写法不一样),输入完,点击“Sign in”
这zabbix就安装成功了。
安装上图所示,点击“Update”,看到下图 虽然已经转换成立中文,但是“监控”—>“图形”,你会看到乱码现象
(1)上传字体文件到 zabbix 中
在windows上找到本地 C:\Windows\Fonts\simkai.ttf(楷体)上传到服务器 zabbix 网站目录/usr/share/zabbix/fonts/目录下。 (2)找到原来的字体文件,让新上传的字体文件名改成它,“冒充”它
这是他原来的字体文件,通过下图的方法改个名字 再把新上传的字体文件,改成graphfont.ttf