1、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 Robin Archive),它能够存储的数据笔数在创建时就已经定义。

2、软件包准备

cacti-0.8.8b.tar.gz

httpd-2.2.23.tar.gz

php-5.4.10.tar.gz

cmake-2.8.11.2.tar.gz

mysql-5.5.28.tar.gz

rrdtool-1.4.8.tar.gz

net-snmp-5.7.2.1.tar.gz

Python-2.7.6.tgz

libxml2-2.9.1.tar.gz

zlib-1.2.8.tar.gz

jpegsrc.v9a.tar.gz

libpng-1.6.12.tar.gz

freetype-2.5.3.tar.gz

libart_lgpl-2.3.21.tar.gz

gettext-0.19.2.tar.xz

libgd-2.1.0.tar.gz

curl-7.37.1.tar.gz

3、apache安装配置

# tar zxvf httpd-2.2.23.tar.gz

# cd httpd-2.2.23

# ./configure --prefix=/usr/local/apache2 --enable-so

# make && make install

# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd

4、mysql安装配置

# tar zxvf cmake-2.8.11.2.tar.gz

# cd cmake-2.8.11.2

# ./configure

# make && make install

# groupadd mysql

# useradd mysql

# tar zxvf mysql-5.5.28.tar.gz

# cd mysql-5.5.28

# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/  -DMYSQL_DATADIR=/usr/local/mysql/data  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock  -DMYSQL_USER=mysql  -DWITH_DEBUG=0

# make && make install

# vim /root/.bashrc

PATH=/usr/local/mysql/bin:${PATH}

export PATH

# source /root/.bashrc

# cp support-files/my-medium.cnf /etc/my.cnf

# cp support-files/mysql.server /etc/init.d/mysqld

# chmod 755 /etc/init.d/mysqld

# chmod 755 /usr/local/src/mysql-5.5.28/scripts/mysql_install_db

# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

# chown -R mysql.mysql /usr/local/mysql/data

# service mysqld start

# mysqladmin -uroot password 123456

# mysqladmin --user=root -p create cacti

# mysql -uroot -p cacti

mysql>GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword';

mysql>flush privileges;

5、GD安装配置

1)、安装libxml2

# tar zxvf Python-2.7.6.tgz #貌似只能是这个版本,否则编译libxml2时会报错

# cd Python-2.7.6

# ./configure --prefix=/usr/local/python

# make && make install

# tar zxvf libxml2-2.9.1.tar.gz

# cd libxml2-2.9.1

# ./configure --prefix=/usr/local/libxml2

# make && make install

2)、安装zlib

# tar zxvf zlib-1.2.8.tar.gz

# cd zlib-1.2.8

# ./configure --prefix=/usr/local/zlib2

# make && make install

# yum install -y zlib-devel

3)、安装jpegsrc

# tar zxvf jpegsrc.v9a.tar.gz

# cd jpeg-9a

# ./configure --prefix=/usr/local/jpegsrc9

# make && make install

4)、安装libpng

# tar zxvf libpng-1.6.12.tar.gz

# cd libpng-1.6.12

# ./configure --prefix=/usr/local/libpng2

# make && make install

5)、安装freetype

# tar zxvf freetype-2.5.3.tar.gz

# cd freetype-2.5.3

# ./configure --prefix=/usr/local/freetype2

# make && make install

6)、安装libart_lgpl

# tar zxvf libart_lgpl-2.3.21.tar.gz

# cd libart_lgpl-2.3.21

# ./configure --prefix=/usr/local/libart

# make && make install

7)、安装gettext

# xz -d gettext-0.19.2.tar.xz

# tar xvf gettext-0.19.2.tar

# cd gettext-0.19.2

# ./configure --prefix=/usr/local/gettext

# make && make install

8)、安装GD

# tar zxvf libgd-2.1.0.tar.gz

# cd libgd-2.1.0

9)、安装curl

# tar zxvf curl-7.37.1.tar.gz

# cd curl-7.37.1

# ./configure --prefix=/usr/local/curl

# make && make install

6、php安装配置

# yum install -y libxml2-devel freetype-devel

# tar zxvf php-5.4.10.tar.gz

# cd php-5.4.10

# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-jpeg-dir=/usr/local/jpeg9/ --with-png-dir=/usr/local/libpng2/ --with-gd --with-freetype-dir=/usr/local/freetype2/ --with-zlib-dir=/usr/local/zlib2/ --with-mysql=/usr/local/mysql --with-curl=/usr/local/curl --with-gettext=/usr/local/gettext --enable-sockets

# make && make install

