部署监控系统Cacti及其运行环境

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

概述: Cacti类似于MRTG监控,而MRTG多用于IDC,方便客户了解监控情况;Cacti是基于PHP开发的,一个rrdtool工具;原理是通过snmp协议采集数据,使用rrdtool绘制图形

 

一、Cacti运行环境部署

Cacit 运行环境需要 PHP + Mysql + rrdtool 以及 snmp 工具的支持。

系统:CentOS 5.6 x86 64位

Catci:

  1. cacti-0.8.7i-PIA-3.1.tar
  2. rrdtool-1.4.5.tar
  3. net-snmp-*

PHP:

  1. php-5.3.10.tar.gz
  2. curl-7.15.0.tar.gz
  3. freetype-2.1.9.tar.gz
  4. gettext-0.16.1.tar.gz
  5. gd-2.0.35.tar.gz
  6. jpegsrc.v6b.tar.gz
  7. libart_lgpl-2.3.17.tar.gz
  8. libpng-1.2.18.tar.gz
  9. libxml2-2.6.32.tar.gz
  10. zlib-1.2.3.tar.gz

Nginx:

Nginx-0.8.51.tar.gz

Mysql:

mysql-5.5.8.tar.gz

以上为LNMP环境基本搭建,不会的请参考http://linuxgeek.blog.51cto.com/6014609/995228

特别指出:

在编译rrdtool时,可能会出现一些问题:

例如:

如果 ./configure 时出现下面这个错误

configure: error: Please fix the library issues listed above and try again.
解决方法(转51cto):

第一:安装 cgilib-0.5.tar.gz

从这里下载:

weget http://download.chinaunix.net/down.php?id=2531&ResourceID=1333&site=1

tar zxvf cgilib-0.5.tar.gz

cd cgilib-0.5
make
cp libcgi.a /usr/local/lib
cp cgi.h /usr/include

如果还不行,请看

第二:安装libart_lgpl-devel这个包

yum –y install libart_lgpl-devel

如果还报错configure: error: Please fix the library issues listed above and try again. 请看

第三:把这两个包装上pango-devel cairo-devel

yum –y install pango-devel* cairo-devel*

然后在

cd cd rrdtool-X.X.X
./configure --prefix=/usr/local/rrdtool

这样肯定能行,一般在第二部就能解决了。

二、部署Cacti

安装 / 配置 cacti

  1. # tar xf cacti-0.8.7i-PIA-3.1.tar
  2. # mv cacti-0.8.7i-PIA-3.1 /database/wwwroot/cacti
    ( 把 cacit 剪切到自定的 web 目录下 )
  3. # chmod 777 – Rf /database/wwwroot/cacti
  4. ( 设置目录权限 , 避免因权限问题而导致目录无法写入 )
  5. # cd /database/wwwroot/cacti
  6. 1
     
    1
     
    Mysql
    1
     
    中创建一个新的库,并导入

    cacti

    1
     
     
    1
     
    目录中

    cacti.sql 并设置好该表的用户权限,然后编辑 cacti 的数据库配置文件。

  7. # vi /database/wwwroot/cacti/include/config.php
    $database_type= “ mysql ” ;
     $database_default = “数据库名称” ;
     $database_hostname = “默认是 localhost ” ;
     $database_username = “用户名” ;
     $database_password = “密码” ;

    更改用户、密码等项与上面给出的对应保存退出

  8. # crontab – e (加入自动执行规则,每 5 分钟执行。)
    */5 * * * * /usr/local/php/bin/php /data/web_server/admin/cacti/poller.php  \
           > /dev/null 2>&1
    (其中 /usr/local/php/bin/php 这个为 php 的安装目录)
  9. 保存退出:wq
  10. 在 nginx上设置好 cacti 所在 web 目录
  11. 打开浏览器 http://domainname/cacti
  12. 进入 cacti 的初始设置页面
    第一次默认登陆账号:admin 密码 admin
    登陆后它就会让你立即修改新密码

注意事项:

1.由于mysql版本的区别,可能会报出cacti.sql中MYISAM附近语法错误,此可以将创建表的引擎定义去掉,mysql默认是MYISAM引擎

2.在php poller.php同步数据时,可能会报出关于时间和时区的问题,此可以在/database/wwwroot/cacti/include/config.php 设置相应时区,

