CentOS 7.6 mini 1810安装Cacti 1.2.11并解决中文界面乱码的问题

  • by
在这里插入图片描述

主要参考来源:https://blog.csdn.net/mdf1680/article/details/90257327

 

感谢 老白(白开心)及Neil两位大神的帮助

 

1、Cacti架构
Cacti三层架构:
– 数据采集层:通过SNMP或自定义脚本进行数据采集
– 数据存储层:通过cacti模板等数据存放至MYSQL中
– 数据展现层:通过WEB方式呈现出来
Cacti实际上就是一个运行php脚本的网站

在这里插入图片描述

2、安装相关的软件包
2.1 安装httpd和php

 

2.2 安装php扩展

2.3 设置php,据系统实际情况设定时区

 

2.4 启动httpd并设置开机启动

 

2.5 安装MariaDB 10.3数据库
设置yum源

原文官方的 mariadb.org 源太慢,几K,更换国内的比较快一些

安装MariaDB

 

启动mysql数据库服务并设为开机启动

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

 

修改MariaDB配置

 

2.6 安装net-snmp

 

配置snmp

修改snmp端口号

 

启动snmp并设置开机启动

确定snmp是否安装成功。

输入命令:rpm -qa | grep snmp
结果显示:
net-snmp-libs-5.5-27.el6.x86_64
net-snmp-5.5-27.el6.x86_64

修改配置文件

vi /etc/services 将snmp的161端口改成需要的12161,并保存退出。

最简单的实现如下:
/usr/sbin/snmpd tcp:端口或/usr/sbin/snmpd udp:端口

vi /etc/rc.d/init.d/snmpd
修改前 OPTIONS=”-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a”
修改后 OPTIONS=” tcp:9999 -Lsd -Lf /dev/null -p /var/run/snmpd.pid -a”
/etc/rc.d/init.d/snmpd start就行了。

 

2.7 安装RRDTool 绘图工具 目前RRDTool工具最新版本为1.7.2
安装编译时可能使用到的软件

下载rrdtool 1.7.2

 

编译安装rrdtool
注:网络上有说修改src/rrd_too.c里面的setlocale(LC_ALL, “”),在””内输入zh_CN.utf-8或zh_CN.gbk18030什么的,这是有问题的,会导致cacti英文界面仍显示中文星期的情况。

 

以上的顺序是有问题的,经过多次尝试,先编译bootstrap文件总是有报错

后经过Neil大神检查编译编译顺序要有所调整,原因是bootstrap脚本必须要有config.status文件支撑,但是在未编译configure文件前,没有config.status文件。需要先编译。后顺利完成。

原文在使用以上软件的时候,系统还缺几个组件,导致./bootstrap无法编译

2.8. 安装spine
先安装编译spine时的相关软件

一定要下载与cacti相同版本的

编译安装

编辑spine.conf:

我测试不作修改,可按实际情况修改/etc/spine.conf如下部分:

2.9 安装中文字体库
安装相关软件

建立存放中文字体库的文件夹

将字体上传到/usr/shared/fonts/chinese
我这里就只安装个华文楷体和宋体,上传方式就不细说了。
执行ttmkfdir命令

因为cacti指定的字体库也没有在配置文件内指定,我估计不做下面这一步也是可以的,但我就不测试了。
修改字体配置文件

增加红色框内一行

在这里插入图片描述

刷新字体库缓存

查询已经安装字体

3 安装及配置cacti 1.2.11
3.1 下载安装包

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

3.3 导入 Cacti 默认数据库

3.4 配置数据库时区:

3.5 据实际情况配置cacti的config.php,我测试的所有按默认值,一般是修改第2、4、5行

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

3.7 重启相关服务

关闭selinux(生产环境请慎重)

关闭防火墙

 

3.8 初始化cacti
在浏览器访问:http://192.168.2.186/cacti,进入安装界面。
在进入安装之前建议关闭selinux,另如果没有关闭防火墙请开放服务器的80端口 默认用户名admin 密码admin

