目录php
1、常见监控软件mysql
2、Cacti概述ios
3、Cacti工做原理sql
4、cacti安装数据库
5、配置Cacti监控本机vim
注:本文全部软件采用yum安装windows
1、常见监控软件概述安全
一、cactibash
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。服务器
简单的说Cacti 就是一个PHP 程序。它经过使用SNMP 协议获取远端网络设备和相关信息,(其实就是使用Net-SNMP软件包的snmpget 和snmpwalk 命令获取)并经过RRDTOOL 工具绘图,经过PHP 程序展示出来。咱们使用它能够展示出监控对象一段时间内的状态或者性能趋势图。
二、nagios
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
三、zabbix
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各类网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各类问题。
zabbix由2部分构成,zabbixserver与可选组件zabbix agent。zabbix server能够经过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它能够运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。
2、Cacti概述
1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,而后用rrdtool储存和更新数据,当用户须要查看数据的时候用rrdtool生成图表呈现给用户。所以,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
2. Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体
名、端口号、模板信息等变量。
3. snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round RobinArchive),它可以存储的数据笔数在建立时就已经定义。
3、Cacti工做原理
Cacti的工做流程:
步骤一,snmp协议收集远程服务器的数据
步骤二,将snmp收集的数据内容保存到rrd数据库中
步骤三,若用户查看某台设备上的流量或其它状态信息
步骤四,在mysql数据库中查找该设备对应的rra数据库文件的名称
步骤五,经过rrdtool命令进行绘图便可
4、Cacti安装
Cacti的运行环境基于LAMP环境首先安装lamp环境
一、安装yum源
[root@localhost ~]# yum install -y epel-release
二、同步时间
[root@localhost ~]# yum install -y ntpdate [root@localhost ~]# ntpdate time.windows.com 12 Apr 22:44:15 ntpdate[11234]: adjust time server 23.102.23.44 offset 0.109652 sec [root@localhost ~]#
三、安装LAMP环境
使用yum安装相关软件包:http,php,mysql
[root@localhost ~]# yum install -y httpd php php-mysql mysql mysql-server mysql-devel php-gd libjpeg libjpeg-devel libpng libpng-devel
设置开机自启动服务
[root@localhost ~]# chkconfig httpd on [root@localhost ~]# /etc/init.d/httpd start Starting httpd: [ OK ] [root@localhost ~]# chkconfig mysqld on [root@localhost ~]# /etc/init.d/mysqld start Starting mysqld: [ OK ] [root@localhost ~]# netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 2811/named tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 10947/sshd tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 2811/named tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1007/master tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 10433/snmpd tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 11490/mysqld tcp 0 0 :::80 :::* LISTEN 11345/httpd tcp 0 0 ::1:53 :::* LISTEN 2811/named tcp 0 0 :::22 :::* LISTEN 10947/sshd tcp 0 0 ::1:953 :::* LISTEN 2811/named tcp 0 0 ::1:25 :::* LISTEN 1007/master udp 0 0 0.0.0.0:161 0.0.0.0:* 10433/snmpd udp 0 0 127.0.0.1:53 0.0.0.0:* 2811/named udp 0 0 ::1:53 :::* 2811/named
测试php解析
四、安装cacti net-snmp rrdtool
[root@localhost ~]# yum install -y cacti net-snmp net-snmp-utils rrdtool [root@localhost ~]# /etc/init.d/snmpd start [root@localhost ~]# netstat -tunlp|grep snmpd tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 10433/snmpd udp 0 0 0.0.0.0:161 0.0.0.0:* 10433/snmpd [root@localhost ~]#
五、编辑httpd配置文件
[root@localhost ~]# vim /etc/httpd/conf.d/cacti.conf