设为首页 收藏本站
查看: 876|回复: 0

[经验分享] 三种监控平台配置及其整合(cacti nagios ganglia)

[复制链接]

尚未签到

发表于 2019-1-11 10:28:41 | 显示全部楼层 |阅读模式
  三种软件的官方文档地址:
  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。
  首先安装需要的软件及依赖性:


  • # 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


  • # /etc/init.d/httpd start
  • # /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中的步骤进行配置。


  • # vi /etc/snmp/snmpd.conf

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


  • #com2sec notConfigUser  default       public
  • com2sec local     localhost           public
  • com2sec mynetwork 192.168.0.0/24      public

  • #group   notConfigGroup v1           notConfigUser
  • #group   notConfigGroup v2c           notConfigUser
  • group MyRWGroup v1         local
  • group MyRWGroup v2c        local
  • group MyRWGroup usm        local
  • group MyROGroup v1         mynetwork
  • group MyROGroup v2c        mynetwork
  • group MyROGroup usm        mynetwork


  • #view    systemview    included   .1.3.6.1.2.1.1
  • #view    systemview    included   .1.3.6.1.2.1.25.1.1
  • view all    included  .1

  • #access  notConfigGroup ""      any       noauth    exact  systemview none none
  • access MyROGroup ""      any       noauth    exact  all    none   none
  • access MyRWGroup ""      any       noauth    exact  all    all    none

  • #syslocation Unknown (edit /etc/snmp/snmpd.conf)
  • #syscontact Root  (configure /etc/snmp/snmp.local.conf)
  • syslocation Linux (RH3_UP2), Home Linux Router.
  • syscontact yejk  

启动snmpd




  • # chkconfig snmpd on
  • # service snmpd start

  安装rrdtool


  • # yum install  libxml2-devel
  • # tar zxf rrdtool-1.4.4.tar.gz
  • # cd rrdtool-1.4.4
  • # ./configure  
  • # make
  • # make install
  • # ln -s  /opt/rrdtool-1.4.4/bin/rrdtool  /usr/local/bin

  安装cacti:


  • # tar zxf cacti-0.8.7h.tar.gz
  • # mv cacti-0.8.7h /var/www/html/cacti
  • # cd /var/www/html/cacti/
  • # useradd cacti
  • # chown -R cacti rra log
  • # mysql cacti < cacti.sql

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


  • #mysql
  • mysql> grant all on cacti.* to cacti@localhost identified by 'cacti';
  • mysql> flush privileges;
  • mysql> quit

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


  • # vim include/config.php  
  • $database_type = &quot;mysql&quot;;
  • $database_default = &quot;cacti&quot;;
  • $database_hostname = &quot;localhost&quot;;
  • $database_username = &quot;cacti&quot;;
  • $database_password = &quot;cacti&quot;;
  • $database_port = &quot;3306&quot;;
  • $database_ssl = false;
  • $url_path = &quot;/cacti/&quot;;

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


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

  安装cacti加速器:cacti-spine:


  • # yum install automake libtool
  • # tar zxf cacti-spine-0.8.7h.tar.gz  
  • # cd cacti-spine-0.8.7h
  • # aclocal
  • # libtoolize --force
  • # autoheader  
  • # autoconf  
  • # automake
  • # ./configure  
  • # make
  • # make install
  • # cd /usr/local/spine/etc/
  • # mv spine.conf.dist spine.conf
  • # vim spine.conf  
  • DB_Host         localhost
  • DB_Database     cacti
  • DB_User         cacti
  • DB_Pass         cacti
  • DB_Port         3306
  • 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中就可以在网页里进行安装。下面时安装插件管理器的方法:


  • # tar zxf cacti-plugin-0.8.7h-PA-v3.0.tar.gz  
  • # cd cacti-plugin-arch/
  • # mysql -ucacti -pcacti cacti < pa.sql
  • # cp cacti-plugin-0.8.7h-PA-v3.0.diff /var/www/html/cacti/
  • # cd /var/www/html/cacti/
  • # 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
  安装三款插件:


  • tar zxf settings-0.5.tar.gz -C /usr/local/apache/htdocs/cacti/plugins

  • tar zxf monitor-0.8.2.tar.gz -C /usr/local/apache/htdocs/cacti/plugins

  • 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有着强大的报警机制,下面是部署方法:




  • # yum install httpd gcc make gd-devel perl-ExtUtils-Embed #安装编译所需要的软件包
  • # useradd nagios #运行nagios服务的用户
  • # usermod -G nagios apache #将apache用户加入到nagios组中,因为nagios程序通过apache发布与修改,而httpd程序的执行用户是apache,所以需要让apache有权限修改查看nagios文件
  • # tar jxf nagios-cn-3.2.3.tar.bz2
  • # cd nagios-cn-3.2.3
  • # ./configure --enable-embedded-perl
  • # make
  • # make all
  • # make install
  • # make install-init
  • # make install-commandmode
  • # make install-config
  • # make install-webconf

  安装nagios插件:


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

  #nagios 配置


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

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


  • # cd /usr/local/nagios/etc/objects
  • # vim /usr/local/nagios/etc/objects/hosts.cfg

  • define host{
  •         use                     linux-server
  •         host_name               监控主机
  •         alias                   nagios 服务器
  •         address                 127.0.0.1
  •         icon_image              web.gif
  •         statusmap_image         web.gd2
  •         2d_coords               100,300
  •         3d_coords               100,300,100
  •         }

  • define hostgroup{               ;主机组不是必须的
  •         hostgroup_name  linux-servers  
  •         alias           Linux Servers         
  •         members         *     
  •         }

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


  • cp localhost.cfg services.cfg

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


  • define servicegroup{
  •         servicegroup_name 系统负荷检查
  •         alias 负荷检查
  •         members 监控主机,进程总数,监控主机,登录用户数,监控主机,根分区,监控主机,>交换空间利用率
  •         }

  • define servicegroup{
  •         servicegroup_name 全部联通性检查
  •         alias 联通性检查
  •         members 监控主机,PING
  •         }

  使用命令


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

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


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

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


  • service nagios start  
  • service httpd start  

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


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

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


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





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-661944-1-1.html 上篇帖子: 比cacti更好的linux单机监控——Monitorix的安装与配置 下篇帖子: 三种监控平台配置及其整合(cacti nagios ganglia) 二
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表