一种不错的使用cacti的方法-dockered cacti

来源:互联网 发布:远程协助软件 编辑:程序博客网 时间:2024/06/01 14:06

ubuntu17.04提供了安装后的cacti 0.8.8h,但同时提供的php7与cacti喜欢的php5.7有冲突。需要修改cacti源码(cmd.php FIXME)才能保证cacti部分工作。

现在将我使用的一种不错的cacti方法说出来。

使用docker安装cacti最新版本cacti1.1.12

方法如下,在ubuntu16.04下,

1(optional) 克隆 https://github.com/scline/docker-cacti.git

git clone https://github.com/scline/docker-cacti.git

2 编写一个docker-compose.xml

参考 https://github.com/scline/docker-cacti/tree/master/docker-compose

时区改一下呵,时区修改参考FIXME

TZ=Asia/Shanghai

3 运行 docker-compose up -d

在docker-compose.xml同目录,运行,目的是下载cacti,并安装mysql,并将二者关联起来。

4 经过步骤3此时cacti已经运行起来,按照传统cacti安装步骤,通过http服务访问cacti,进行安装。例如http://**:80(80为docker中指定端口)

5 经过步骤4后可以正常运行cacti,其他都可以用docker来对容器进行维护。

例如,向cacti里放入脚本文件

docker cp test.pl 2345:/cacti/scripts/   (其中2345是docker容器实例id,/cacti/scripts/是cacti运行目录)

在cacti里执行测试

docker exec 2345 /bin/bash 进入交互模式

2345> snmpwalk ...执行snmpwalk脚本测试

此方法的优点:

1 使用docker,与宿主机无关,因而对宿主机操作系统,php等版本无要求(最好是centos7,因centos6不太支持docker)

2 半小时内完成搭建和测试(只是从网上拖文件)


附件1

参考 https://github.com/scline/docker-cacti/tree/master/docker-compose

docker-compose.yml

version: '2'services:  cacti:    image: "smcline06/cacti"    ports:      - "80:80"      - "443:443"    environment:      - DB_NAME=cacti_master      - DB_USER=cactiuser      - DB_PASS=cactipassword      - DB_HOST=db      - DB_PORT=3306      - DB_ROOT_PASS=rootpassword      - INITIALIZE_DB=1      - TZ=America/Los_Angeles    links:      - db  db:    image: "percona:5.7.14"    ports:      - "3306:3306"    command:      - mysqld      - --character-set-server=utf8mb4      - --collation-server=utf8mb4_unicode_ci      - --max_connections=200      - --max_heap_table_size=128M      - --max_allowed_packet=32M      - --tmp_table_size=128M      - --join_buffer_size=128M      - --innodb_buffer_pool_size=1G      - --innodb_doublewrite=OFF      - --innodb_flush_log_at_timeout=3      - --innodb_read_io_threads=32      - --innodb_write_io_threads=16    environment:      - MYSQL_ROOT_PASSWORD=rootpassword      - TZ=America/Los_Angeles