三种监控平台配置及其整合(cacti nagios ganglia)
三种软件的官方文档地址:
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 <root@localhost> (configure /etc/snmp/snmp.local.conf)
- syslocation Linux (RH3_UP2), Home Linux Router.
- syscontact yejk <mrye1990@gmail.com>
- # 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 = "mysql";
- $database_default = "cacti";
- $database_hostname = "localhost";
- $database_username = "cacti";
- $database_password = "cacti";
- $database_port = "3306";
- $database_ssl = false;
- $url_path = "/cacti/";
为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 程序存储一些变量数据并对变量数据进行调用。
- # 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_p_w_picpath web.gif
- statusmap_p_w_picpath 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
转载于:https://blog.51cto.com/yejiankang/863725
三种监控平台配置及其整合(cacti nagios ganglia)相关推荐
- SpringCloud feign 的三种超时时间配置
1.负载均衡 Feign调用服务的默认时长是1秒钟,也就是如果超过1秒没连接上或者超过1秒没响应,就会相应的报错.Feign 的负载均衡底层用的是 Ribbon,其配置如下: ribbon:ReadT ...
- vue在生产环境、测试环境和开发环境,三种环境下配置不同的api地址
vue在生产环境.测试环境和开发环境,三种环境下配置不同的api地址 我们大多数在开发的时候,都会有三种环境,一个是开发环境,一个是测试环境,一个是生产环境,我们打包的时候需要根据不同的环境去加载不同 ...
- 老生常谈:微博,QQ,淘宝三种开放平台对比
背景: 最近做一个导购网站(aizher.com)尝试,为了方便用户登陆,分别引入新浪微博,QQ,淘宝三种平台上的开放接口接入系统中. 分别使用了下新浪微博,QQ,淘宝平台三种方式,虽然都是开发平台, ...
- 老生常谈:微博,QQ,淘宝三种开发平台对比 笔记
背景: 最近做一个导购网站(aizher.com)尝试,为了方便用户登陆,分别引入新浪微博,QQ,淘宝三种平台上的开放接口接入系统中. 分别使用了下新浪微博,QQ,淘宝平台三种方式,虽然都是开发平台, ...
- 部署Zabbix监控平台,配置及使用Zabbix监控系统,自定义Zabbix监控项目
案例1:常用系统监控命令 案例2:部署Zabbix监控平台 案例3:配置及使用Zabbix监控系统 案例4:自定义Zabbix监控项目 1 案例1:常用系统监控命令 1.1 问题 本案例要求熟悉查看L ...
- 三种流行防火墙配置方案分析与对比
当我们尽情地在Internet上畅游时,往往把网络的安全问题抛在脑后.其实危险无处不在,防火墙是网络安全的一个重要防护措施,用于对网络和系统的保护.监控通过防火墙的数据,根据管理员的要求,允许和禁止特 ...
- 三种监控 Kubernetes 集群证书过期方案
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 前言 Kubernetes 中大量用到了证书, 比如 ca证书.以及 kubelet.apiserver.prox ...
- Tomcat三种模式及配置APR模式
为什么80%的码农都做不了架构师?>>> Tomcat三种模式 Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如 ...
- linux安装-bin.rpm,Linux离线安装jdk,bin、rpm和tar.gz三种方式及配置jdk环境变量
本文主要是为了记录安装过程,方便后续用到时可及时翻阅,如有不对之处,请各位不吝赐教. 因离线安装方法较为常用,故本文主要说明使用离线方式安装jdk的方法,在线安装方法后续补充. 第一步:下载jdk 官 ...
最新文章
- matlab错误103 577,小编为你作答win7系统安装MATLAB出现 license manager error 103错误的还原教程...
- C#统计一段时间内有多少个星期几
- PHP——模糊匹配文件|目录
- react生命周期-新增与替换
- springboot项目整个的启动流程
- Redis集群案例与场景分析
- mysql 客房_mysql – 酒店客房预订系统的数据库设计
- 重庆北大青鸟【学员心声】任何一次的考试,都是一次珍贵的蜕变机会
- roseha-mirror oracle数据库同步 可靠性,RoseHA集群:RHEL+RoseMirror+Oracle【1】
- 数字金额转化为中文大写
- [油猴脚本] 知乎免广告
- Spring Cloud Bus-用法和意义
- Baklib-专业的在线产品手册制作平台
- android中生成excel
- 浏览器控制bartender打印方案
- 知识图谱中有哪些核心概念?
- 重要的人工神经元--感知器和Sigmod神经元
- 备战APEC 智利公布2019峰会主要议题
- BS软件测试初学者,BS软件测试要点总结!
- 一个产品助理的世界观