运维监控之cacti

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。

首先我们需要搭建lamp环境和安装snmp

安装cacti所需要的软件包

[root@chh1 cacti]# ll

total 9064

-rw-r--r-- 1 root root 2236916 Oct 11 11:21 cacti-0.8.7g.tar.gz

-rw-r--r-- 1 root root 207069 Oct 11 11:21 cacti-plugin-0.8.7g-PA-v2.8.tar.gz

-rw-r--r-- 1 root root 4960221 Oct 11 11:21 feition.tar.bz2

-rw-r--r-- 1 root root 442525 Oct 11 11:21 monitor-latest.tgz

-rw-r--r-- 1 root root 1154026 Oct 11 11:21 rrdtool-1.4.4-1.el5.wrl.i386.rpm

-rw-r--r-- 1 root root 55839 Oct 11 11:21 rrdtool-perl-1.4.4-1.el5.wrl.i386.rpm

-rw-r--r-- 1 root root 18906 Oct 11 11:21 rrdtool-ruby-1.4.4-1.el5.wrl.i386.rpm

-rw-r--r-- 1 root root 6701 Oct 11 11:21 sendMsg.zip

-rw-r--r-- 1 root root 25570 Oct 11 11:21 settings-latest.tgz

-rw-r--r-- 1 root root 12114 Oct 11 11:21 test.png

-rw-r--r-- 1 root root 9091 Oct 11 11:21 test1.png

-rw-r--r-- 1 root root 90488 Oct 11 11:21 thold-latest.tgz

安装软件包

[root@chh1 cacti]# yum install httpd php php-mysql php-snmp mysql-server perl-DBD-MySQL php-pdo net-snmp net-snmp-libs net-snmp-utils net-snmp-devel ruby ruby-devel

启动apache和mysql并设为开机启动

[root@chh1 cacti]# service httpd start

Starting httpd: vh [ OK ]

[root@chh1 cacti]# chkconfig httpd on

[root@chh1 cacti]# service mysqld start

[root@chh1 cacti]# chkconfig mysqld on

cacti的架构示意图

最底层是数据采集层,我们可以通过snmp或者脚本来获取需要监控的对象的数据,中间是数据的存储型有环形数据库RRDtool和mysql构成,上层是展示层通过apache和php以及cacti来展示监控对象的状态。

安装cacti的软件包

给mysql的root用户设置口令

[root@chh1 cacti]# chkconfig mysqld on

[root@chh1 cacti]# mysqladmin -u root -p password '123'

Enter password:

安装rrd环装数据库

[root@chh1 cacti]# yum localinstall rrd* --nogpgcheck -y

解压cacti到/var/www/html/

[root@chh1 cacti]# tar -zxvf cacti-0.8.7g.tar.gz -C /var/www/html/

[root@chh1 html]# mv cacti-0.8.7g/ cacti

创建cacti账号

[root@chh1 html]# useradd cacti

[root@chh1 html]# passwd cacti

在mysql数据库中添加cacti数据库

mysql> create database cacti;

Query OK, 1 row affected (0.00 sec)

给数据库授权apache调用php访问cacti时对mysql可以访问

将cacti数据库授权给cacti用户

mysql> grant all privileges on cacti.* to catci@localhost identified by 'cacti';

Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on cacti.* to catci@127.0.0.1 identified by 'cacti';

Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on cacti.* to catci@192.168.1.0 identified by 'cacti';

Query OK, 0 rows affected (0.00 sec)

刷新一下

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

导入cacti中的表格

[root@chh1 html]# mysql -ucacti -pcacti cacti </var/www/html/cacti/cacti.sql

修改cacti和mysql结合的文件

[root@chh1 cacti]# vim include/config.php

给log和rra目录授权

[root@chh1 cacti]# chown -R cacti log rra

创建计划任务每五分钟获取一下数据

准备工作基本做完,可以访问一下

启动snmpd服务

[root@chh1 cacti]# service snmpd start

关于Cacti设置

保存一下我们就可以看到信息

产生图形监控

实验监控拓扑

监控win server 2003

安装snmp

