部署cacti监控服务配置说明php
系统版本及内核版本:html
CentOS release 6.4 (Final) 2.6.32-358.el6.x86_64python
#安装snmp yum install net-snmp* -y #备份配置文件 cp /etc/snmp/snmpd.conf/etc/snmp/snmpd.conf.bak #添加配置文件 cat >/etc/snmp/snmpd.conf<<EOF com2sec local localhost public com2sec mynetwork 192.168.254.0/24 public group MyRWGroupv1 local group MyRWGroupv2c local group MyRWGroupusm local group MyROGroupv1 mynetwork group MyROGroupv2c mynetwork group MyROGroupusm mynetwork view all included .1 80 access MyROGroup"" any noauth exact all none none access MyRWGroup"" any noauth exact all all none syslocationbeyondjie.com syscontact Me<linux_SVIP@163.com> proc mountd proc ntalkd 4 proc sendmail 101 proc httpd 10 1 disk / 10000 disk /boot 10000 load 12 14 14 EOF #启动snmp,并设置开机自启动 /etc/init.d/snmpd start chkconfig snmpd on #检查是否已经正常启动 lsof -i :161 netstat -lnupt |grep 161 #检查snmp服务是否正常 snmpget -v 1 -c publiclocalhost system.sysUpTime.0
注意:snmp协议客户端都须要装。mysql
安装rrdtools采用了yum安装,比较方便,也能够采用源代码编译安装(在CentOS-5系列的镜像中没有rrdtools) yum install cairo pango zlibzlib-devel freetype freetype-devel gd gd-devel libpng libpng-devel rrdtool rrdtool-devel -y 附源代码编译安装: yum install cairo pango zlib zlib-develfreetype freetype-devel gd gd-devel -y mkdir /application/tools -p cd /application/tools wgethttp://ftp.gnome.org/pub/gnome/sources/libart_lgpl/2.3/libart_lgpl-2.3.17.tar.gz tar xf libart_lgpl-2.3.17.tar.gz cd libart_lgpl-2.3.17 ./configure make make install /bin/cp -r /usr/local/include/libart-2.0/usr/include cd ../ #安装rrdtool绘图工具 wgetftp://ftp.drupal.org/.2/nslu2/sources/rrdtool-1.2.14.tar.gz tar xf rrdtool-1.2.14.tar.gz cd rrdtool-1.2.14 ./configure--prefix=/usr/local/rrdtool --disable-python --disable-tcl make make install cd ../ ls -l /usr/local/rrdtool/bin ln -s /usr/local/rrdtool/bin/*/usr/local/bin/
yum install gcc glibcglibc-common -y yum install mysqlmysql-server mysql-devel -y yum install httpd* -y yum install php php-mysql -y #修改apache配置文件 cp /etc/httpd/conf/httpd.conf/etc/httpd/conf/httpd.conf_bak sed -i 's/#ServerNamewww.example.com:80/ServerName 127.0.0.1:80/g' /etc/httpd/conf/httpd.conf sed -i 's#DirectoryIndexindex.html index.html.var#DirectoryIndex index.php index.html#g'/etc/httpd/conf/httpd.conf echo "<?phpphpinfo();?>" > /var/www/html/index.php #启动apache,并设置开机自启动 /etc/init.d/httpd start chkconfig httpd on
安装完后测试下lamp环境:linux
#启动mysql,并设置开机自启动 /etc/init.d/mysqld start chkconfig mysqld on #检查mysql状态 netstat -anput | grep mysql lsof -i :3306 #建立库及用户 mysql> create database cacti_db; Query OK, 1 rowaffected (0.00 sec) mysql> grant all on cacti_db.* to'cactiadm'@'localhost' identified by 'fuzj123'; Query OK, 0 rowsaffected (0.01 sec) mysql> show grants for'cactiadm'@'localhost'; +------------------------------------------------------------------------------------------------------------------+ | Grants forcactiadm@localhost | +------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON*.* TO 'cactiadm'@'localhost' IDENTIFIED BY PASSWORD'*43DD7940383044FBDE5B177730FAD3405BC6DAD7' | | GRANT ALLPRIVILEGES ON `cacti`.* TO 'cactiadm'@'localhost' | +------------------------------------------------------------------------------------------------------------------+ 2 rows in set(0.00 sec) mysql> flushprivileges; Query OK, 0 rowsaffected (0.00 sec)
cd /usr/src/ wget http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz tar zxf cacti-0.8.7g.tar.gz cd cacti-0.8.7g #修改cacti配置文件参数 vim include/config.php 修改下面内容: $database_type ="mysql"; $database_default ="cacti_db"; $database_hostname ="localhost"; $database_username ="cactiadm"; $database_password ="fuzj123"; $database_port ="3306"; #初始化cacti数据库 mysql cacti_db <cacti.sql #将cacti程序移动到apache站点目录下 mv /usr/src/cacti-0.8.7g /var/www/html/cacti #受权rra.log两个目录 cd /var/www/html/cacti/ chown -R apache:apache rra/log/ #查看权限 ll -d rra/ log/ #测试定时收集数据php文件 chmod 755 /var/www/html/cacti/poller.php /usr/bin/php/var/www/html/cacti/poller.php #将收集数据命令加入crontab(出图靠这个命令) echo '#catil poller'>>/var/spool/cron/root echo '*/5 * * * */usr/bin/php /var/www/html/cacti/poller.php >/dev/null 2>&1'>>/var/spool/cron/root crontab -l |tail -2
浏览器配置cactisql
部署完成。默认管理员和密码是admin,admin,第一次登陆会强制修改数据库
进入Cacti的console面板->apache
点击“Devices”进入设备面板->vim
点击“Add”添加新设备->浏览器
填写要监测服务器的各类信息,其中Host Template请选择“Local Linux Machine”或“ucd/net SNMP Host”(选择一个合适的主机模板)
点击“Create”保存信息,若是SNMP链接没有问题,左上角会出现该服务器的信息,不然会出现“SNMP error”的红色字样->
点击上部的“Create Graphs for this Host ”为该设备建立需监测的内容。监测的内容分两种,“Graph Templates”和“Data Query”,区别在于“Data Query”能根据SNMP信息列出监测项目的信息。例如Data Query里的“Interface Statistics”能够看到该主机全部网卡的信息,这样咱们能够选择须要监测的网卡。点击右侧的正方形选择框勾选上要监测的项目->
点击“Create”建立选择的监测内容,已经选择建立的内容会自动变成灰色而且不能再点选。Cacti会自动建立该监测点的rrd文件(在rra文件夹中)、“Data Source”和“graph”条目。
将新建立的设备或图像加入到“图像树”上:
点击“Graph Tree”进入“图像树”面板->
点击分支名称或“Add”新的分支->
“Tree Item Type”中选择“Host”,“Tree ItemValue”的“host”中选择刚才新添加的主机“Test Host”->
点击“Create”。
直接在ViewTree中添加一个host节点进行监控无疑是一个简单的方法,但随监控图的增多,将全部的图像放到一个host节点上,当查看图像时图像的显示速度会变慢,并且监控图的条理也不清除,因此一般能够根据监控图监控的功能和监控服务的类型等进行分类,整理出一棵有条理的图像树。能够按下面步骤添加节点。
首先添加一个root节点,“Tree Item Type”中选择“Header”,“Title”中填写一个合适的描述性信息,如本例填写“Host Monitor”,Host Monitor节点的图像主要是和主机性能相关的一些图像,如CPU、内存、磁盘空间等;
点击刚建立的root节点(Host Monitor)后面的Add连接来添加一个Graph;
在“Tree Item Type”中选择“Graph”,在“graph”中选择加入想要加入的监控图,重复此过程加入全部你想加入的监控图。
你还能够添加Tree Items,如MySQL Monitor,此节点用来监控与MySQL服务相关的信息,重复上面的过程直到一颗有条例的树建立完成。
这样,咱们就能够在“graphs”界面中查看“Test Host”的全部监测图像了。
为已有host添加新的监控图
在console控制台下点击“New Graphs”,选择要添加监控图的主机。在Graph Templates中选择一个Graph模板,本例选择SNMP - Ceneric OID Template,点击create按钮。
填写如下信息,在“Title”文本框中填写Graph的名字,在“Vertical Lable”文本框中填写描述信息或是所绘图片使用的单位等,显示在所绘图片的左侧,在“name”文本框中填写此数据源的名字,在“LegendColor”中选择画图使用的颜色,在“Legend Text”填写图例的名字,在“OID”文本框中填写要监控的主机的OID信息,点击“create”按钮完成Graph的建立。
完成后监控图以下:
界面的介绍
登录Cacti后,能够看到左上角是两个选项卡,“console”和“graphs”。console表示控制台,在此进行全部的配置等操做;而graphs则是用来查看全部服务器的性能图像的界面。
console菜单
Create:
NewGraphs——建立新图像的快捷方式;
Management:
GraphManagement——图像管理。能够在此删除、复制图像,Cacti会自动建立图像。不过若是咱们有特殊的须要,好比将几张图上的数据合并在一张图像上的话也能够在此手工新建图像;
GraphTrees——图像树。在graphs界面里,图像或devices是树状结构显示的,能够在此设置树的结构;
DataSources——管理rrd文件。通常无需修改,Cacti会本身建立rrd文件;
Devices——设备管理。这是咱们最常常须要修改的地方,能够在此建立新的设备或修改其名称等信息。
Collection Methods
DataQueries 和Data InputMethods是采集数据的方式,通常咱们无需对这两项进行修改;
Templates
GraphTemplates 、Host Templates和Data Templates 分别是图像模板、主机类型模板和数据模板。这些模板能够导出、导入也能够本身编写,通常无需修改。
Import/Export
ImportTemplates 和ExportTemplates,对上述模板的导入、导出。咱们能够在Cacti的官方网站上找到这些模板,不过须要注意模板对于的Cacti的版本。
Configuration
Settings——Cacti的主要配置菜单;
能够在此从新设置对应的程序的路径、版本等信息。也能够设置图像的输出方式(容许ftp)、显示效果、登录方式(容许使用LDAP)等。
Utilities
SystemUtilities ——显示Cacti系统的一些cache和log信息,若是log文件太大建议直接到后台查看;
UserManagement ——用户管理。能够在此添加、删除用户,并对每一个用户设置详细的权限;
LogoutUser ——注销用户。