Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监測图形分析工具。Cacti是通过 snmpget来获取数据,使用 RRDtool绘绘图形,并且你全然能够不须要了解RRDtool复杂的參数。它提供了很强大的数据和用户管理功能,能够指定每个用户能查看树状结构、host以及不论什么一张图。还能够与LDAP结合进行用户验证,同一时候也能自己添加模板,功能很强大完好。界面友好。软件
Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了主要的 Snmp 流量跟系统资讯监控外。Cacti 也可外挂Scripts 及加上 Templates 来作出各式各样的监控图。

安装cacti的准备条件:

wget http://www.cacti.net/downloads/cacti-0.8.8b.tar.gz

wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz

wget https://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz

LAMP环境。而且要开启gd库的支持,lamp环境的安装这里不再给出

mysql-cacti-templates并非必须的。仅仅是为了后面方便演示第三方模板时候使用



一.安装snmp服务

[root@test1 ~]# yum install net-snmp*

[root@test1 ~]# chkconfig snmpd on

[root@test1 ~]# service snmpd restart

[root@test1 ~]# vi /etc/snmp/snmpd.conf



改动例如以下内容:

 41行下的 com2sec notConfigUser  default       public

       com2sec notConfigUser  127.0.0.1  public



 62行下的access  notConfigGroup ""      any       noauth    exact  systemview none none

      access  notConfigGroup ""      any       noauth    exact  all           none none



 85行下的#view all    included  .1                               80

        view all    included  .1                               80

[root@test1 ~]# service snmpd restart



二.安装rrdtool

[root@test1 ~]# tar xf rrdtool-1.4.7.tar.gz

[root@test1 ~]# cd rrdtool-1.4.7

[root@test1 rrdtool-1.4.7]# ./configure --prefix =/usr/local/rrdtool

[root@test1 rrdtool-1.4.7]# make && make install



三.安装cacti

[root@test1 ~]# tar xf cacti-0.8.8b.tar.gz -C /usr/local/apache/htdocs

[root@test1 ~]# cd /usr/local/apache/htdocs

[root@test1 ~]# cd /usr/local/apache/htdocs

[root@test1 ~]# mv cacti-0.8.8b cacti

进入数据库中创建一个cacti的数据库:

mysql> create database cacti;

mysql> grant all on cacti.* to cacti@localhost identified by 'cacti';

mysql> grant all on cacti.* to cacti@127.0.0.1 identified by 'cacti';

mysql> flush privileges;



编辑/etc/crontab,增加例如以下内如:

*/1 * * * * /usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php &> /dev/null



改动cacti的文件夹权限:

[root@test1 cacti]# chown -R root.root cacti/



导入cacti数据库:

[root@test1 cacti]# /usr/local/mysql/bin/mysql -ucacti -p cacti < cacti.sql



编辑cacti配置文件。改成例如以下内容:

[root@test1 cacti]# cd include

[root@test1 cacti]# vi config.php

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "127.0.0.1";

$database_username = "cacti";

$database_password = "cacti";

$database_port = "3306";

$database_ssl = false;



在浏览器中输入下面地址:http://192.168.1.145/cacti/install/index.php,就会看到cacti的安装了,点击next会发现默认情况下cacti的路径和php的路径是不对的。仅仅须要把路径改了就能够。rrdtool改成:/usr/local/rrdtool/bin/rrdtool;php改成:/usr/local/php/bin/php

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvejE1NDc4NDAwMTQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

弄好点击下一步,就能够来到cacti的登陆界面了,默认的cacti的登陆用户和password为:admin admin,输入完毕以后会提示我们改动新的password。直接改成你须要的password就可以,然后运行/usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php,多运行几次,再进入cacti打开graphs能够看到图片已经出来。



安装过程中可能遇到的问题:

1.运行/usr/local/php/bin/php /usr/local/apache/htdocs/cacti/poller.php报时间错误。这是由于php.ini中没有设置时间,在php.ini中增加date.timezone = "Asia/Shanghai"

2.流量图出来不到,rra文件下没有文件。这样的原因可能非常多,首先检查执行cacti的用户进程是否对rra文件夹具有对应的权限。执行snmpwalk -v 2c -c public yourIP if看到是否有对应的信息返回。检查settings中的对应配置是否正确。





cacti的默认情况下的模板和图像是非常有限的,主要的流量监控操作也非常easy。可是大多数情况下,我们须要的流量监控不止这点点,所以须要安装第三方模板。这里以mysql为例来安装一个第三方的模块监控

[root@test1 ~]# wget https://mysql-cacti-templates.googlecode.com/files/better-cacti-templates-1.1.8.tar.gz

[root@test1 ~]# tar –xvf better-cacti-templates-1.1.8.tar.gz

[root@test1 ~]# cd better-cacti-templates-1.1.8