监控linux-web

在cacti上导入监控apache的脚本文件

[root@chh1 ~]# mv ss_apache_stats.php /var/www/html/cacti/scripts/

打开apache的状态输出

[root@chh Server]# vim /etc/httpd/conf/httpd.conf

重启apache

由于没有监控apache的模板,所以我们需要导入模板。

导入模板(模板下载地址:http://forums.cacti.net/about25227.html&highlight=apachestats)

绘制图像

然后将apache放到树上面去。

安装插件管理器

有了插件我们可以设置监控对象的预值报警,也可以直接查看他们的状态。

[root@chh1 cacti]# tar -zxvf cacti-plugin-0.8.7g-PA-v2.8.tar.gz

将cacti-plugin-arch中的文件拷贝到cacti目录中去

进入控制台,对管理员启用插件管理器

进入cacti的目录

cd /var/www/html/cacti/

mysql -ucacti -pcacti cacti <pa.sql

打补丁

[root@chh1 cacti]# patch -p1 -N <cacti-plugin-0.8.7g-PA-v2.8.diff

编辑php的配置文件

vim include/config.php

改变url路径为 /cacti/

重启一下apache

[root@chh1 include]# service httpd restart

然后来到cacti

拆解插件

tar -zxvf monitor-latest.tgz

tar -zxvf monitor-latest.tgz

tar -zxvf thold-latest.tgz 实现预值功能

安装插件

mv monitor-0.9/ /var/www/html/cacti/plugins/monitor

mv thold-0.41/ /var/www/html/cacti/plugins/thold

mv settings-0.6/ /var/www/html/cacti/plugins/settings

到控制台中启用插件 在“plugin management”中

email邮件报警的配置

我们可以发送一下测试邮件

发送成功

邮件日志

我的163邮箱记录

预值自动报警的设置

保存一下

设置当用户高于3个时就报警。

Win server监控

监控磁盘C的状态

高于900M自动报警

163邮箱上的报警邮件

下面我们来看看飞信报警

实现飞信报警

1.下载最新版飞信机器人。

http://bbs.it-adv.net/viewthread.php?tid=1081&extra=page%3D1

根据情况下载,因为会经常更新。 下载两个一个是fetion程序,一个是Linux下的库包linuxso-0101113.tar.gz

飞信机器人库路径处理

[root@chh1 linuxso_20101113]# cp lib* /lib/

测试飞信发送

下面我们编写脚本,让飞信机器人实现自动发送

新建sendsms文件夹

[root@chh1 ~]# mkdir /var/www/html/sendsms

[root@chh1 cacti]# mv linuxso_20101113/ /var/www/html/sendsms/linuxso

[root@chh1 ~]# cd /var/www/html/cacti/plugins/thold/

编辑发送脚本

[root@chh1 thold]# chmod a+x sendsms.sh

测试一下我们的脚本

[root@chh1 thold]# vim alert.log 随便写点东西

[root@chh1 thold]# ./sendsms.sh 执行发送消息测试

实现飞信与预值thold的结合

[root@chh1 thold]# vim thold_functions.php

当达到预值就会有报警信息发送到我们的手机上,下面来看一下我们的飞信消息。

这时163邮件也收到很多报警邮件

转载于:https://blog.51cto.com/muxiaohao/1325550

开源监控——cacti相关推荐

  1. 常用开源监控系统分析推荐(必备知识)|附优质监控书籍资源

    摘要:在互联网信息爆炸式快速发展的今天,各类复杂多样的平台系统相继涌出.如何选择最佳的监控产品以更好地维护这些平台和系统是每个 IT 人员都需面临的难题.本文将从开源监控产品的起源和发展,详细解析各个 ...

  2. 最详细的开源监控系统对比分析!建议收藏

    点击关注公众号,回复"1024"获取2TB学习资源! 在互联网信息爆炸式快速发展的今天,各类复杂多样的平台系统相继涌出.如何选择最佳的监控产品以更好地维护这些平台和系统是每个 IT ...

  3. 常用开源监控软件介绍

    1. Ganglia Ganglia是一个跨平台可扩展的,高性能计算系统下的分布式监控系统,如集群和网格.Ganglia是由UC Berkeley发起的一个开源监控项目,设计用于监控数千节点.它是基于 ...

  4. 常用开源监控系统分析推荐

    摘要:在互联网信息爆炸式快速发展的今天,各类复杂多样的平台系统相继涌出.如何选择最佳的监控产品以更好地维护这些平台和系统是每个 IT 人员都需面临的难题.本文将从开源监控产品的起源和发展,详细解析各个 ...

  5. 常用开源监控系统分析推荐(必备知识)

    来自公众号:OSC开源社区 链接:https://my.oschina.net/yunzhihui/blog/5394924 摘要:在互联网信息爆炸式快速发展的今天,各类复杂多样的平台系统相继涌出.如 ...

  6. 主流开源监控系统汇总

    监控做为自动化运维的重要组成部分,承担着反馈的作用. 以往,在缺少告警机制的情况下,企业无法第一时间洞悉到系统发生故障,只能通过用户的反馈来获取,系统运维人员往往也只是充当了一个"救火&qu ...

  7. 小米开源监控系统OpenFalcon应对高并发7种手段

    2019独角兽企业重金招聘Python工程师标准>>> 小米开源监控系统OpenFalcon应对高并发7种手段 原创 2016-04-01 秦晓辉 高可用架构 编者按:本文是秦晓辉在 ...

  8. 开源监控解决方案OpenFalcon系列(一)

    OpenFalcon是由小米的运维团队开源的一款企业级.高可用.可扩展的开源监控解决方案,,在众多开源爱好者的支持下,功能越来越丰富,文档更加的完善,OpenFalcon 已经成为国内最流行的监控系统 ...

  9. ntop linux,Linux下开源监控软件Ntop的性能提升方案

    摘要:Ntop是一款Linux下常见的开源监控软件,它可以监测的数据包括:网络流量.使用协议.系统负载.端口情况.数据包发送时间等.正常情况下它工作的时候就像一部被动声纳,默默的接收看来自网络的各种信 ...

  10. 开源监控Prometheus二进制安装

    Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB).Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本. Promethe ...

