我是靠谱客的博主 冷艳花生,最近开发中收集的这篇文章主要介绍两种监控软件ganglia与zabbix各自的搭建,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


一.  Ganglia的搭建


Ganglia是一个分布式的,监控服务器,集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等指标。

Ganglia的强大在于:ganglia服务端能够通过一台客户端收集到同一个网段的所有客户端的数据,ganglia集群服务端能够通过一台服务端收集到它下属的所有客户端数据。这个体系设计表示一台服务器能够通过不同的分层能够管理上万台机器。这个功能是其他mrtg,nagios,cacti所不能比拟。

ganglia有两个Daemon, 分别是:客户端Ganglia Monitoring Daemon (gmond)和服务端Ganglia Meta Daemon (gmetad),还有Ganglia PHP Web Frontend(基于web的动态访问方式组成)是一个Linux下图形化监控系统运行性能的软件,界面美观、丰富,功能强大。

 

(1)安装ganglia 

可以将tar包制作成rpm包然后快速安装。

在服务机(server3)

#yum install -y libart_lgpl-devel gcc-c++ python-devel libconfuse-devel-2.6.3.e16.x86_64.rpm pcre-devel expat-devel rrdtool-devel apr-devel rpm-build //制作gangliarpm包依赖这些组件。

#rpmbuild -tb ganglia-3.4.0.tar.gz ganglia-web-3.4.2.tar.gz //制作ganglia.rpm 和 ganglia-web.rpm

#rpm -ivh /root/rpmbuild/RPMS/noarch/ganglia-web-3.4.2.1.noarch.rpm /root/rpmbuild/RPMS/x86_64/*  //安装ganglia-web gmetad gmond 

#cd /root/rpmbuild/RPMS/x86_64

#scp ganglia-gmond-3.4.0-1.x86_64.rpm ganglia-gmond-modules-python-3.4.0-1.x86_64.rpm libganlia-3.4.0-1.x86_64.rpm 172.25.0.2:

#scp ~/libconfuse* 172.25.0.2:  //复制相应组件到客户端

#vim /etc/ganglia/gmetad.conf

data_source后面改为自定义名称如 big cluster   //修改集群名称

#/etc/init.d/gmetad start  //启动gmetad服务

#vim gmond.conf  name后面改为 big cluster

#/etc/init.d/gmond start  //启动gmond服务(监控本机,所以启动gmond服务)

#service httpd start  

在客户端(server2)

#rpm -ivh ganglia-gmond* libganglia-3.4.0-1.x86_64.rpm libconfuse*   //安装gmond

#vim /etc/ganglia/gmond.conf name后面改为big cluster

启动gmond

 

Firefox上输入 172.25.0.3/gweb 如图

 wKiom1dgNlOghmPmAAIDqovqHfY094.png-wh_50

 

(2) 将ganglia整合到nagios

server3

#tar zxf ganglia-3.4.0.tar.gz

#cd ganglia-3.4.0/contrib

#cp check_ganglia.py /usr/local/nagios/libexec

#chown nagios.nagios check_ganglia.py

#vim check_ganglia.py

编辑成如下图

 wKioL1dgN6OyYixPAAIQw_d690w116.png-wh_50

                                                              //将大于阈值时报警改为低于阈值报警

 #cd /var/lib/ganglia/rrds/big cluster 

可以看到很多以rrd结尾的文件,这些都是ganglia采集的数据

#/usr/local/nagios/libexec/check_ganglia.py -h server2.example.com -m disk_free_precent_rootfs -w 20 -c 10  //查看根分区使用情况

下面是修改nagios的配置文件(cfg文件)来整合ganglia。

nagioscommand.cfg中,添加

define command {

command_name check_ganglia

command_line $USER1$/check_ganglia.py -h $HOSTADDRESS$ -m $ARG1$ -w

$ARG2$ -c $ARG3$

}

hosts.cfg中,添加

define host {

use linux-server

host_name server4.example.com

address 172.25.0.4

}

define hostgroup {

hostgroup_name ganglia-servers

alias ganglia-servers

members server4.example.com

}

并在hostgroup中添加server4.example.com   //添加了被监控机server4,相应配置与server2一样

templates.cfg中,添加

define service {

use local-service

name ganglia-service

hostgroup_name ganglia-server

sservice_groups ganglia-metrics

}

nagiosservice.cfg中,添加

define servicegroup {

servicegroup_name ganglia-metrics

alias Ganglia Metrics

}

