|NO.Z.00032|——————————|^^ 构建 ^^|——|Cacti构建.V2|——|2台server|

一、cacti监控构建
### --- 环境准备

~~~     HA-server1:10.10.10.11:cacti服务端
~~~     HA-server2:10.10.10.12:cacti客户端
二、SNMP 收集工具数据演示
### --- 安装SNMP工具收集数据的方式及简单配置方式(只是演示,不做为配置用,演示结束恢复快照初始状态)
### --- 安装snmp

[root@server11 ~]# yum install -y net-snmp net-snmp-utils
[root@server11 ~]# service snmpd start
### --- 查看tcp的信息:

[root@server11 ~]# snmpwalk -v 2c -c public 10.10.10.11 tcp                 // tcp:收集数据的名称,10.10.10.11收集主机的地址
TCP-MIB::tcp = No Such Object available on this agent at this OID           // 反馈没有对应的对象去对应这个OID
[root@server11 ~]# snmpwalk -v 2c -c public 10.10.10.11 system              // system可以正常获取数据,说明SNMP没有问题而是配置有问题
SNMPv2-MIB::sysDescr.0 = STRING: Linux server11 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 
~~~     SNMP 版本:
~~~     V1版本:简单高效   已经把之前的需求做的非常完善了。缺点:不支持加密,以及身份认证
~~~     V2版本:简单高效       身份认证加入
~~~     V3版本:简单高效       加密加入                                    // V2、V3版本不是必须的。也不是非常重要的,常见的也就是这三个版本
~~~     -c:共同体名称:   SNMP        >组号:默认组号是public
### --- 修改SNMP的配置文件

[root@server11 ~]# vim /etc/snmp/snmpd.conf         
com2sec     notConfigUser       default         public                      // default(默认值) public(共同体名称)
group       notConfigGroup      v1              notConfigUser               // v1 支持的版本:V1
group       notConfigGroup      v2c             notConfigUser               // v2c 支持的版本:V2C
view        systemview          included        .1.3.6.1.2.1.1              // view(定义一个名视图)    systemview 视图名称为systemview)(加载了一个OID;数字为OID号)
view        systemview          included        .1.3.6.1.2.1.25.1.1
access      notConfigGroup ""      any   noauth    exact  all none none     // 把systemview单独改为all表示开启的所有的都调用。
view all    included  .1        80                                          // view all(不是表示所有,而是视图名称)included  .1(ID号.1下的所有:只有是ISO图形标准化组织体系下的,它都支持)   80
[root@server11 ~]# service snmpd restart 
~~~     再次查看tcp的信息

[root@server11 ~]# snmpwalk -v 2c -c public 10.10.10.11 tcp                 // 可以正常获取数据
TCP-MIB::tcpConnectionState.ipv4."10.10.10.11".22.ipv4."10.10.10.240".53183 = INTEGER: established(5)       //当前的xshell连接信息
TCP-MIB::tcpConnectionProcess.ipv4."10.10.10.11".22.ipv4."10.10.10.240".53183 = Gauge32: 2153                   

三、cacti.服务端构建.实验专题
1、环境准备
### --- 在HA-server1:10.10.10.11下配置
### --- LAMP环境:源码包:经测试源码包比rpm包安装要提高20%左右的并发量,
### --- 对于监控服务来说,对于公司可能有200多人使用监控服务,每个人2台设备同时监控,并发也就是200左右,对于rmp包还是源码包,200的并发量也是可以满足的。优选rpm包,在并发量需求比较大的情况下,选择源码包更适用。
### --- 安装环境

[root@server11 ~]# yum install -y httpd  mysql mysql-server mysql-devel libxml2-devel mysql-connector-odbc perl-DBD-MySQL unixODBC php php-mysql php-pdo
 Install      20 Package(s)
Total download size: 18 M
Installed size: 57 M
Installed:
  libxml2-devel.x86_64 0:2.7.6-21.el6   mysql.x86_64 0:5.1.73-7.el6           mysql-connector-odbc.x86_64 0:5.1.5r1144-7.el6   mysql-devel.x86_64 0:5.1.73-7.el6  
  mysql-server.x86_64 0:5.1.73-7.el6    perl-DBD-MySQL.x86_64 0:4.013-3.el6   php.x86_64 0:5.3.3-47.el6                        php-mysql.x86_64 0:5.3.3-47.el6    
  php-pdo.x86_64 0:5.3.3-47.el6         unixODBC.x86_64 0:2.2.14-14.el6      
