|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
分类:
cdv001-lbchac
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通