三种监控平台配置及其整合(cacti nagios ganglia)

2024-05-14 00:51:04

三种软件的官方文档地址:

cacti:http://docs.cacti.net/manual:087:1_installation#installation

nagios:http://www.nagios.org/documentation

ganglia:http://ganglia.info/

在监控平台领域,这三款监控软件各有所长各有所短,这篇文档先介绍三款软件的安装配置方法,然后再将三种软件整合起来,使得每款软件的优点得到利用。

系统环境:rhel6 selinux and iptables disabled

cacti:

cacti软件通过net-snmp协议定时采集主机信息,并保存在mysql数据库中,当用户要查看的时候数据库中找到对应的rra文件,通过rrdtool软件进行绘图,然后将图形返回给用户。他的优势在于可以生成直观的报表。

所以cacti运行的前提是安装了rrdtool,mysql,php以及一个网页发布程序,本文采用apache。

首先安装需要的软件及依赖性:

  1. # yum install httpd mysql mysql-server mysql-devel php php-mysql php-snmp net-snmp net-snmp-utils net-snmp-libs net-snmp-devel libart_lgpl-devel libpng-devel freetype-devel cairo-devel pango-devel gcc make

注意php-snmp包在Optional库里

安装好以后启动mysql和apache

  1. # /etc/init.d/httpd start
  2. # /etc/init.d/mysqld start

配置PHP:只需要修改/etc/php.ini文件,将时区设置为上海:

date.timezone = Asia/shanghai

配置snmp:

cacti官方文档中snmp的配置过于繁琐,建议按照http://www.cyberciti.biz/nixcraft/linux/docs/uniqlinuxfeatures/mrtg/mrtg_config_step_3.php中的步骤进行配置。

  1. # vi /etc/snmp/snmpd.conf

对配置中的一些语句进行替换

  1. #com2sec notConfigUser  default       public
  2. com2sec local     localhost           public
  3. com2sec mynetwork 192.168.0.0/24      public
  4. #group   notConfigGroup v1           notConfigUser
  5. #group   notConfigGroup v2c           notConfigUser
  6. group MyRWGroup v1         local
  7. group MyRWGroup v2c        local
  8. group MyRWGroup usm        local
  9. group MyROGroup v1         mynetwork
  10. group MyROGroup v2c        mynetwork
  11. group MyROGroup usm        mynetwork
  12. #view    systemview    included   .1.3.6.1.2.1.1
  13. #view    systemview    included   .1.3.6.1.2.1.25.1.1
  14. view all    included  .1
  15. #access  notConfigGroup ""      any       noauth    exact  systemview none none
  16. access MyROGroup ""      any       noauth    exact  all    none   none
  17. access MyRWGroup ""      any       noauth    exact  all    all    none
  18. #syslocation Unknown (edit /etc/snmp/snmpd.conf)
  19. #syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
  20. syslocation Linux (RH3_UP2), Home Linux Router.
  21. syscontact yejk <mrye1990@gmail.com>
启动snmpd
  1. # chkconfig snmpd on
  2. # service snmpd start

安装rrdtool

  1. # yum install  libxml2-devel
  2. # tar zxf rrdtool-1.4.4.tar.gz
  3. # cd rrdtool-1.4.4
  4. # ./configure
  5. # make
  6. # make install
  7. # ln -s  /opt/rrdtool-1.4.4/bin/rrdtool  /usr/local/bin

安装cacti:

  1. # tar zxf cacti-0.8.7h.tar.gz
  2. # mv cacti-0.8.7h /var/www/html/cacti
  3. # cd /var/www/html/cacti/
  4. # useradd cacti
  5. # chown -R cacti rra log
  6. # mysql cacti < cacti.sql

在数据库中创建一个供cacti使用的用户,仅有对cacti库操作的权限:

  1. #mysql
  2. mysql> grant all on cacti.* to cacti@localhost identified by 'cacti';
  3. mysql> flush privileges;
  4. mysql> quit

编辑cacti的配置文件,修改登录数据库的用户和密码

  1. # vim include/config.php
  2. $database_type = "mysql";
  3. $database_default = "cacti";
  4. $database_hostname = "localhost";
  5. $database_username = "cacti";
  6. $database_password = "cacti";
  7. $database_port = "3306";
  8. $database_ssl = false;
  9. $url_path = "/cacti/";

