Linux监控软件之 Cacti

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

一、简介


1)cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。

2)Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。

3)snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(RoundRobinArchive),它能够存储的数据笔数在创建时就已经定义。


二、环境说明


Cacti的运行是基于LAMP环境的首先我们来安装LAMP环境。LAMP环境安装有两种方法,第一种是源码安装,第二种是用yum安装。

本次实验是在CentOS6.5系统中进行,全部软件都通过yum安装。

服务端[ hostname:server   ip:192.168.0.112 ]

客户端[ hostname:client   ip:192.168.0.113 ]


三、安装配置


1、服务端上执行以下操作:

1)安装epel扩展源

[root@server ~]# yum install -y epel-release


2)安装httpd、php、mysql(lamp)

[root@server ~]# yum install -y  httpd php php-mysql mysql mysql-server mysql-devel php-gd libjpeg libjpeg-devel libpng libpng-devel


3)安装cacti、net-snmp、rrdtool

[root@server ~]# yum install -y cacti net-snmp net-snmp-utils rrdtool


4)启动服务

[root@server ~]# /etc/init.d/mysqld start

[root@server ~]# /etc/init.d/httpd start

[root@server ~]# /etc/init.d/snmpd start


5)编辑httpd配置文件

[root@server ~]# vim /etc/httpd/conf.d/cacti.conf

找到第一个"Deny from all" 改为"Allow from all"

[root@server ~]# /etc/init.d/httpd restart


6)导入数据并创建cacti库

[root@server ~]# mysql -uroot -e "create database cacti"    //创建数据库为cacti

[root@server ~]# mysql -uroot -e "grant all on cacti.* to 'cacti'@'127.0.0.1' identified by 'cacti';"        //授权并创建用户为cacti,密码为cacti

[root@server ~]# mysql -uroot cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql  //导入sql文件


7)编辑cacti配置文件

[root@server ~]# vim /usr/share/cacti/include/config.php

$database_type = "mysql";
$database_default = "cacti";

$database_hostname = "127.0.0.1";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
$database_ssl = false;


8)web访问cacti并安装

浏览器输入http://192.168.0.112/cacti 会出现以下界面(要关闭iptables才行)

wKioL1YbrIah7ZVbAANHhheM5-E596.jpg

安装时点两下“next”和一次“Finish”即可,安装完成后提示第一次输入用户密码,皆默认为admin

wKiom1YbrQSxRYRqAAEwfBCWpGY953.jpg

登入后会提示要更改密码,我们更改保存进入cacti首页,但是点击graphs后我们会发现没有图形。因为还需执行poller.php脚本。


9)执行poller.php脚本, 生成图形,并加入到计划任务中

[root@server ~]# /usr/bin/php /usr/share/cacti/poller.php

会提示waring,说未设置timezone,下面我们设置timezone

[root@server ~]# vim /etc/php.ini   //添加一行  

date.timezone='Asia/Chongqing'

如图

wKioL1YbsGDRcN0bAAHRhcSA8vE326.jpg

再次执行脚本,则不会出现waring

[root@server ~]# /usr/bin/php /usr/share/cacti/poller.php

然后我们可以看到graphs中出现了图形。如图

wKiom1YbsReDoc4aAAUID6CyGrU768.jpg


接着把脚本加入到计划任务中

[root@server ~]# crontab -e

*/5 * * * * /usr/bin/php /usr/share/cacti/poller.php   //每5分钟执行一次



2、客户端上执行以下操作:

1)安装snmp

[root@client ~]# yum install -y net-snmp


2)修改snmpd.conf

[root@client ~]# vim /etc/snmp/snmpd.conf

找到syslocation和syscontact Root,修改为

syslocation 0.113               //可以写客户主机的ip,也可以写域名

syscontact Root admin@admin.com      //管理员邮箱


3)启动snmp

[root@client ~]# service snmpd start



3、增加客户主机

1)登录cacti管理后台,点console , 再点Device,在右上角点Add,填入以下参数后点右下角的create。

wKioL1Ybt4vD7ExTAAbMf3dvsBo133.jpg


2)创建成功能后在点右上角的“Create Graphs for this Host”

Graph Types:选择SNMP - Interface Statistics 
在下面框中选择要监控的网卡,比如我选择eth0, 在最右侧小方块里打对勾,然后点右下角create

Graph Types:再选择 Graph Template Based
在下面的框中,选择你要监控的项目,比如ucd/net - Load Average等,在右侧小方块中打对勾,然后点右下角的create

wKiom1YbvPCQAmBhAAP6lsh8yYg805.jpg


注:snmp error


若选择SNMP - Interface Statistics后没有显示网卡,则编辑客户机配置文件

[root@client ~]# vim /etc/snmp/snmpd.conf