# cp php.ini-development /usr/local/php/lib/php.ini

# ln -s /usr/local/php/bin/php /usr/bin

# vim /usr/local/apache2/conf/httpd.conf

在#AddType application/x-tar.tgz后追加:AddType application/x-httpd-php .php

在#LoadModule foo_module modules/mod_foo.so后追加:LoadModule php5_module  modules/libphp5.so

在DirectoryIndexindex.html后面追加index.php

7、rrdtool安装配置

# yum install -y freetype-devel libart_lgpl-devel gd-devel cairo cairo-devel pango pango-devel

# tar zxvf rrdtool-1.4.8.tar.gz

# cd rrdtool-1.4.8

# ./configure --prefix=/usr/local/rrdtool

# make && make install

# ln -s /usr/local/rrdtool/bin/rrdtool /usr/bin

8、net-snmp安装配置

# tar zxvf net-snmp-5.7.2.1.tar.gz

# cd net-snmp-5.7.2.1

# ./configure --prefix=/usr/local/net-snmp

# make && make install

# ln –s /usr/local/net-snmp/bin/* /usr/local/bin/

# cp /usr/local/src/net-snmp-5.7.2.1/EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf

# vim /usr/local/net-snmp/share/snmp/snmpd.conf

添加以下内容

view    all           included   .1

view    systemview    included   .1.3.6.1.2.1.2

# /usr/local/net-snmp/sbin/snmpd

# lsof -i:161

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

snmpd   41107 root    8u  IPv4 616363      0t0  UDP localhost:snmp

# snmpwalk -v 1 -c public localhost system

# vim /etc/rc.d/rc.local

追加以下内容,开机自启动

/usr/local/net-snmp/sbin/snmpd

# 关于snmpd.conf的内容还可以引用以下配置

com2sec notConfigUser  default       test

group   notConfigGroup v1           notConfigUser

group   notConfigGroup v2c           notConfigUser

view    all           included   .1

view    systemview    included   .1.3.6.1.2.1.1

view    systemview    included   .1.3.6.1.2.1.2

view    systemview    included   .1.3.6.1.2.1.25.1.1

access  notConfigGroup ""      any       noauth    exact  all none none

com2sec local     localhost        test

com2sec mynetwork 10.0.2.0/24      test

view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc

9、cacti安装配置

# tar zxvf cacti-0.8.8b.tar.gz

# mv cacti-0.8.8b /usr/local/cacti

# vim /usr/local/apache2/conf/httpd.conf

DocumentRoot "/usr/local/apache2/htdocs" => DocumentRoot "/usr/local/cacti"

=>

# vim /usr/local/cacti/include/config.php

$database_type = "mysql";

$database_default = "cacti";

$database_hostname = "localhost";

$database_username = "cactiuser";

$database_password = "cactipassword";

$database_port = "3306";

$database_ssl = false;

/* load up old style plugins here */   #enable plugins

$plugins = array();

//$plugins[] = 'thold';

# useradd cactiuser

# chown -R cactiuser.cactiuser ./rra ./log

# service httpd restart

# rrdtool fetch localhost_users_6.rrd AVERAGE|MAX#查看rrd文件是否有数据

10、被监控机安装snmp服务

# yum install -y net-snmp*

# vim /etc/snmp/snmpd.conf

view    all           included   .1

view    systemview    included   .1.3.6.1.2.1.2

# service snmpd start

# lsof -i:161

11、问题汇总

问题1:

Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /usr/local/apache2/htdocs/cacti/include/global_constants.php on line 165

解决方法:

# vim /usr/local/php/lib/php.ini

修改

date.timezone = PRC

并取消注释

问题2:

PHP Strict Standards:  Only variables should be passed by reference in /usr/local/nginx/html/cacti/lib/ping.php on line 382

解决方法:

