Centos 7 install cacti监控

 

首先,先安装LNMP服务

安装一:

如果觉得安装起来麻烦,可以到如下网站进行安装;

https://lnmp.org/install.html

安装二:

采用yum或者安装包的方式进行安装,具体操作请参照百度。

 

开始配置Cacti

1:安装net-snmp简单网络管理协议

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

2:安装RRDTool 绘图工具

yum install -y rrdtool rrdtool-devel rrdtool-php rrdtool-perl perl-devel perl-CPAN perl-YAML

3:配置SNMP
修改snmp配置文件,找到如下内容修改
vim /etc/snmp/snmpd.conf
//修改default为本机ip,修改public为自己的团体名(可以不改),41行
com2sec notConfigUser default public
//把systemview改成all ,供所有snmp 访问权限 62行
access notConfigGroup "" any noauth exact all none none
//去掉此行注释
view all included .1 80 // 去掉#号 85行
重启snmp服务

systemctl restart snmpd.service && systemctl enable snmpd.service

4:修改PHP时区
vim /usr/local/php/etc/php.ini
[PHP]
safe_mode = Off
……
date.timezone = Asia/Shanghai

5:修改Mysql配置文件
vim /etc/my.cnf
在文件最末尾新建[server]区域,复制进去以下内容
[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_additional_mem_pool_size = 96M
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads =16

注释掉[mysqld]区域下的
#max_allowed_packet = 1M

/etc/init.d/mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!

6:下载cacti安装包
wget https://www.cacti.net/downloads/cacti-1.1.38.tar.gz
tar zxvf cacti-1.1.38.tar.gz
cp -R cacti-1.1.38 /home/wwwroot/default/cacti

7:创建cacti数据库

[root@localhost /]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.18-log Source distribution

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on cacti.* to cactiuser@localhost identified by "cactiuser";
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> GRANT SELECT ON mysql.time_zone_name TO 'cactiuser'@'localhost' IDENTIFIED BY 'cactiuser';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

注意:这里的数据库用户名密码全部为cactiuser,可以自定义。

8:导入cacti数据文件
mysql> use cacti;
Database changed
mysql> source /home/wwwroot/default/cacti/cacti.sql
Query OK, 1 row affected (0.00 sec)

Query OK, 1 row affected (0.00 sec)

Query OK, 1 row affected (0.00 sec)

....................................
Query OK, 1 row affected (0.00 sec)

Query OK, 1 row affected (0.00 sec)

Query OK, 1 row affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

9:配置数据库时区
cd /usr/local/mysql/bin/
./mysql_tzinfo_to_sql /usr/share/zoneinfo/ | mysql -u root -p mysql
Enter password:
Warning: Unable to load '/usr/share/zoneinfo//iso3166.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo//zone.tab' as time zone. Skipping it.

10:cacti配置文件config.php

主要修改数据库用户名密码,和cacti路径,这里全部默认,根据个人配置进行修改
vim /home/wwwroot/default/cacti/include/config.php
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cactiuser';
$database_port = '3306';
$database_ssl = false;

11:创建 cacti 系统用户,设置目录权限

useradd -r -M cacti
chown -R cacti /home/wwwroot/default/cacti/{rra,log}/
chown -R www:www /home/wwwroot/default/cacti/{resource,cache,scripts}
chmod -R 777 /home/wwwroot/default/cacti/


12:添加定时任务
[root@localhost bin]# crontab -e
*/5 * * * * cactiuser php /home/wwwroot/default/cacti/poller.php > /dev/null 2>&1

no crontab for root - using an empty one
crontab: installing new crontab

13:重新启动相关服务
systemctl restart crond && systemctl restart snmpd

14:安装spine
cacti默认使用cmd.php来轮询数据,速度会很慢,因此我们采用Spine来轮询数据。cacti-spine是一个由C语言开发的,用于替代cmd.php的快速获取速度的引擎。(也可以不装)
安装spine高速数据采集插件

15:访问ip

 查看是否完成配置,按照提示操作进行一步步安装。

 

posted @ 2019-03-27 18:02  Old·Artist  阅读(665)  评论(0编辑  收藏  举报