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

[经验分享] 构建cacti监控平台, LAMP使用脚本自动化编译安装

[复制链接]

尚未签到

发表于 2019-1-11 09:35:11 | 显示全部楼层 |阅读模式
  在开始操作之前,先简单介绍几个概念
*SNMP :简单网络管理协议
      它主要是根据用户的需求获取远程被监控主机的一些信息而已,
*RRDTOOL : 是一个强大的绘图工具
       它主要是根据用户的需求将从SNMP协议(当然也可以是其他的方式,比如说sheel脚本等,)获取到信息,绘制成图像,
*cacti : cacti( http://www.cacti.net )
        是一个基于PHP开发的强大的检测分析工具而已,cacti主要是通过SNMP或sheel脚本等方式获取到被监控主机的数据, 然后通过rrdtool存储更新数据,当用户需要查看数据的时候,使用rrdtool生成图表通过cacai展示给用户,
****************************************************************************************
下面将在一台默认安装有rhel5.8的系统上安装配置cacti

****************************************************************************************
上面说过cacit是一个php语言开发的网页工具,那么我们需要安装LAMP平台,还要生成图像展示给用户,需要安装rrdtool,如果要使用snmp协议监控其他主机或本机,需要安装snmp
****************************************************************************************
准备以下软件包,存放至/usr/src目录下
****************************************************************************************
apr-1.4.6.tar.bz2
apr-util-1.4.1.tar.bz2
cmake-2.8.8.tar.gz          这些包主要是LAMP环境所用到的软件包
httpd-2.4.2.tar.bz2
mysql-5.5.25a.tar.gz
php-5.4.4.tar.bz2
****************************************************************************************
rrdtool-1.4.7.tar.gz
cacti-spine-0.8.8a.tar.gz   
cacti-0.8.8a.tar.gz
****************************************************************************************
准备完成好,下面来安装配置了,需要注意的是软件包一定要放到/usr/src目录,而且要配置好yum源,
一, 构建LAMP环境,这里使用脚本自动化编译安装并配置,(当然也可以使用yum安装,)
1. 构建LAMP平台,脚本内容如下



  • #!/bin/bash
  • # andy_f
  • # 编译安装LAMP平台
  • local_ip=`ifconfig eth0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'`
  • # install path  
  • http_path=/usr/local/apache
  • apr_path=/usr/local/apr
  • apr_util_path=/usr/local/apr-util
  • php_path=/usr/local/php
  • mysql_path=/usr/local/mysql

  • re=0

  • # install package name
  • apr="apr-1.4.6.tar.bz2"
  • apr_util="apr-util-1.4.1.tar.bz2"
  • http="httpd-2.4.2.tar.bz2"
  • php="php-5.4.4.tar.bz2"
  • cmake="cmake-2.8.8.tar.gz"
  • mysql="mysql-5.5.25a.tar.gz"

  • # Compiler parameters
  • make_apr="--prefix=$apr_path"
  • make_apr_util="--prefix=$apr_util_path --with-apr=$apr_path"
  • make_http="--prefix=$http_path --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=$apr_path --with-apr-util=$apr_util_path --enable-suexec --with-suexec"
  • make_mysql="-DCMAKE_INSTALL_PREFIX=$mysql_path -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0  -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci "
  • make_php="--prefix=$php_path --with-mysql=$mysql_path --with-config-file-path=$php_path/etc --with-openssl --enable-sockets --with-mysqli=$mysql_path/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml -with-apxs2=$http_path/bin/apxs --with-bz2"
  • ###################################
  • host1=/cacti
  • ##################################
  • check_apache() {
  •   [ -e $apr_path ] && echo -e "\033[31m apr installed\033[0m" && re=1
  •   [ -e $apr_util_path ] && echo -e "\033[31m apr-util installed\033[0m" && re=1
  •   [ -e $http_path ] && echo -e "\033[31m apache installed\033[0m" && re=1
  • }

  • check_php() {
  •   [ -e $php_path ] && echo -e "\033[31m php installed\033[0m" && re=1
  • }

  • check_mysql() {
  •   [ -e $mysql_path ] && echo -e "\033[31m mysql installed\033[0m" && re=1
  • }

  • check_all() {
  •   count=0
  •   check_apache
  •   [ ! $re -eq 0 ] && count=1  
  •   check_php  
  •   [ ! $re -eq 0 ] && count=${count+1}
  •   check_mysql  
  •   [ ! $re -eq 0 ] && count=${count+1}
  •   [ ! $count -eq 0 ] && exit 1
  • }

  • init_install() {
  •   setenforce 0
  •   service iptables stop &>/dev/null
  •   yum -y groupinstall "Development Libraries" "Development Tools" "X Software Development"  &>/dev/null
  •   yum -y install pcre-devel &>/dev/null
  • ####################################
  •   if [ -e /usr/src/$apr ];then
  •     cd /usr/src
  •     tar xjf $apr &>/dev/null
  •     cd /usr/src/`echo $apr | awk -F.tar '{print $1}'`
  •     ./buildconf &>/dev/null
  •     ./configure $make_apr &>/dev/null
  •     make  &>/dev/null && make install &>/dev/null
  •       if [ $? -eq 0 ];then
  •          echo "$apr install ok"
  •       else
  •          echo "$apr install fail"
  •          exit 2
  •      fi
  •   else
  •     echo "/usr/src/$apr no file"  
  •     exit 3
  •   fi
  • ####################################
  •    if [ -e /usr/src/$apr_util ];then
  •      cd /usr/src
  •      tar xjf $apr_util
  •      cd /usr/src/`echo $apr_util | awk -F.tar '{print $1}'`
  •      ./buildconf --with-apr=/usr/src/`echo $apr | awk -F.tar '{print $1}'`  &>/dev/null
  •      ./configure $make_apr_util &>/dev/null
  •      make  &>/dev/null &&  make install &>/dev/null  
  •         if [ $? -eq 0 ];then
  •            echo "$apr_util install ok"  
  •         else
  •            echo "$apr_util install fail"  
  •            exit 2
  •         fi
  •    else
  •      echo "/usr/src/$apr_util no file"  
  •      exit 3
  •   fi
  • ####################################
  •   if [ -e /usr/src/$cmake ];then
  •      cd /usr/src
  •      tar xzf  $cmake
  •      cd /usr/src/`echo $cmake | awk -F.tar '{print $1}'`
  •      ./bootstrap &>/dev/null
  •      make  &>/dev/null && make install &>/dev/null  
  •         if [ $? -eq 0 ];then
  •             echo "$cmake install ok"   
  •         else
  •             echo "$cmake install fail"  
  •             exit 2
  •         fi
  •   else
  •      echo "/usr/src/$cmake no file"  
  •      exit 3
  •   fi
  • ####################################
  • }

  • install_httpd() {
  •   if [ -e /usr/src/$http ];then
  •      cd /usr/src
  •      tar xjf $http  
  •      cd /usr/src/`echo $http | awk -F.tar '{print $1}'`
  •      ./configure $make_http &>/dev/null
  •      make  &>/dev/null && make install &>/dev/null  
  •        if [ $? -eq 0 ];then
  •           echo "$http install ok"  
  •        else
  •            echo "$http install fail"
  •            exit 2
  •        fi
  •    else
  •      echo "/usr/src/$http no file"  
  •      exit 3
  •    fi
  • }

  • install_mysql() {
  •   id mysql &>/dev/null
  •   [ $? -eq 0 ] || useradd -s /sbin/nologin -M mysql
  •   if [ -e /usr/src/$mysql ];then
  •      cd /usr/src
  •      tar xzf $mysql
  •      cd /usr/src/`echo $mysql | awk -F.tar '{print $1}'`
  •      cmake . $make_mysql &>/dev/null
  •      make  &>/dev/null && make install &>/dev/null  
  •        if [ $? -eq 0 ];then
  •           echo "$mysql install ok"  
  •        else
  •           echo "$mysql install fail"
  •           exit 2
  •        fi
  •   else
  •     echo "/usr/src/$mysql no file"  
  •     exit 3
  •   fi
  • }

  • install_php() {
  •   if [ -e /usr/src/$php ];then
  •      cd /usr/src
  •      tar xjf $php
  •      cd /usr/src/`echo $php | awk -F.tar '{print $1}'`
  •      ./configure $make_php &>/dev/null
  •      make  &>/dev/null && make install &>/dev/null  
  •        if [ $? -eq 0 ];then
  •           echo "$php install ok"  
  •        else
  •           echo "$php install fail"
  •           exit 2
  •        fi
  •   else
  •      echo "/usr/src/$php no file"  
  •      exit 3
  •   fi
  • }

  • config_lamp() {
  • ########################################################
  •   echo "pidfile "/var/run/httpd.pid"" >> $http_path/conf/httpd.conf
  •   echo "AddType application/x-httpd-php  .php" >> $http_path/conf/httpd.conf
  •   echo "AddType application/x-httpd-php-source  .phps" >> $http_path/conf/httpd.conf
  •   echo "DirectoryIndex  index.php  index.html" >> $http_path/conf/httpd.conf
  •   echo "Include conf/vhost/*.conf" >> $http_path/conf/httpd.conf
  •   mkdir -p $http_path/conf/vhost
  •   ln -s $http_path/bin/* /sbin/
  •   ln -s $http_path/include/ /usr/include/apache
  •   echo "$local_ip   `hostname`" >> /etc/hosts
  •   if [ -e /media/Server/httpd-2.2.3-63.el5.i386.rpm ];then
  •      cp /media/Server/httpd-2.2.3-63.el5.i386.rpm /var/tmp/
  •      cd /var/tmp
  •      rpm2cpio httpd-2.2.3-63.el5.i386.rpm | cpio -id &>/dev/null
  •      cp /var/tmp/etc/rc.d/init.d/httpd /etc/init.d/
  •      sed -i '40,55d;62d' /etc/init.d/httpd
  •      sed -i s@/usr/sbin/apachectl@$http_path/bin/apachectl@g /etc/init.d/httpd
  •      sed -i s@/usr/sbin/httpd@$http_path/bin/httpd@g /etc/init.d/httpd
  •      chmod a+x /etc/init.d/httpd
  •      chkconfig --add httpd
  •      chkconfig httpd on
  •   else
  • cat > /etc/init.d/httpd /dev/null
  • ########################################################
  •   cp /usr/src/`echo $php | awk -F.tar '{print $1}'`/php.ini-production $php_path/etc/php.ini
  • ########################################################
  • }

  • vhost1() {
  •   [ -e $host1 ] ||  mkdir -p $host1
  • cat > $http_path/conf/vhost/cacti.conf localhost, 可以看到默认监控本机的图像了,如果没有图像执行下如下命令


    • #/usr/local/php/bin/php /cacti/poller.php


      OK,到这里已经安装配置好了,后面会再写篇博客介绍cacti的使用,




运维网声明 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-661894-1-1.html 上篇帖子: cacti文档 下篇帖子: 构建cacti监控平台, LAMP使用脚本自动化编译安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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