Dependency Installed:
  keyutils-libs-devel.x86_64 0:1.4-5.el6  krb5-devel.x86_64 0:1.10.3-57.el6     libcom_err-devel.x86_64 0:1.41.12-22.el6  libselinux-devel.x86_64 0:2.0.94-7.el6 
  libsepol-devel.x86_64 0:2.0.41-4.el6    openssl-devel.x86_64 0:1.0.1e-48.el6  perl-DBI.x86_64 0:1.609-4.el6             php-cli.x86_64 0:5.3.3-47.el6          
  php-common.x86_64 0:5.3.3-47.el6        zlib-devel.x86_64 0:1.2.3-29.el6     
Complete!
### --- 安装基础环境LAMP

[root@server11 ~]# service httpd start                                      // 启动Apache
[root@server11 ~]# chkconfig httpd on                                               
[root@server11 ~]# service mysqld start                                     // 启动MySQL
[root@server11 ~]# chkconfig mysqld on
[root@server11 ~]# mysqladmin -uroot password 123                           // 为musql配置初始化密码:123
### --- 安装SNMP相关组件,及lm_sensors:主要监控主板的相关信息
 
[root@server11 ~]#  yum install -y net-snmp net-snmp-utils net-snmp-libs lm_sensors      //安装SNMP、主板信息监控所需软件包
2、安装rrdtool
### --- 将cacti.iso上传到服务器中

[root@server11 ~]# mkdir /iso
[root@server11 ~]# mount -o loop cacti.iso /iso/
[root@server11 ~]# cp -a /iso/* .                                           // 将/iso/下的所有文件拿到当前目录,点表示当前目录
[root@server11 ~]# ls
cacti    cacti-plugin  cgilib-0.5.tar.gz  cpuburn-in.tar.gz      rrdtool-1.4.5.tar.gz
### --- 安装rrdtool

[root@server11 ~]# tar -zxvf rrdtool-1.4.5.tar.gz                           //源码编译安装
[root@server11 ~]# cd rrdtool-1.4.5                                         // 该版本可能有问题,需要安装在解决报错,若是把这些报错先解决掉,反而安装不上rrdtool,所以边安装边解决报错。
~~~     安装报错

[root@server11 rrdtool-1.4.5]# ./configure --prefix=/usr/local              // 会报错,相关依赖库都没有
checking for xmlParseFile in -lxml2... yes
checking libxml/parser.h usability... yes
checking libxml/parser.h presence... yes
checking for libxml/parser.h... yes
configure: error: Please fix the library issues listed above and try again.
~~~     解决方案:                                                           // 解决源码编译报错依赖

[root@server11 ~]# cd
[root@server11 ~]# tar -zxvf cgilib-0.5.tar.gz

[root@server11 ~]# cd cgilib-0.5
[root@server11 cgilib-0.5]# make                                            // 因为rrdtool已经Makefile生成了,此处没有必要在Makefile了
[root@server11 cgilib-0.5]# cp libcgi.a /usr/local/lib                      // 把头文件和函数库文件拿到对应的目录下,让其调用
[root@server11 cgilib-0.5]# cp cgi.h /usr/local/lib
[root@server11 cgilib-0.5]# yum install -y libart_lgpl-devel pango-devel* cairo-devel*              //安装rrdtool开始时使用的软件包
~~~     安装rrdtool

[root@server11 cgilib-0.5]# cd /root/rrdtool-1.4.5
[root@server11 rrdtool-1.4.5]# ./configure --prefix=/usr/local
~~~ 输出参数
Libraries: -lxml2 -lcairo -lcairo -lcairo -lm  -lcairo -lpng12   -lglib-2.0   -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0  
Type 'make' to compile the software and use 'make install' to 
install everything to: /usr/local.
       ... that wishlist is NO JOKE. If you find RRDtool useful
make me happy. Go to http://tobi.oetiker.ch/wish and
place an order.
                               -- Tobi Oetiker <tobi@oetiker.ch>
[root@server11 rrdtool-1.4.5]# make && make install
make[3]: Leaving directory `/root/rrdtool-1.4.5/bindings'
make[2]: Leaving directory `/root/rrdtool-1.4.5/bindings'
make[1]: Leaving directory `/root/rrdtool-1.4.5/bindings'
make[1]: Entering directory `/root/rrdtool-1.4.5'
make[2]: Entering directory `/root/rrdtool-1.4.5'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/root/rrdtool-1.4.5'
make[1]: Leaving directory `/root/rrdtool-1.4.5'
3、部署cacti,设置数据库连接
### --- 部署源码包,并安装补丁文件

[root@server11 ~]# cd cacti
[root@server11 cacti]# tar -zxvf cacti-0.8.7g.tar.gz                        // 解压cacti源码包
[root@server11 cacti]# mv cacti-0.8.7g /var/www/html/                       // 拷贝至Apache默认路径,默认网页分发目录
[root@server11 cacti]# cd !$                                                // 再到/var/www/html目录下
cd /var/www/html/
[root@server11 html]# ln -s cacti-0.8.7g/ cacti                             // 做个软连接,把版本号去掉,更便于调用
~~~     打对应的补丁,补丁文件在/root/cacti/目录下