找到:view systemview included .1.3.6.1.2.1.1
修改为:view systemview included .1.3.6.1.2.1
然后重启snmpd服务;
[root@localhost ~]# /etc/init.d/snmpd restart

再删除之前的,重新填入参数即可解决这个问题。



3)加入到Graph Trees 

点左侧的Graph Trees ,选中 Default Tree,点右上角的Add,Tree Item Type 选择 “Host”
Host 选择我们刚刚增加的那个机器ip,点右下角的create

4)点左上角的Graphs
在左侧可以看到Defaut Tree下面已经增加了我们刚刚添加的主机,图形一开始不会那么快出来,要等一小会才可以。

wKioL1YbwGrQCTOOAARK6FUmAa8897.jpg

之后我们可在服务器端/usr/share/cacti/rra/文件夹看到生成了以13开头的文件

[root@server ~]# ls -l /usr/share/cacti/rra/

总用量 860

-rw-r--r-- 1 root root  47840 10月 13 03:45 13_cpu_nice_8.rrd

-rw-r--r-- 1 root root  47840 10月 13 03:45 13_cpu_system_9.rrd

-rw-r--r-- 1 root root  47840 10月 13 03:45 13_cpu_user_10.rrd

-rw-r--r-- 1 root root  47840 10月 13 03:45 13_load_15min_12.rrd

-rw-r--r-- 1 root root  47840 10月 13 03:45 13_load_1min_11.rrd

-rw-r--r-- 1 root root  47840 10月 13 03:45 13_load_5min_13.rrd

-rw-r--r-- 1 root root  47840 10月 13 03:45 13_mem_buffers_14.rrd

-rw-r--r-- 1 root root  47840 10月 13 03:45 13_mem_cache_15.rrd

-rw-r--r-- 1 root root  47840 10月 13 03:45 13_mem_free_16.rrd

-rw-r--r-- 1 root root  94664 10月 13 03:45 13_traffic_in_17.rrd

-rw-r--r-- 1 root root 141488 10月 13 03:45 localhost_load_1min_5.rrd

-rw-r--r-- 1 root root  47840 10月 13 03:45 localhost_mem_buffers_3.rrd

-rw-r--r-- 1 root root  47840 10月 13 03:45 localhost_mem_swap_4.rrd

-rw-r--r-- 1 root root  47840 10月 13 03:45 localhost_proc_7.rrd

-rw-r--r-- 1 root root  47840 10月 13 03:45 localhost_users_6.rrd




参考文章

http://www.linuxfly.org/post/552/

http://www.it165.net/admin/html/201310/1956.html

   



      本文转自 M四月天 51CTO博客,原文链接:http://blog.51cto.com/msiyuetian/1702299,如需转载请自行联系原作者



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
安全 Ubuntu Linux
Linux系统中的软件管理工具主
Linux系统中的软件管理工具主
55 7
|
2月前
|
Web App开发 监控 Linux
在Linux上,有许多软件可以下载和安装
在Linux上,有许多软件可以下载和安装
128 67
|
4月前
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
2月前
|
存储 关系型数据库 Linux
2024 年 16 个适用于 Linux 的开源云存储软件 (上)
2024 年 16 个适用于 Linux 的开源云存储软件 (上)
123 2
2024 年 16 个适用于 Linux 的开源云存储软件 (上)
|
2月前
|
存储 安全 Unix
2024 年 16 个适用于 Linux 的开源云存储软件 (下)
2024 年 16 个适用于 Linux 的开源云存储软件 (下)
54 0
2024 年 16 个适用于 Linux 的开源云存储软件 (下)
|
1月前
|
Linux
Linux - 如何编译源码安装软件
源码编译安装通常包括三个步骤:1) `./configure` 检测平台特征和依赖项,生成 Makefile;2) `make` 编译源码,生成可执行文件;3) `make install` 将可执行文件安装到指定目录并配置环境变量。
49 0
|
2月前
|
监控 安全 Linux
使用NRPE和Nagios监控Linux系统资源的方法
通过遵循以上步骤,可以有效地使用NRPE和Nagios监控Linux系统资源,确保系统运行稳定,并及时响应任何潜在的问题。这种方法提供了高度的可定制性和灵活性,适用于从小型环境到大型分布式系统的各种监控需求。
54 2
|
3月前
|
存储 监控 Linux
监控Linux服务器
详细介绍了如何监控Linux服务器,包括监控CPU、内存、磁盘存储和带宽的使用情况,以及使用各种系统监控工具如vmstat、iostat、sar、top和dstat来分析系统性能,并推荐了一些开源监控系统。
61 0
监控Linux服务器
|
4月前
|
Web App开发 安全 Ubuntu
在Linux中,如何安装新软件?
在Linux中,如何安装新软件?
|
4月前
|
存储 Prometheus 监控
在Linux中,如何进行系统资源的监控?
在Linux中,如何进行系统资源的监控?
下一篇
DataWorks