为cacti用户写一个crontab,使他没五分钟收集一次主机信息

  1. # su - cacti
  2. $ crontab -e
  3. */5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1

安装cacti加速器:cacti-spine:

  1. # yum install automake libtool
  2. # tar zxf cacti-spine-0.8.7h.tar.gz
  3. # cd cacti-spine-0.8.7h
  4. # aclocal
  5. # libtoolize --force
  6. # autoheader
  7. # autoconf
  8. # automake
  9. # ./configure
  10. # make
  11. # make install
  12. # cd /usr/local/spine/etc/
  13. # mv spine.conf.dist spine.conf
  14. # vim spine.conf
  15. DB_Host         localhost
  16. DB_Database     cacti
  17. DB_User         cacti
  18. DB_Pass         cacti
  19. DB_Port         3306
  20. DB_PreG         0

打开http://192.168.0.100/cacti

在console-settings-paths-alternate poller path 写上 /usr/local/spine/bin/spine

再将console-settings-poller-poller type改为spine

注意如果文字是乱码的话需要安装中文支持

安装cacti插件管理器:

cacti可以通过安装插件大大丰富它的功能,插件安装叶非常简便,只要安装好插件管理器以后将要安装的插件文件夹放在/var/www/html/cacti/plugins中就可以在网页里进行安装。下面时安装插件管理器的方法:

  1. # tar zxf cacti-plugin-0.8.7h-PA-v3.0.tar.gz
  2. # cd cacti-plugin-arch/
  3. # mysql -ucacti -pcacti cacti < pa.sql
  4. # cp cacti-plugin-0.8.7h-PA-v3.0.diff /var/www/html/cacti/
  5. # cd /var/www/html/cacti/
  6. # patch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff

打开http://192.168.0.100/cacti

在console-utilities-user management-admin-realm permissions勾选plugin management

安装三款插件:

  1. tar zxf settings-0.5.tar.gz -C /usr/local/apache/htdocs/cacti/plugins
  2. tar zxf monitor-0.8.2.tar.gz -C /usr/local/apache/htdocs/cacti/plugins
  3. tar zxf thold-0.4.2.tar.gz -C /usr/local/apache/htdocs/cacti/plugins

打开http://192.168.0.100/cacti,进入插件管理器可直接进行安装,并可在settings中进行设置。

一些cacti简单的介绍:

Cacti 其实是一套 php 程序,一个 rrdtool 工具。它运用 snmpget 采集数据,使用 rrdtool 绘图。界面非常漂亮,它提供了强大的数据管理和用户管理功能,一张图是属于一个 host 的,每一个 host 又可以挂载到一个树状的结构上。用户的管理上,作为一个开源软件,它做到为指定一个用户能查看的“树”、host、甚至每一张图,还可以与 LDAP 结合进行用户的验证。 Cacti 还提供自己增加模板的功能,让你添加自己的 snmp_query和 script 。功能相当强大!

cacti 是用 php 语言实现的一个软件,它的主要功能是用 snmp 服务获取数据, snmp 需要的变量数据是通过读取 mysql 数据库得到,然后用 rrdtool 储存和更新数据,当用户需要查看数据的时候用 rrdtool 生成图表呈现给用户。rrdtool 对数据的更新和存储就是对 rrd 文件的处理,rrd 文件是大小固定的档案文件,它能够存储的数据笔数在创建时就已经定义。1. Snmp 用来收集数据;2. Rrdtool 用来存储数据和生成图表;3. Mysql 用来配合 PHP 程序存储一些变量数据并对变量数据进行调用。

nagios:
cacti默认是以邮件发送警告信息的,虽然可以安装插件以实现其他方式进行告警,但不是他的强项,nagios有着强大的报警机制,下面是部署方法:
  1. # yum install httpd gcc make gd-devel perl-ExtUtils-Embed #安装编译所需要的软件包
  2. # useradd nagios #运行nagios服务的用户
  3. # usermod -G nagios apache #将apache用户加入到nagios组中,因为nagios程序通过apache发布与修改,而httpd程序的执行用户是apache,所以需要让apache有权限修改查看nagios文件
  4. # tar jxf nagios-cn-3.2.3.tar.bz2
  5. # cd nagios-cn-3.2.3
  6. # ./configure --enable-embedded-perl
  7. # make
  8. # make all
  9. # make install
  10. # make install-init
  11. # make install-commandmode
  12. # make install-config
  13. # make install-webconf

