部署cacti监控服务配置说明
系统版本及内核版本:
CentOS release 6.4 (Final) 2.6.32-358.el6.x86_64
第一部分:前期工作
1.1 安装snmp
#安装snmp yum install net-snmp* -y #备份配置文件 cp /etc/snmp/snmpd.conf/etc/snmp/snmpd.conf.bak #添加配置文件 cat >/etc/snmp/snmpd.conf<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协议客户端都需要装。
1.2 安装rrdtools及所必需的插件
安装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/
1.3 yum安装lamp环境
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 "" > /var/www/html/index.php #启动apache,并设置开机自启动 /etc/init.d/httpd start chkconfig httpd on
安装完后测试下lamp环境:
第二部分:安装部署cacti软件
2.1启动mysql,创建cacti数据库及用户
#启动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)
2.2 配置cacti
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>/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
浏览器配置cacti
部署完成。默认管理员和密码是admin,admin,第一次登录会强制修改
第三部分:添加被监控的客户端
进入Cacti的console面板->
点击“Devices”进入设备面板->
点击“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页面的介绍
界面的介绍
登陆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 ——注销用户。