网络监控cacti1.2.12安装部署(一)

一、cacti概述
cacti是基于php语言实现的一个软件,通过snmp协议获取信息,并将信息存储在rrdtool中,用户可以将需要查看的数据通过rrdtool生成图表显示出来。所以snmp和rrdtool是cacti的核心所在。
cacti架构:

cacti工作流程:

二、安装cacti 1.2.12

备注:本次搭建使用centos7系统,可参见centos7模板机搭建部署

1、安装软件

yum install -y httpd php php-mysql php-snmp php-xml php-ldap php-gd php-mbstring php-posix

2、设置时区

[root@localhost ~]# vim /etc/php.ini
[PHP]
……
date.timezone = Asia/Shanghai   #878行

3、开机启动httpd

systemctl start httpd && systemctl enable httpd

4、安装db
4.1 设置db yum安装源

cat >/etc/yum.repos.d/MariaDB.repo<<EOF
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

4.2 安装DB

yum install -y MariaDB-server MariaDB-client MariaDB-devel

4.3 启动db,并设置开机启动

systemctl start mariadb && systemctl enable mariadb

4.4 初始化数据库,设定密码,除了开始直接回车,其他的选择都输入Y。

[root@localhost ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
......
Enter current password for root (enter for none):   //初始数据库密码为空,直接按回车键
OK, successfully used password, moving on...
......
Set root password? [Y/n] Y    //输入root管理员密码
New password:
Re-enter new password:
Password updated successfully!
......
Remove anonymous users? [Y/n] Y    //删除匿名账号
 ... Success!
......
Disallow root login remotely? [Y/n] Y   //禁止root管理员从远程登录
 ... Success!
.......
Remove test database and access to it? [Y/n] Y   //删除test数据库并取消对它的访问权限
......
Reload privilege tables now? [Y/n] Y   //刷新授权表,让初始化后的设定立即生效
 ... Success!

4.5 配置MariaDB参数

[root@cacti ~]# vim /etc/my.cnf.d/server.cnf

[server]
# this is only for the mysqld standalone daemon
character_set_server = utf8mb4
collation-server = utf8mb4_unicode_ci
max_heap_table_size = 256M
max_allowed_packet = 16777216
tmp_table_size = 64M
join_buffer_size = 64M
innodb_file_per_table = ON
innodb_buffer_pool_size = 1024M
innodb_doublewrite = OFF
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads =16
innodb_file_format = Barracuda
innodb_large_prefix = 1

5、安装snmp

yum install –y net-snmp net-snmp-libs net-snmp-utils net-snmp-devel net-snmp-perl

5.1 配置snmp

vim /etc/snmp/snmpd.conf
......
//修改default为本机(cacti服务器)的ip,修改public为自己的团体名(一般不改),42行
com2sec notConfigUser 192.168.95.234 public
//把systemview改成all ,供所有snmp 访问权限  64行
access notConfigGroup "" any noauth exact all none none
view all included .1 80 // 去掉#号 85行
......

5.2 启动snmp并设置开机启动

systemctl start snmpd.service && systemctl enable snmpd.service

5.3 验证snmp是否生效

snmpwalk -v 2c -c public localhost

6、安装RRDTool 绘图工具

yum -y install lm_sensors gcc gcc-c++ libart_lgpl-devel zlib-devel libpng-devel freetype-devel gettext-devel glib2-devel pcre-devel pango-devel cairo-devel  libxml2-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker rrdtool

7、安装spine
7.1 安装spine编译软件

yum install -y dos2unix autoconf automake binutils libtool cpp glibc-headers glibc-devel help2man

7.2 下载cacti-spine-1.2.12,这里版本要与cacti相同,

cd /usr/local/src
wget https://www.cacti.net/downloads/spine/cacti-spine-1.2.12.tar.gz

7.3 编译安装cacti-spine

tar zxvf cacti-spine-1.2.12.tar.gz
cd cacti-spine-1.2.12
./bootstrap
./configure
make && make install
chown root:root /usr/local/spine/bin/spine
chmod +s /usr/local/spine/bin/spine
————————————————
如果make时出现
/usr/bin/ld: cannot find -lmysqlclient
collect2: ld returned 1 exit status
make: *** [spine] Error 1
原因:
编译你的工程代码之前之前,
先处理一下mysql的库,默认查找libmysqlclient_r.so,
可是mysql默认为libmysqlclient.so,

内容完全一样,做个链接即可

请在root下执行
cd /usr/local/mysql/lib/mysql/   (库所在目录)
ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so
————————————————

7.4 编辑spine.conf

cp  /usr/local/spine/etc/spine.conf.dist /etc/spine.conf
vim /etc/spine.conf
#找到里面对应参数,根据实际情况修改,这里测试就不改了
DB_Host localhost
DB_Database cacti
DB_User cactiuser
DB_Pass cactiuser
DB_Port 3306

8、 安装cacti

cd /usr/local/src
wget https://www.cacti.net/downloads/cacti-1.2.12.tar.gz
tar zxvf cacti-1.2.12.tar.gz
mv cacti-1.2.12 /var/www/html/cacti

8.1 创建cacti数据库,创建数据库用户cactiuser,设置用户相关授权

[root@localhost src]# mysql -uroot -p
MariaDB [(none)]> create database cacti;
Query OK, 1 row affected (0.002 sec)
MariaDB [(none)]> grant all on cacti.* to cactiuser@localhost identified by "cactiuser";
Query OK, 0 rows affected (0.003 sec)
MariaDB [(none)]> grant select on mysql.time_zone_name to 'cactiuser'@'localhost' identified by 'cactiuser';
Query OK, 0 rows affected (0.001 sec)

8.2 导入 Cacti 默认数据库

MariaDB [(none)]> use cacti;
Database changed
MariaDB [cacti]> source /var/www/html/cacti/cacti.sql;
......
MariaDB [cacti]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [cacti]> quit

测试:

#出现信息
/usr/local/spine/bin/spine

8.3 配置数据库时区

[root@localhost ~]# mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
Enter password:
Warning: Unable to load '/usr/share/zoneinfo//leapseconds' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo//tzdata.zi' as time zone. Skipping it.

8.4 配置config.php

[root@localhost ~]# vim /var/www/html/cacti/include/config.php
......
$database_type     = 'mysql';
$database_default  = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cactiuser';
$database_port     = '3306';
$database_retries  = 5;
$database_ssl      = false;
$database_ssl_key  = '';
$database_ssl_cert = '';
$database_ssl_ca   = '';
......

8.5 创建日志文件,后续安装时用的到

touch /var/www/html/cacti/log/cacti.log
touch /var/www/html/cacti/log/cacti_stderr.log

9、创建用户cactiuser,并授权

useradd cactiuser
chown apache.apache /var/www/html/cacti/ -R
chown cactiuser /var/www/html/cacti/{rra,log}/ -R
chmod 777 /var/www/html/cacti/{rra,log}/ -R

10、重启服务

systemctl restart httpd && systemctl restart mariadb  && systemctl restart snmpd

11、配置页面
11.1 浏览器输入http://ip/cacti,默认密码admin/admin

11.2 修改密码
#注意密码复杂度

11.3 解决PHP警告

解决办法:
修改/etc/php.ini中两个告警参数

11.4 解决mysql警告

修改vi /etc/my.cnf.d/server.cnf,根据警告信息,本着没有就加,不对就改的原则配置以下参数

重启一下服务,并刷新浏览器:

systemctl restart httpd && systemctl restart mariadb  && systemctl restart snmpd

ok,安装成功

(0)

相关推荐

  • wordpress 配置坑详解

    首先 经过我测试,php74模块没有支持apache的.所以升级到php74 之后,php无法使用. 最基本的函数phpinfo 调用不出来,没有相关的模块. 安装mariadb 10.4 之后发现, ...

  • 不给电脑,我用手机敲命令十分钟完成了zabbix监控,面试官当场下offer

    大家好,我是互联网老辛, 关注我,云计算路上不迷路: 面试官一会问如何安装zabbix,一会问如何监控Linux系统,一会又让背一下zabbix后台图形化的各个英文是什么意思. 这个时候,我依然笑嘻嘻 ...

  • 网络监控cacti1.2.12监控配置(二)

    一.监控linux主机 1.linux主机安装net-snmp yum -y install net-snmp 2.修改配置文件 vim /etc/snmp/snmpd.conf //修改defaul ...

  • CentOS7下部署开源网络监控系统LibreNMS

    一.LibreNMS简单介绍 LibreNMS是一款开源的,功能强大且功能丰富的自动发现的网络监控系统,基于PHP,使用SNMP协议.它支持广泛的操作系统,包括Linux,FreeBSD以及思科,Ju ...

  • 2020/12/29【知识】PLC远程网络监控常见的三种实现方式

    背景: 随着物联网技术的发展,信息技术的普及,越来越来的PLC.HMI等自控产品厂商或集成商迫切需要远程监控.调试和维护现场设备.从经济方面,远程管控可以减少人力出差成本,解放了工程师在路途上的时间: ...

  • 各种网络监控拓扑图,十分齐全!

    拓扑图就是网络结构图,拓扑图的作用是可以更直观明了的看清楚网络中各个节点之间的链接,还有接口之间的链接,方便配置和排除错误. 接下来起来看一下各类网络监控拓扑图吧.都能看懂就算入门了~ 一.公安交通视 ...

  • 怪不得家里装了网络监控后,网速就变慢了,原来它一直占用着宽带

    怪不得家里装了网络监控后,网速就变慢了,原来它一直占用着宽带

  • Nagios 网络监控软件曝出严重漏洞,可被黑客劫持

    近日,东方联盟网络安全研究人员披露了有关Nagios网络监控应用程序中13个漏洞的详细信息,这些漏洞可能会被攻击者滥用而劫持基础架构,而无需任何操作员干预. Nagios是类似于SolarWinds网 ...

  • 超大型网络监控系统,最简单的解码上墙方式

    前段时间到一个现场调试解码设备,个人认为此系统简单而方便,可供大家参考.此系统如下: 项目案例分析: 摄像机共353个,录像机32路共14台,分成三个厂区(A/B/C),在三个厂区相隔在10公里以内, ...

  • 干货 | 各种网络监控拓扑图

    拓扑图就是网络结构图,拓扑图的作用是可以更直观明了的看清楚网络中各个节点之间的链接,还有接口之间的链接,方便配置和排除错误. 一起来看下各类网络监控拓扑图吧. 一.公安交通视频管理应用平台解决方案

  • 各种网络监控拓扑图集合「非常齐全」

    拓扑图就是网络结构图,拓扑图的作用是可以更直观明了的看清楚网络中各个节点之间的链接,还有接口之间的链接,方便配置和排除错误. 接下来起来看一下各类网络监控拓扑图吧.都能看懂就算入门了~