[root@server11 html]# cd cacti
[root@server11 cacti]# pwd
/var/www/html/cacti

[root@server11 cacti]# patch -p1 -N < /root/cacti/data_source_deactivate.patch      //数据源的补丁:-p1:-p后面是数字1
patching file lib/api_data_source.php
[root@server11 cacti]# patch -p1 -N < /root/cacti/graph_list_view.patch             //图像列表补丁
patching file graph_view.php

[root@server11 cacti]# patch -p1 -N < /root/cacti/html_output.patch                 //图形输出补丁
patching file lib/html_form.php
patching file lib/data_query.php
patching file data_sources.php
patching file graphs.php
[root@server11 cacti]# patch -p1 -N < /root/cacti/ldap_group_authenication.patch        //ldap域的补丁
patching file lib/ldap.php
[root@server11 cacti]# patch -p1 -N < /root/cacti/script_server_command_line_parse.patch //脚本补丁
patching file script_server.php

[root@server11 cacti]# patch -p1 -N < /root/cacti/ping.patch                             //ping补丁
patching file lib/ping.php
[root@server11 cacti]# patch -p1 -N < /root/cacti/poller_interval.patch                  //poller池补丁
patching file lib/database.php
patching file poller.php
### --- 添加检测数据的用户账号,更改权限,保证读写数据正常

[root@server11 cacti]# useradd runct                                        // 添加runct用户,用于RRDTOOL运行
[root@server11 cacti]# chown -R root.root ./                                // 赋予初始化的权限,当前的所有文件下都执行root用户权限
[root@server11 cacti]# chown -R runct.runct rra log                         // rra:存放图片目录, 因为图片会交给runct这个用户去完成,所以要进行runct用户权限授权,还有log目录。
### --- 授权数据库用户,导入初始化数据

[root@server11 cacti]# mysql -u root -p
Enter password: 123
mysql> create database cactidb default character set utf8;                  // create database cactidb:数据库名称 default character set utf8:默认字符集为utf8
Query OK, 1 row affected (0.00 sec)
mysql> grant all on cactidb.* to 'cactiuser'@'localhost' identified by 'pwd@123';   //grant all on cactidb.*:所有权给cacti库下的所有表    cactiuser用户'@'localhost本地登录权限;  pwd@123:密码
Query OK, 0 rows affected (0.00 sec)                                        // 把cactiuser用户赋予cactidb库的所有权限

[root@server11 cacti]# mysql -uroot  -p cactidb < cacti.sql                 // cacti数据库还原;使用cactiuser用户也是可以的
Enter password: 
[root@server11 cacti]#  mysql -u cactiuser -p cactidb  < cacti.sql          // 或者这一条命令,不操作 
[root@server11 cacti]# mysql -uroot -p                                      // 还原成功后进去检查一下表
Enter password: 123
mysql> use cactidb
mysql> show tables;                                                         // 生成48个表
### --- 修改cacti配置文件

[root@server11 cacti]# vim include/config.php                               // 配置cacti页面链接数据库的认证信息
$database_type = "mysql";                                                   // 连接数据库相关配置
$database_default = "cactidb";                                              // 数据库名称为:cactidb
$database_hostname = "localhost";                                           // 本地登录localhost
$database_username = "cactiuser";                                           // cactiuser用户
$database_password = "pwd@123";                                             // 密码为pwd@123
$database_port = "3306";                                                    // 端口为3306
### --- 调整http配置

[root@server11 ~]# vim /etc/httpd/conf/httpd.conf                           // 配置Apache对cacti的用户权限
DocumentRoot "/var/www/html/cacti"                                          // 修改分发目录
<Directory "/var/www/html/cacti">                                           // 权限配置目录
</Directory>
DirectoryIndex index.php index.html index.html.var                          // 添加默认主页为index.php
AddDefaultCharset UTF-8                                                     // 默认字符集为utf8,不需要更改,检查即可 
### --- 重启Apache服务:因为修改Apache配置文件。
 
[root@server11 ~]# service httpd restart

四、cacti.Chrome初始配置
1、安装:通过Chrome访问:http://10.10.10.11/install/     进行安装配置:一些图形化的信息
2、这是一个新的安装还是更新:选择新的安装
3、检测相关的lab库是否正常,若现是绿色表示正常,若是对应的显示红色,去监测看有没有问题。
4、展示登录页面:用户名:admin;密码:admin
5、更改默认密码为:123
6、进入到cacti的监控页面下
### --- 进入到cacti的监控页面下

~~~     console:控制点页面:
~~~     graphs:图像展示页面
~~~     settings:设置相关参数

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(43)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示