Cacti

Cacti部署(二)

一、前言

在一中我们通过docker部署cacti,但是后期遇到很多问题,主要有两个问题,一是自定义的mysql镜像启动mysql容器后无法对数据持久化,导致每次启动都在初始化cacti数据库,二是以bridge模式启动的容器无法接受snmpagent反馈过哦来的数据,即使以内部端口映射为161/udp端口,但是外部端口启动的是161/udp6,无法将数据返回给cacti服务器,这样导致有图但是不出数据。本文中为了解决这两个问题,同时使用第三方percona模板来监控系统和各个应用,重新在上一文的基础上部署,但这里就不做具体描述,只贴出相关仓库链接以及使用该仓库需要注意的点。

二、开始部署

2.1.重点文件说明

git clone https://github.com/linuxwt/Cacti-Docker 拉取项目仓库
仓库中有很多文件或脚本,这里做一个说明
常规文件说明
container/docker-compose.yml 同时编排了3个应用,nginx、php、mysql,需要注意php容器使用的网络模式是host模式,mysql和nginx为bridge模式,这样处理是为了snmpagent的数据直接返回到cacti服务器的161udp端口,如果使用bridge模式,cacti服务器无法收到数据,即使利用port参数进行映射,外部的映射端口为161/udp6,这样也是无法接收agent端返回的数据的
container/start 初次部署使用的脚本,该脚本进行了一些重要文件的部分内容替换以及cacti数据库的初始化,同时还有解决了cacti的一些数据库上的bug,如果要重新初始化,需要将该脚本中有替换动作的文件进行恢复
container/poller.sh 启动采集器的脚本
container/snmpd.conf cacti服务器中snmpd服务的配置文件,里面的ip为cacti服务器宿主机的ip
特殊文件说明
部署完cacti服务器后,如果我们要使用第三方模板percona模板来监控一些系统参数或者某些应用,则需要进行相关配置,其原理是利用脚本ss_get_by_ssh.php远程到目标服务器进行数据获取,并利用相关模板(图像模板、数据模板)来展示
id_rsa、id_rsa.pub 公私钥文件,用于远程登陆被监控机器的,为了方便这里直接就给出了两个公钥私钥文件,具体如何生成呢?
cacti服务器部署在服务器192.168.43.100上,但其实具体要用到这两个文件的容器时php所在的容器,所以最好是进入容器生成这两个文件,然后将其copy到宿主机,再进行volume的映射,目标监控主机为192.168.43.101,生成以上两个文件的步骤如下:
docker exec -it php_cacti bash
ssh-keygen
输入/etc/cacti/id_\rsa
空格
空格
chown -R root.root /etc/cacti/id_rsa*
ssh 192.168.43.101 adduser cacti
输入cacti的密码(需要提前在目标服务器设置密码)
ssh-copy-id -i /etc/cacti/id_rsa.pub cacti@192.168.43.101
测试
ssh -i /etc/cacti/id_rsa cacti@192.168.43.101 echo "it works."

2.2.开始部署

前面构建相应镜像就不细述了,可以参考仓库说明
bash container/start
不出意外会启动三个容器,分别为nginx_cacti、php_cacti、mysql_cacti
浏览器访问http://192.168.43.100/cacti
报错

FATAL: Connection to Cacti database failed. Please ensure the database is running and your credentials in config.php are valid.

这种错误一般是cacti数据库初始化报错或无法连接数据库,登录查看cacti数据库,发现没有生成cacti数据库,说明start脚本中数据库的操作没有生效,手动执行数据库相关操作后错误解决

01cacti1
上图中一个也不要选,因为我们要使用percona模板来作图

支付宝扫码打赏 微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章

linuxwt's Picture
linuxwt

我叫王腾,来自武汉,2016年毕业后在上海做了一年helpdesk,自学了linux后回武汉从事系统运维的工作,从2017年开始写博客记录自己的学习工作,现在正在进行数据迁移到此博客,目前就职于中国移动设计院有限公司,个人的座右铭是:逃脱舒适区才能在闲暇的时候惬意的玩耍。

武汉光谷 https://linuxwt.com

Subscribe to 今晚打老虎

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!

Comments