安装nagios插件:

  1. # yum install mysql-devel openssl-devel -y #安装编译所需的安装包
  2. # tar zxf nagios-plugins-1.4.15.tar.gz
  3. # cd nagios-plugins-1.4.15
  4. # ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-extra-opts --enable-libtap --enable-perl-modules
  5. # make
  6. # make install

#nagios 配置

  1. # vi /usr/local/nagios/etc/nagios.cfg #nagios 配置
  2. cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
  3. #新建 hosts.cfg 文件,存放主机与主机组定义
  4. cfg_file=/usr/local/nagios/etc/objects/services.cfg #新建 services.cfg 文件,存放服务与服务组定义
  5. #cfg_file=/usr/local/nagios/etc/objects/localhost.cfg  #注释 localhost.cfg 文件

注意,这里软件装好的时候默认时读取licalhost.cfg这个文件中的被监控的主机与服务的设置,我们把它注释掉,新加入两个文件,分别管理被监控的主机、主机组与被监控的服务与服务组

编辑被监控主机与主机组的文件:

  1. # cd /usr/local/nagios/etc/objects
  2. # vim /usr/local/nagios/etc/objects/hosts.cfg
  3. define host{
  4. use                     linux-server
  5. host_name               监控主机
  6. alias                   nagios 服务器
  7. address                 127.0.0.1
  8. icon_p_w_picpath              web.gif
  9. statusmap_p_w_picpath         web.gd2
  10. 2d_coords               100,300
  11. 3d_coords               100,300,100
  12. }
  13. define hostgroup{               ;主机组不是必须的
  14. hostgroup_name  linux-servers
  15. alias           Linux Servers
  16. members         *
  17. }

编辑被监控服务的时候因为内容很多,所以可以拷贝原来的localhost.cfg文件进行一些修改来使用:

  1. cp localhost.cfg services.cfg

对services.cfg进行修改,在vi编辑器中的命令模式下用d1G去掉servicegroup以上的hosts部分,并用:%s/田朝阳家用机/监控主机/g命令将文件中用于被监控的主机全部改为刚刚在hosts文件中设置的主机,并在servicegroup部分做如下修改,其他不变:

  1. define servicegroup{
  2. servicegroup_name 系统负荷检查
  3. alias 负荷检查
  4. members 监控主机,进程总数,监控主机,登录用户数,监控主机,根分区,监控主机,>交换空间利用率
  5. }
  6. define servicegroup{
  7. servicegroup_name 全部联通性检查
  8. alias 联通性检查
  9. members 监控主机,PING
  10. }

使用命令

  1. # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

修改nagios管理员的登录密码,注意必须是nagiosadmin,否则可以登录但是无法查看状态

使用命令

  1. /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

校验配置文件语法的正确性,没有错误的话

  1. service nagios start
  2. service httpd start

用nagios监控 mysql 主机

在mysql服务器端创建一个监控检测账户,只给select权限,不需要密码:

  1. mysql> create database nagdb;
  2. mysql> grant select on nagdb.* to nagdb@'192.168.0.86' ;
  3. mysql> flush privileges;

在 nagios 主机上检测是否可以连接 mysql 主机上的 mysql 服务

  1. /usr/local/nagios/libexec/check_mysql -H 192.168.0.36 -u nagdb -d nagdb
  2. Uptime: 286  Threads: 1  Questions: 16  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.55

转载于:https://blog.51cto.com/yejiankang/863725