如:date_default_timezone_set('Asia/Chongqing');

 

Cacti相关介绍:

当修改好新密码进入,第一个显示出的页面就是让你设置 rrdtool,snmp 等工具的路径。这是个很重要的环节,必须无误,要不然 cacti 将无法生成出统计图。

 snmpwalk Binary Path : /usr/bin/snmpwalk
 snmpget Binary Path: /usr/bin/snmpget
 RRDTool Binary Path: /usr/local/rrdtool/bin/rrdtool
 PHP Binary Path: /usr/local/php/bin/php
 Cacti Log File Path: /database/wwwroot/cacti/log/cacti.log
 Cactid Poller File Path: /database/wwwroot/cacti/poller.php

默认的配置中会出现许多“ NotFound ”

按照上边的路径把“ NotFound ”的项都重新填上。

手动运行一次

/usr/local/php/bin/php /database/wwwroot/cacti/poller.php > /dev/null 2>&1

 

三、客户端启用SNMP服务

稍微修改系统中 snmp 的配置

# vi /etc/snmp/snmpd.conf
  1. com2secnotConfigUser default public
    改为:com2secnotConfigUser 127.0.0.1 public
  2. access notConfigGroup "" any noauth exact systemview none none
    改为:accessnotConfigGroup""anynoauthexact all none none
  3. #view all included .1 80
    将前面的 # 注释 去掉。
    保存退出 :wq
  4. 重新启动 snmp 服务
    # service snmpd restart
 
欢迎期待下篇,下篇将详细介绍监控服务器磁盘,内存,IO等

 本文转自    geekwolf   51CTO博客,原文链接:http://blog.51cto.com/linuxgeek/998987



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
9月前
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
7281 80
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
域名解析 弹性计算 Linux
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
本文为大家介绍了2024年购买阿里云服务器和注册域名,绑定以及备案的教程,适合需要在阿里云购买云服务器、注册域名并备案的用户参考,新手用户可通过此文您了解在从购买云服务器到完成备案的流程。
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
|
11月前
|
数据安全/隐私保护
思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细)
本文详细总结了思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细),看这一篇就够啦~
38111 6
思科模拟器Cisco Packet Tracer 8.2.1注册、下载和安装教程(正确+详细)
|
安全 网络安全 数据安全/隐私保护
80端口和443端口的概念与区别
总之,80端口和443端口都是用于网络通信的端口号,但它们在安全性和用途上有明显的区别,443端口提供了更高的数据安全性。
1692 0
|
机器学习/深度学习 分布式计算 搜索推荐
Netty(一)
Netty(一)
|
Arthas Kubernetes 调度
一次线上Xxl-Job定时任务调度失败的排查与解决
在XXL-JOB系统中,每分钟执行一次的任务出现调度异常:首次调度成功,第二次调度失败,但第三次调度显示的是第二次任务的执行时间。问题源于调度中心发送的心跳请求未得到执行器响应,导致连接被Envoy代理关闭。Envoy在等待心跳响应时,后续调度请求被阻塞,直至连接因超时关闭。调度中心收到503响应后也会关闭连接,从而影响第三次调度。解决方案是更新执行器以处理心跳请求或配置Istio Sidecar以绕过Envoy代理特定流量。
3514 1
|
安全 Java 编译器
Java 多线程系列Ⅱ(线程安全)
Java 多线程系列Ⅱ(线程安全)
|
弹性计算 运维 监控
【最佳实践】主机场景下如何使用ilogtail采集超大规模文件
目标读者数字化系统开发运维(DevOps)工程师、稳定性工程师(SRE)、可观测平台运维人员等。使用场景客户的某些场景下,业务拆分的比较细,每个业务会定时输出一个日志文件(比如每小时输出一个文件),那么在一台机器上,可能会产生大量的日志文件。由于某些原因,用户不想在业务服务器上安装采集端,因此采用比...
926 0
【最佳实践】主机场景下如何使用ilogtail采集超大规模文件
|
消息中间件 算法 安全
Linux安装RabbitMq(图文解说详细版)
Linux安装RabbitMq(图文解说详细版)
Linux安装RabbitMq(图文解说详细版)
|
网络协议
Job for named.service failed because the control process exited with error code.
Job for named.service failed because the control process exited with error code.
1640 0