socket_select($r = array($this->socket), $w = NULL, $f = NULL, $to_sec, $to_usec){

=>修改为

$r = array($this->socket);

$w = NULL;

$f = NULL;

switch(socket_select($r, $w, $f, $to_sec, $to_usec)){

问题3:

WARNING: Cron is out of sync with the Poller Interval!  The Poller Interval is '300' seconds, with a maximum of a '300' second Cron, but 2135 seconds have passed since the last poll!

解决方法:

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

cacti config.php,cacti监控系统的安装配置相关推荐

  1. Prometheus( 普罗⽶修斯) 监控系统----介绍安装、Grafana出图

    Promethus(普罗⽶修斯)监控系统 能够安装prometheus服务器 能够通过安装node_exporter监控远程linux 能够通过安装mysqld_exporter监控远程mysql数据 ...

  2. 交通监控系统服务器配置,监控系统服务器的配置

    监控系统服务器的配置 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. Linux ...

  3. 监控系统服务器如何配置,监控系统服务器的配置

    监控系统服务器的配置 内容精选 换一换 裸金属服务器安装Agent后,裸金属实例出现在云监控服务管理控制台的"主机监控 > 弹性云服务器"列表中.主机监控Agent根据169 ...

  4. windows7系统适合哪个python_Python3.6.4在Windows7系统下安装配置教程

    Python3.64在Windows7系统下安装配置教程 工具/原料 Windows7系统 python3.6.4版本 方法/步骤 1 双击应用程序打开如图所示的界面这里是应用程序向导界面 这里建议勾 ...

  5. hadoop服务器系统设置win10,win10系统hadoop安装配置的设置技巧

    win10系统使用久了,好多网友反馈说关于对win10系统hadoop安装配置设置的方法,在使用win10系统的过程中经常不知道如何去对win10系统hadoop安装配置进行设置,有什么好的办法去设置 ...

  6. centos6.2系统下安装配置FastDFS步骤

    2019独角兽企业重金招聘Python工程师标准>>> centos6.2系统下安装配置FastDFS步骤: 1:安装libevent(libevent-2.0.16-stable) ...

  7. 天兔oracle,天兔(Lepus)监控操作系统(OS)安装配置

    天兔(Lepus)监控操作系统(OS)安装配置 监控和被监控端都要安装和配置snmp: [root@yoon]# yum install net-snmp* [root@yoon]# vi /etc/ ...

  8. Win10系统如何安装配置maven

    [原文链接]Win10系统如何安装配置maven (1)若未装jdk,可先参考 Win10系统下载安装配置JDK1.8 安装jdk8 (2)从 maven下载地址 ,下载maven,如下,可以下载最新 ...

  9. Linux系统下安装配置 Nginx 超详细图文教程

    Linux系统下安装配置 Nginx 详细教程介绍 一.下载 Nginx 安装包 打开Nginx官网 :http://nginx.org/en/download.html 然后我们找到一个版本,把鼠标 ...

最新文章

  1. 我画了35张图就是为了让你深入 AQS
  2. 这样写交互说明,开发不会约你去爬山~
  3. xgboost分类_XGBoost(Extreme Gradient Boosting)
  4. 前端周报:前端面试题及答案总结;JavaScript参数传递的深入理解
  5. 事件查看器 无法完成应用程序上的操作,接口未知
  6. 首次曝光的计算模型!对标阿里?有没有想过你的中台只是废纸?
  7. 前端基础:html基础(css基础和JavaScript基础)/01/B/S网络结构,html文件结构,html标签格式,lt;bodygt;中的一些常用标记
  8. mysql.5.7 linux_Mysql5.7 Linux安装教程
  9. 自己动手系列——实现一个简单的ArrayList
  10. vue-touch不能上下滑动的问题【解决】
  11. ROS中记录数据与回放
  12. FR多sheet的内置检验和JS校验, 数据集范围校验;填报存在时不提交并提示已存在
  13. 开源项目的版权声明已无存在必要?
  14. F检验(ANOVA)
  15. java语言将一个字符串集合按GBK编码(简体中文按拼音顺序)排序
  16. 【C语言作业】一个数如果恰好等于它的因子之和,这个数就称为完整数。例如6的因子为1、2、3,而6=1+2+3,因此6是完数,编程找出1000之内的所有完整数
  17. 一款应用ANR的分析思路总结
  18. QIP.ru即时通讯服务3300万明文密码被泄
  19. MaxScript入门指引系列(五)数组和Visual MaxScript editor
  20. [网络安全自学篇] 四十九.Procmon软件基本用法及文件进程、注册表查看

热门文章

  1. python3中numpy函数tile的用法
  2. Python基础教程:用模块化来搭项目
  3. matlab模拟三体运动_从灯泡到超级计算机,如何模拟浩瀚星空?| 赛先生
  4. 深度学习网络backbone?head、neck、bottleneck、GAP、Embedding、pretext task、downstream task、temperature parameter
  5. pycharm python 如何快速给代码块添加try/catch try/finally包裹?【ctrl+alt+T】
  6. MySQL使用GROUP_CONCAT分组拼接
  7. java 字节 字符,java:字节和字符
  8. 导出PDF和Zip文件的工具类
  9. 将时间戳转为年月日时分秒格式
  10. 2019考研调剂信息 计算机专业,2019考研分数线还未公布,已公布的调剂信息是真的吗?...