最新文章

  1. m3u8 video ios h5_【H5】iOS系统下的video视频播放完后重新刷新视频
  2. Springcloud gateway获取post请求内容
  3. ci框架的session类,怎么使用ci的session类
  4. 2017菜鸡C与C++工程师总结,撸码撸码,垃圾专科生撸码人生
  5. 使用准现网的数据,使用本地的样式脚本,本地调试准现网页面(PC适用)
  6. javascript 自执行匿名函数
  7. linux如何卸载内核模块_如何加载或卸载Linux内核模块
  8. LeetCode887. 鸡蛋掉落
  9. Linux下opengl性能更高,OpenGL超级宝典学习笔记——性能比较
  10. mysql 两阶段加锁_MySQL的两阶段加锁协议
  11. Wex5 app 学习笔记(二)
  12. 混乱之子第七季/全集Sons of Anarchy迅雷下载
  13. android 1.5 app,萌新编程app
  14. 2020最火爆BI产品对比来啦!亿信ABI VS FineBI数据分析谁最行
  15. 《第一堂棒球课》:王牌二垒手·棒球4号位
  16. Android 登录3D翻转动画效果
  17. 搜索请求实体(Request Body Search)
  18. 计算机培训中学语文研修计划,中学2018教师培训研修计划
  19. [编程题]java实现游历魔法王国
  20. 2D游戏中遮挡实现--记录

热门文章

  1. BigDecimal浮点精度加减乘除运算
  2. DescribingDesign Patterns 描述设计模式
  3. 【语言处理与Python】1.3计算语言:简单的统计
  4. java list indexof_Java LinkedList indexOf()方法
  5. python代码打错怎么删除_Python程序员最常犯的十个错误
  6. echarts环形图加边框
  7. hbase常识及habse适合什么场景
  8. sys.dm_db_wait_stats
  9. JMeter入门合集
  10. UITableView介绍 之 复杂cell的高度计算