define service{ ganglia-service

use ganglia-service

Service-description根分区

check_command check_ganglia!disk_free_percent_rootfs!20!10

define service{

use ganglia-service

service_description 内存空闲

check_command check_ganglia!mem_free!50000!30000

#service nagios retart

wKiom1dgN6TxcqivAAM33AIelQ8970.png-wh_50

 

整合完成。

 


 

二.   Zabbix的搭建


Zabbix 是一款功能强大的分布式开源监控系统,可以提供企业级的开源分布式监控解决方案。天生自带分布式监控,大批量主机运维监控优势明显。

Zabbix 通过 C/S 模式采集数据,通过 B/S 模式在 web 端展示和配置。

被监控端:主机通过安装 agent 方式采集数据,网络设备通过 SNMP 方式采集数据

Server :通过收集 SNMP 和 agent 发送的数据,写入数据库(MySQL,ORACLE ),再通过 php+apache 在 web 前端展示。

Zabbix 运行条件:

Server:Zabbix Server 需运 行在 LAMP( Linux+Apache+Mysql+PHP)环 境下或者

LNMP),对硬件要求低

Agent:目前已有的 agent 基本支持市面常见的 OS,包含 LinuxHPUXSolarisSun

windows

SNMP:支持各类常见的网络设备

 

 

(1) 安装zabbix

server端(server3)上

#yum install zabbix-2.4.5-1.el6.x86_64.rpm zabbix-agent-2.4.5-1.el6.x86_64.rpm  zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm  zabbix-web-2.4.5-1.el6.noarch.rpm  zabbix-web-mysql-2.4.5-1.el6.noarch.rpm  php-bcmath-5.3.3-26.el6.x86_64.rpm  php-mbstring-5.3.3-26.el6.x86_64.rpm zabbix-server-2.4.5-1.el6.x86_64.rpm  fping-2.4b2-16.el6.x86_64.rpm  iksemel-1.4-2.el6.x86_64.rpm  iksemel-utils-1.4-2.el6.x86_64.rpm 

   //安装zabbix-serverzabbix-agentzabbixweb支持

 

agent端(server2)上

#rpm -ivh zabbix-agent-2.4.5-1.e16.x86_64.rpm  zabbix-2.4.5-1.e16.x86_64.rpm  //安装zabbix-agent

 

server3上,

mysql上创建zabbix库并加入一个 zabbix用户 密码redhat

mysql->create database zabbix character set utf8 collate utf8_bin;

        ->grant all privileges on zabbix.* to zabbix@localhost identified by 'redhat';


#cd /usr/share/doc/zabbix-server-mysql-2.4.5/create/

#mysql -uzabbix -predhat zabbix  < schema.sql

#mysql -uzabbix -predhat zabbix  < p_w_picpaths.sql

#mysql -uzabbix -predhat zabbix  < data.sql   //zabbixmysql组件导入到zabbix用户的zabbix库中

#vim /etc/zabbix/zabbix_server.conf

DBPassword后面改为 redhat(修改zabbix配置文件的数据库密码)

重启httpdzabbix-server

 

在浏览器上输入172.25.0.3/zabbix/,启动zabbix web界面。

php time zone error主要是在php.ini文件中未设置导致,编辑php.文件(vim /etc/php.ini)
选择Asia/Shanghai,记得去掉前面的分号。
保存退出后重启httpd服务:service httpd restart
进入网页zabbix,然后点击retry或者刷新即可。

配置如下

Database type Mysql

Database host localhost

Database port 0  (0为数据库默认端口)

Databasename zabbix

User zabbix

Password redhat

wKioL1dgOeCQjxU8AAGKLVjMERc893.png-wh_50

 

 点击test connection,成功后点击next,然后配置如下:

Host 172.25.0.3

Port 10051

Name server3.example.com

点击next后输入默认用户名和密码为Admin/zabbix

 

server2上,

#vim /etc/zabbix/zabbix_agentd.conf  //修改zabbix_agent配置

Server=172.25.0.3

ServerActive=172.25.0.3

Hostname 改为server2.example.com,

重启zabbix-agent服务。

server3上,同上。不过server2改为server3.

 

(2) zabbix发现主机。

在zabbix的web界面上,点击 configuration-> actions ->auto register-> create action  

自定义name

operation选项卡中

添加 add host 自动注册主机添加到hosts列表

Add to host groups  自动注册主机加入任一组如linux servers

Link to templates  自动注册主机应用模板 template os linux

点击configuration -> hosts可以看到新加的主机

 

(3)配置监控服务

 http服务为例,点击configure -> templates 选择需要链接的模板template app http service

选择需要链接的主机 server2.example.com

这样主机server2.example.com的监控项中就出现了http服务

监控zabbix_server上的mysql服务

添加mysql模板

/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 文件中指定了 zabbix agent 如何获取 mysql服务的各种信息可以在 zabbix_server.conf 文件中找到密码。

server3上,

#mysqladmin -uzabbix -pwestos ping  //检查mysqld是否运行

#mkdir /var/lib/zabbix

#vim /var/lib/zabbix/.my.cnf  ///var/lib/zabbix目录中新建“.my.cnf”文件,用以指定 zabbix agent 如何登陆数据库,默认使用的是 zabbix 用户

写入 

[mysql]

host = localhost

user = zabbix

password = westos

socket = /var/lib/mysql/mysql.sock

[mysqladmin]

host = localhost

user = zabbix

password = westos

socket = /var/lib/mysql/mysql.sock

重启zabbix-agent zabbix-server

web上即可看到统计图表

点击Configuration->hosts->zabbix server Graphs即可看到关于mysql的两个监控图形

wKiom1dgOeGAOwhgAAJjypgNH8U071.png-wh_50 

 

(4)Zabbix报警 

使用110云告警:

登陆www.onealert.com 注册帐号,扫描二维码绑定微信。按照网页中的文档说明安装配置110云告警插件。告警方式有邮件,微信,电话,短信等。

 

总结

zabbix的主要特点

- 安装与配置简单,学习成本低

- 支持多语言(包括中文)

- 免费开源

- 自动发现服务器与网络设备

- 分布式监视以及WEB集中管理功能

- 可以无agent监视

- 用户安全认证和柔软的授权方式

- 通过WEB界面设置或查看监视结果

- email等通知功能

Zabbix主要功能:

- CPU负荷

- 内存使用

- 磁盘使用

- 网络状况

- 端口监视

- 日志监视

 


转载于:https://blog.51cto.com/simplelinux/1789370

最后

以上就是冷艳花生为你收集整理的两种监控软件ganglia与zabbix各自的搭建的全部内容,希望文章能够帮你解决两种监控软件ganglia与zabbix各自的搭建所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部