[root@test1 better-cacti-templates-1.1.8]# cp scripts/ss_get_mysql_stats.php /usr/local/apache/htdocs/cacti/scripts/

[root@test1 better-cacti-templates-1.1.8]# cd /usr/local/apache/htdocs/cacti/scripts/

[root@test1 scripts]# vi ss_get_mysql_stats.php

改动

$mysql_user = 'cactiuser';

$mysql_pass = 'cactiuser';



$mysql_user = 'cacti';

$mysql_pass = 'cacti';

再次进入cacti的管理界面的Import Templates下导入/better-cacti-templates-1.1.8/templates/cacti_host_template_x_mysql_server_ht_0.8.6i-sver1.1.8.xml,然后在device设备下就能够看到很多新的模板图了。

在被监控主机上运行:grant all on *.* to 'cacti'@'%' identified by 'cacti';flush privileges;以后,其余的操作就给普通的操作一样。

cacti安装和第三方模块的导入的更多相关文章

  1. 如何安装nginx第三方模块

    nginx文件非常小但是性能非常的高效,这方面完胜apache,nginx文件小的一个原因之一是nginx自带的功能相对较少,好在nginx允许第三方模块,第三方模块使得nginx越发的强大. 在安装 ...

  2. 操作MySQL-数据库的安装及Pycharm模块的导入

    操作MySQL-数据库的安装及Pycharm模块的导入 1.基于pyCharm开发环境,在CMD控制台输入依次输入以下步骤: (1)pip3 install PyMySQL  < 安装 PyMy ...

  3. Linux 下 安装Python第三方模块工具箱pip,以及用pip安装的方法

    下载文件 wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate 执行安装 python get-pip.py 可以做一个软连 ...

  4. python第三方模块的导入

    模块搜索路径 当我们尝试加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错: >>> import module1 Traceback (most ...

  5. 安装python第三方模块

    下载 第三方模块的下载地址:https://pypi.python.org/pypi 其他版本的第三方模块下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs ...

  6. 如何在cmd中安装python第三方模块

    打开 cmd终端 1 输入pip  install   模块名. 2 等待安装完成即可.

  7. python安装requests第三方模块

    2018-08-28 22:04:51 1 .下载到桌面后解压,放到python的目录下 ------------------------------------------------------- ...

  8. Python学习笔记十_模块、第三方模块安装、模块导入

    一.模块.包 1.模块 模块实质上就是一个python文件.它是用来组织代码的,意思就是把python代码写到里面,文件名就是模块的名称,test.py test就是模块的名称 2.包 包,packa ...

  9. 5.pycharm中导入第三方模块的方法

    最近刚入门学习python,网上查找了一些资料,发现python编程用的软件pycharm还是比较多的,于是就跟随大众,学习使用pycharm,在学习的过程中,想要导入第三方模块pyperclip,但 ...

随机推荐

  1. SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(4)DATA步循环与控制.常用全程语句.输出控制 1. 各种循环与控制 DO组 创建一个执行语句块 DO循环 根据下标变量重复执行DO和E ...

  2. PDO访问其他数据库操作及作用

    PDO的作用 PDO<!--数据访问抽象层--><!--1.可以访问其他数据库--><!--2.具有事务功能--><!--3.带有预处理语句功能(防止SQL注 ...

  3. JS——html基本结构

    document.title——文档标题 document.head——文档头标签 document.body——文档的主体 document.documentElement 表示整个文档的html标 ...

  4. IIS中实现http自动转换到https

    IIS中实现http自动转换到https修改以下文件:C:\WINDOWS\Help\iisHelp\common\403-4.htm 为以下内容<!DOCTYPE HTML PUBLIC &q ...

  5. RTL Compiler之synthesis steps

    1 synthesis steps 1) Search Paths rc:/> set_attribute lib_search_path path / rc:/> set_attribu ...

  6. JavaScript学习书签

    JavaScript常用正则表达式 闭包 JavaScipt DOM 变量提升

  7. 注解是建立在class文件基础上的东西,同C语言的宏有异曲同工的效果

    注解是建立在class文件基础上的东西,同C语言的宏有异曲同工的效果 https://www.cnblogs.com/deman/p/5519901.html @是java注解,即annotation ...

  8. Python操作数据库及hashlib模块

    一.hashlib模块 hashlib模块,主要用于加密相关的操作,在python3的版本里,代替了md5和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA51 ...

  9. include和require区别

    1.  include()执行的时候需要引用的文件每次都要进行读取评估; require()执行时需要引用的文件只处理一次(实际上执行时需要引用的文件内容替换了require()语句) 可以看出若有包 ...

  10. 【Redis】一、Redis简介及五种数据类型

    (一)Redis简介   Redis(Remote Dictionary Server)是一个使用ANSI C语言编写.遵守BSD协议.支持网络.可基于内存亦可持久化的日志型.Key-Value的开源 ...