原文巨坑,cacti安装完后就停留在登陆界面,输入默认的用户名密码登陆不进去。

我的测试安装环境是CentOs7.6 1810 mini版本的测试环境,以上程序都部署完毕以后,登录admin,发现在登录框无论如何都进不去,无论敲多少遍,自己分析过可能是linux权限问题,进而转战Windows权限还是不够用。

实在无奈求白开心大神花了两三天的时间帮忙排错。最终确认是session_domain的问题

1.2.11的新截图我犯懒就不截了,用原作者的1.2.3的,大概意思一样。但是可选中文主题,后续全部为中文操作。

在这里插入图片描述

选择接受,再按开始,可以选择中文界面
如果出现错误 (Error)提示,请按提示相应修改,如果出现警告(Warning)则可以不修改,建议生产环境按建议修改为好。

这张是还有点问题的

在这里插入图片描述

按next继续

在这里插入图片描述

选择主服务器继续

在这里插入图片描述

出现这个继续

在这里插入图片描述

如果出现这个提示(Centos 7安装肯定会出现这个页面),请出行以下操作。

System log file is not available for writing, please enable write access Log: /var/www/html/cacti/log/cacti.log

 

然后清理浏览器的缓存(主要是cookie),重新打开浏览器,重新登录(用修改了的密码)一般就可以了。

在这里插入图片描述

注意:要选择正确的RRDtool版本
再按next继续

在这里插入图片描述

一般选择5分钟就行了,生产环境也可以了,我为了快点得到结果就选择了一分钟。
网络网段,请据实际情况选择。这个功能挺好用的,Cacti会将同一网段内所有设置好snmp的服务器自动加入监控,不过有些设置选项有问题导致图片没数据,我这里就关闭了。
继续就会出现以下画面:

在这里插入图片描述

继续

在这里插入图片描述

继续

在这里插入图片描述

Install
完成后重新登录
如果刚才已经正确的输入了spine.conf的路径,这里就不用再设置了

在这里插入图片描述

将cmd.php改为spine

在这里插入图片描述

3.9 管理设备及创建图形
删除自动生成的设备,管理>>设备
打勾,选择删除,点Go

在这里插入图片描述

增加设备,点击右上角的 +
主要是留意上面红圏内容,不能有错,其他默认就可以了。

在这里插入图片描述

删除没有数据的数据源。
点击那些0项目0列数据源后面的 x,再点保存。

在这里插入图片描述

建立图形
据自己的实际需要建立图形,注意红色圈的选择,选择其他的选项可能会没有数据。

在这里插入图片描述

加入树,管理>>树
点开Default Tree,再点编辑树,将可用设备的Cacti_server拖到 Local>Machine的里面,出现绿色的勾就可以放手。也可以增加其他的分支,把设备拖到相应的分支里面。最后点完全编辑树。

在这里插入图片描述

4、 建立定时任务,让系统每分钟更新一次数据。
建立之前重新刷新一下log目录权限,在Cacti系统初始化时生成的log文件权限不对,且用户及组都是apache。

登录用户cactiuser,测试运行,建立crontab。

查看图形是否生成。
点左上角的图形就可以查看

在这里插入图片描述

可以看到图形已经生成,并且中文正确显示。
我们改为英文界面,看看结果。
系统配置>>设置,基本
把语言改为英文,把自动检测禁用。

在这里插入图片描述

退出再重新登录,查看图形(Graph)

在这里插入图片描述

可以发现,界面的星期已经变为英文。
到了1.2.3版本,Cacti对中文的支持已经比较成熟了,界面已经基本上支持中文的了,我既不用改rrd_tool.c再编译rrdtoo,也不用修改cacti中的rrd.php,只要装了中文字体库就可以支持中文图形了。
我查了一下系统的默认语言,其实是英文来的。

 

所有的测试安装到此已经完成,如果有其他服务器经加入监控,请安装 net-snmp并按上面的snmpd.conf同样的设置,并开启防火墙相应的端口:161、162就可以了。

 

标签:

发表评论