设为首页 收藏本站
查看: 1869|回复: 0

[经验分享] 搭建Cacti监控(2)

[复制链接]

尚未签到

发表于 2019-1-9 11:14:43 | 显示全部楼层 |阅读模式
  
  cacti 是用 php 语言实现的一个软件,它的主要功能是用 snmp 服务获取数据, snmp 需要的变量数据是通过读取 mysql 数据库得到,然后用 rrdtool 储存和更新数据,当用户需要查看数据的时候用 rrdtool 生成图表呈现给用户。
  1. Snmp 用来收集数据;
  2. Rrdtool 用来存储数据和生成图表;
  3. Mysql 用来配合 PHP 程序存储一些变量数据并对变量数据进行调用。
  Cacti本身只是一个web界面的管理套件,通过调用Net-SNMP工具来采集检测数据,客户端必须支持SNMP协议。并结合RRDtool(Round Robin Database tool,轮询数据库工具)记录数据并绘制图片,最终,以Web页面的形式展示给管理员用户。
  Cacti可以从逻辑上分为三个部分,
  第一部分:被检测的对象,也就是客户端。
  第二部分:检测平台,也就是服务器端。
  第三部分:管理平台。
  Cacti采用了两种结构实现功能,
  一种是C/S结构,主要是实现服务器到客户端监控;

  另外一种就是B/S,主要完成对Cacti平台的管理。

  一. 安装apache

  •   准备工作
  (1)yum方式安装gcc、gcc-c++
  # yum install gcc gcc-c++ -y
  (2)安装pcre
  pcre下载地址:
  http://jaist.dl.sourceforge.net/project/pcre/pcre/8.35/
  #tar zxf pcre-8.35.tar.gz
  #cd pcre-8.35
  #./configure prefix=/usr/local/pcre
  #make && make install
  (3)安装apr和apr-util
  apr和apr-unit下载地址:
  http://archive.apache.org/dist/apr/
  1)解压文件
  #tar zxf apr-1.5.0.tar.gz
  #tar zxf apr-util-1.5.3.tar.gz
  #tar zxf httpd-2.4.9.tar.gz
  2)将apr和apr-util拷到http的srclib目录下,并去掉版本号
  #cp -r apr-1.5.0 httpd-2.4.9/srclib/apr
  #cp -r apr-util-1.5.3 httpd-2.4.9/srclib/apr-util
  3)编译安装
  安装apr
  #cd httpd-2.4.9/srclib/apr
  #./configure --prefix=/usr/local/apr
  #make && make install
  安装apr-util
  #cd /root/httpd-2.4.9/srclib/apr-util/
  #./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
  #make && make install
  2.正式安装apache
  Apache下载地址:
  http://archive.apache.org/dist/httpd/
  #cd httpd-2.4.9
  #./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre/
  #make && make install
  启动apache服务
  #service httpd start
  安装成功,启动httpd服务并加入开机启动
  #chkconfig httpd on
  二. 安装mysql
  1.准备工作
  (1)yum方式安装ncurses-devel
  #yum install ncurses-devel –y
  (2)安装cmake
  cmake下载地址:
  http://wwwNaNake.org/files/v3.0/
  #tar zxf cmake-3.0.0.tar.gz
  #cd cmake-3.0.0
  #./configure
  #make && make install
  2.创建mysql的安装目录及数据库存放目录
  #mkdir /usr/local/mysql/date -pv
  /usr/local/mysql/          //mysql安装目录
  /usr/local/mysql/data       //存在数据库
  3.创建mysql用户和用户组
  #groupadd mysql
  #useradd -r -g mysql mysql
  useradd [option] username
  [option]:
  -d 指定用户登入时的目录。
  -g 初始群组。
  -G 非初始群组。
  -m 自动创建用户的家目录。
  -M 不要创建用户的家目录。
  -N 不要创建以用户名称为名的群组。
  -s 指定用户登入后所使用的shell。
  -c comment 给新用户添加备注
  -d home_dir 为主目录指定一个名字(如果不想用登录名作为主目录名的话)
  -e expire_date 用YYYYY-MM-DD格式指定一个账户过期的日期
  -f inactive_days 指定这个帐户密码过期后多少天这个账户被禁用;
  0表示密码一过期就立即禁 用,-1表示禁用这个功能
  -k 必须和-m一起使用,将/etc/skel目录的内容复制到用户的HOME目录
  -n 创建一个同用户登录名同名的新组
  -r 创建系统账户
  -p passwd 为用户账户指定默认密码
  -s shell 指定默认登录shell
  -u uid 为账户指定一个唯一的UID
  4.源码方式安装mysql
  Mysql下载地址:
  http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz
  #tar zxf mysql-5.6.17.tar.gz
  #cd mysql-5.6.17
  #cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock -DWITH_DEBUG=0
  #make && make install
  参数说明:
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  //安装目录
  -DMYSQL_DATADIR=/usr/local/mysql/data   //数据库存放目录
  -DMYSQL_TCP_PORT=3306    //端口号
  -DENABLED_LOCAL_INFILE=1   //允许从本地导入数据
  5.配置mysql
  (1)设置目录权限
  #chown mysql:mysql /usr/local/mysql/ -R
  (2)初始化mysql数据库
  #cd /usr/local/mysql/
  #./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/ --basedir=/usr/local/mysql/
  (3)复制mysql服务启动脚本
  #cp ./support-files/mysql.server /etc/init.d/mysqld
  (4)配置环境变量
  #vim /etc/profile
  添加:
  PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
  重新加载重启生效
  #source /etc/profile
  (5)修改mysql主配置文件/etc/my.cnf
  全部内容如下:

  6.启动mysql
  (1)开启守护进程,生成pid
  #./mysqld_safe &
  (2)启动mysql
  #service mysqld restart
  7.设置mysql管理员密码
  #./mysqladmin password "123456" -u root
  三. 安装PHP

  •   准备工作
  1)安装zlib
  zlib下载地址:
  http://www.zlib.net/
  #tar zxf zlib-1.2.8.tar.gz
  #cd zlib-1.2.8
  #./configure --prefix=/usr/local/zlib
  #make && make install
  2)安装libpng
  libpng下载地址:
  http://sourceforge.net/projects/libpng/postdownload?source=dlp
  注意:这里建议下载libpng-1.5.18版本,因为libpng与zlib存在版本兼容的问题,如果版本不合适,会make的时报错
  已知 zlib-1.2.8和libpng-1.6.10之间就存在这种问题, zlib-1.2.8和libpng-1.5.18可以正常安装,有篇文章对此问题进行了一些描述
  #tar zxf libpng-1.5.18.tar.gz
  #cd libpng-1.5.18
  #./configure --prefix=/usr/local/libpng
  #make && make install
  编译的时候后面加上--with-zlib-prefix=/usr/local/zlib/,还是提示相同的错误
  明明已经安装了zlib,为什么提示zlib没有安装,原来是没有安装zlib-devel,下面我们使用yum方式安装zlib-devel
  #yum install zlib-devel
  下面编译就成功了
  #./configure --prefix=/usr/local/libpng --with-zlib-prefix=/usr/local/zlib/
  再安装
  3)安装freetype
  freetype下载地址:
  http://sourceforge.net/projects/freetype/files/freetype2/2.5.3/
  #cd freetype-2.5.3
  #./configure --prefix=/usr/local/freetype
  #make && make install
  4)安装jpeg
  jpeg下载地址:
  http://www.ijg.org/files/
  #tar zxf jpegsrc.v9.tar.gz
  #cd jpeg-9/
  #./configure --prefix=/usr/local/libjpeg
  #make && make install
  5)yum方式安装fontconfig、gd、libxml2*、libjpeg-devel
  # yum install fontconfig gd –y
  # yum install libxml2* libjpeg-devel –y
  2.正式安装PHP
  PHP下载地址:wget http://cn2.php.net/distributions/php-5.5.14.tar.gz
  #tar zxf php-5.5.14.tar.gz
  #cd php-5.5.14
  #./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-gd --with-mysql=/usr/local/mysql/ --with-zlib-dir=/usr/local/zlib/ --with-png-dir=/usr/local/libpng/ --enable-gd-native-ttf --with-ttf --enable-gd-jis-conv --enable-mbstring --enable-sockets --enable-xml  --disable-fileinfo
  #make && make install
  最后建立一个软连接
  ln -s /usr/local/php/bin/* /usr/local/bin/
  四. 安装rrdtool
  1.准备工作
  (1)yum方式安装cairo-devel、pango、pango-devel、libpng-devel、libart_lgpl-devel、intltool、freetype-devel
  #yum install cairo-devel pango pango-devel libpng-devel libart_lgpl-devel intltool freetype-devel –y
  (2)yum方式安装perl-ExtUtils-CBuilder、perlExtUtils-MakeMaker
  # yum install perl-ExtUtils-CBuilder perlExtUtils-MakeMaker –y
  2.正式安装rrdtool
  rrdtool下载地址:
  http://download.chinaunix.net/down.php?id=35595&ResourceID=9078&site=1
  #tar zxf rrdtool-1.4.5.tar.gz
  #cd rrdtool-1.4.5
  #./configure --prefix=/usr/local/rrdtool --disable-tcl
  #make && make install
  2.增加链接
  ln -s /usr/local/rrdtool/bin/* /usr/local/bin/
  五. 安装net-snmp
  (1)yum方式安装net-snmp
  # yum install net-snmp* -y
  (2)配置net-snmp(主配置文件/etc/snmp/snmpd.conf
  1)找到:

  修改成:

  其中的192.81.128.66就是你允许哪台主机可以访问到你(即cacti服务器)
  2)找到:

  将注释去掉,即:

  3)找到:

  将注释去掉

  (3)启动net-snmp
  service snmpd start
  监控的端口是161,查看是否已打开
  netstat -an |grep snmp
  (4)验证是否有数据
  1)localhost
  # snmpwalk -v 2c -c public localhost
  2)本机ip测试
  # snmpwalk -v 2c -c public 192.81.128.66
  192.81.128.66就是被监控机的IP(这里测试的是本机,所以就是本机IP)
  六. 安装cacti
  cacti下载地址:
  http://www.cacti.net/downloads/
  1. 解压cacti后,把cacti的目录移到httpd里存放网页的htdocs目录,并去掉版本号
  #tar zxf cacti-0.8.7h.tar.gz
  #mv cacti-0.8.7h  /usr/local/apache/htdocs/cacti
  2.增加cacti用户,并修改目录权限
  cd /usr/local/apache/htdocs
  useradd catic
  chown -R cacti.cacti ./
  3.root身份登陆mysql,新建数据并授权
  mysql -uroot -p

  > grant all on cacti.* to cacti@'localhost'>  > flush privileges;
  4.导入数据库
  cd /usr/local/apache/htdocs/cacti
  # /sur/local/mysql/bin/mysql -u cacti -p123456 cacti < cacti.sql
  vim include /config.php
  这里有cacti连接使用的数据库类型,用户名,密码信息,按照自己的需要进行配置

  并增加:$url_path="/cacti/";
  5.配置apache(配置文件/usr/local/apache/conf/httpd.conf
  找到:

  修改成:


  检测一下httpd的配置文件语法重启httpd服务
  /usr/local/apache/bin/apachectl configtest
  yum install php-mysql -y
  6.关闭防火墙和selinux,访问cacti安装界面
  setenforce 0
  service iptables stop
  7.重启apache服务
  service httpd restart
  七. 登陆cacti,进行cacti安装
  1.在浏览器输入http://192.81.128.66/cacti,进入web界面
  点击Next
  2.出现如1界面
  依然点击Next
  3.出现如下界面,没有错误,perfect

  点击Finish
  重新访问一下看看
  这是就出现了cacti的登陆界面
  4.第一次登陆,用户名,密码都是admin

  7.这是成功登陆cacti

  当出现上图情况时,cacti已安装完毕,可正常使用。
  但cacti默认是使用cmc.php方式去画图的,但据说使用spine方式比较节省系统资源消耗,
  8. 生成图形文件
  在界面中点击graphs,图形不显示,使用如下命令生成图形文件
  /usr/local/php/bin/php  /usr/local/apache/htdocs/cacti/poller.php
  此时,图片出现的可能都是乱码,那个因为/usr/share/fonts/下没有任何字符文件。
  这个问题解决办法很简单,随便拷一个.ttf的文件到/usr/share/fonts/下就可以了

  9. 加入crontab服务
  */5 * * * * env LANG=C /usr/local/bin/php /usr/local/apache/htdocs/cacti/poller.php
  10.过一段时间后,就会有数据图了
  下载解压后只取两个文件
  1、  PHP采集脚本:
  cp percona-monitoring-plugins-1.1.6/cacti/scripts/ss_get_mysql_stats.php  /var/www/html/cacti/scripts/
  chmod +x ss_get_mysql_stats.php
  在被监控端mysql服务器上授权

  mysql> grant process,super on *.* to'cacti'@'%'>  注意:MySQL 5.1.23和更旧版本中采集InnoDB图形需要SUPER权限。
  在MySQL 5.1.24及更高版本中,所需的权限是PROCESS而不是SUPER。(官方)
  [root@server2    mnt]# tar zxf cacti-0.8.8h.tar.gz
  [root@server2    mnt]# yum install rrdtool php-mysql mysql-serverhttpd -y
  (安装必要环境)
  [root@server2    mnt]# mv cacti-0.8.8h /var/www/html/
  (将cacti 移动到http目录下)
  [root@server2    mnt]# cd /var/www/html/
  [root@server2    html]# ln -s cacti-0.8.8h/ cacti
  (建立软链接,方便输入查找)
  [root@server2    html]# cd /mnt
  [root@server2 mnt]# yum  install  php-snmp-5.3.3-26.el6.x86_64.rpm
  [root@server2 mnt]#/etc/init.d/mysqld start
  [root@server2 mnt]#mysql_secure_installation
  (设置root 账户和密码,其他选项,一直输入 y 继续进行)
  [root@server2 cacti]# cd/var/www/html/cacti/
  [root@server2 cacti]#mysqladmin -padol create cacti
  (创建cacti这个库)
  [root@server2 cacti]# mysql -padol cacti < cacti.sql
  (将cacti.sql导入cacti 库)

  [root@server2 cacti]# mysql -padol -e "grant all on cacti.*  totest@localhost>  [root@server2 cacti]# cdinclude/
  [root@server2 cacti]# vimconfig.php


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-661156-1-1.html 上篇帖子: cacti 装报警插件 thold 下篇帖子: Cacti从入门到放弃(1)使用安装详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表