三种监控平台配置及其整合(cacti nagios ganglia)相关推荐

  1. SpringCloud feign 的三种超时时间配置

    1.负载均衡 Feign调用服务的默认时长是1秒钟,也就是如果超过1秒没连接上或者超过1秒没响应,就会相应的报错.Feign 的负载均衡底层用的是 Ribbon,其配置如下: ribbon:ReadT ...

  2. vue在生产环境、测试环境和开发环境,三种环境下配置不同的api地址

    vue在生产环境.测试环境和开发环境,三种环境下配置不同的api地址 我们大多数在开发的时候,都会有三种环境,一个是开发环境,一个是测试环境,一个是生产环境,我们打包的时候需要根据不同的环境去加载不同 ...

  3. 老生常谈:微博,QQ,淘宝三种开放平台对比

    背景: 最近做一个导购网站(aizher.com)尝试,为了方便用户登陆,分别引入新浪微博,QQ,淘宝三种平台上的开放接口接入系统中. 分别使用了下新浪微博,QQ,淘宝平台三种方式,虽然都是开发平台, ...

  4. 老生常谈:微博,QQ,淘宝三种开发平台对比 笔记

    背景: 最近做一个导购网站(aizher.com)尝试,为了方便用户登陆,分别引入新浪微博,QQ,淘宝三种平台上的开放接口接入系统中. 分别使用了下新浪微博,QQ,淘宝平台三种方式,虽然都是开发平台, ...

  5. 部署Zabbix监控平台,配置及使用Zabbix监控系统,自定义Zabbix监控项目

    案例1:常用系统监控命令 案例2:部署Zabbix监控平台 案例3:配置及使用Zabbix监控系统 案例4:自定义Zabbix监控项目 1 案例1:常用系统监控命令 1.1 问题 本案例要求熟悉查看L ...

  6. 三种流行防火墙配置方案分析与对比

    当我们尽情地在Internet上畅游时,往往把网络的安全问题抛在脑后.其实危险无处不在,防火墙是网络安全的一个重要防护措施,用于对网络和系统的保护.监控通过防火墙的数据,根据管理员的要求,允许和禁止特 ...

  7. 三种监控 Kubernetes 集群证书过期方案

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 前言 Kubernetes 中大量用到了证书, 比如 ca证书.以及 kubelet.apiserver.prox ...

  8. Tomcat三种模式及配置APR模式

    为什么80%的码农都做不了架构师?>>>    Tomcat三种模式 Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如 ...

  9. linux安装-bin.rpm,Linux离线安装jdk,bin、rpm和tar.gz三种方式及配置jdk环境变量

    本文主要是为了记录安装过程,方便后续用到时可及时翻阅,如有不对之处,请各位不吝赐教. 因离线安装方法较为常用,故本文主要说明使用离线方式安装jdk的方法,在线安装方法后续补充. 第一步:下载jdk 官 ...

最新文章

  1. matlab错误103 577,小编为你作答win7系统安装MATLAB出现 license manager error 103错误的还原教程...
  2. C#统计一段时间内有多少个星期几
  3. PHP——模糊匹配文件|目录
  4. react生命周期-新增与替换
  5. springboot项目整个的启动流程
  6. Redis集群案例与场景分析
  7. mysql 客房_mysql – 酒店客房预订系统的数据库设计
  8. 重庆北大青鸟【学员心声】任何一次的考试,都是一次珍贵的蜕变机会
  9. roseha-mirror oracle数据库同步 可靠性,RoseHA集群:RHEL+RoseMirror+Oracle【1】
  10. 数字金额转化为中文大写
  11. [油猴脚本] 知乎免广告
  12. Spring Cloud Bus-用法和意义
  13. Baklib-专业的在线产品手册制作平台
  14. android中生成excel
  15. 浏览器控制bartender打印方案
  16. 知识图谱中有哪些核心概念?
  17. 重要的人工神经元--感知器和Sigmod神经元
  18. 备战APEC 智利公布2019峰会主要议题
  19. BS软件测试初学者,BS软件测试要点总结!
  20. 一个产品助理的世界观

热门文章

  1. Definition of BPS (基点)
  2. spring中自定义属性编辑器CustomEditorConfigurer
  3. oracle 11g禁用和强制direct path read
  4. button按钮怎么实现超链接
  5. 洛谷——P1002 过河卒||codevs——T1010 过河卒
  6. CDT源代码框架分析改造 线程对象的改造 添加标签 区分断点跟跟踪点
  7. UIImage指定区域自由拉伸
  8. Asp.net動態添加控件(转)
  9. 使用Nginx实现反向代理 - 不同的子域名映射到不同的后台地址
  10. 方法变量与方法表达式