实现ganglia与centreon的无缝整合| 学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习实现ganglia与centreon的无缝整合。

开发者学堂课程【企业运维监控平台架构设计与实现实现ganglia与centreon的无缝整合】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/384/detail/4825


实现ganglia与centreon的无缝整合

 

目录:

一、前言

二、实现Ganglia与Centreon的完美整合

三、告警历史

四、统一监控系统架构图

 

一、前言

check_ check pgsql

[root@locaThostplugins]#1 fping 1check_ganglia_metric.py.

-rwxr-xr-x 1 root_root 2857 Mar 30 i8:i6 check_gang1ia_metric.py

Usage:_check_ganglia metric -hl--host= -m|--metric=-wl--warning=-c/critica[root@localhost plugins]#pwd

7usr/ibfnagios/plugins

[root@1oca1hostplugins]#./check_gang1ia_metric.py-h 192.168.81.233 -m disk_free -w 1000 -c 200CHECKGANGLIA Ok:"disk_free is 96.09

[root@1ocaThostplugins]#cd /usr/1ib64/nagios/plugins/[rootQlocalhostplugins]#Ts

checknrpe._.-.[rootaiocalhostplugins]#77

total 36

-rwxr-xr-x_1nagiosnagios33692Ju122013check_nrpe[root@iocalhostplugins]#

所有的服务不可以通过所介绍的两个插件去实现,其上为其中一个插件。

同时可以自我创建,或采用网络上提供的方案(如下)。

现有方案,推荐两个现成的数据提取脚本:

Python版本: http://www.ivey.com/ganglia/check ganglia metric.py.txt

Php版本:http://www.iivey.com/ganglia/check ganglia metric.php.txt

 

二、实现Ganglia与Centreon的完美整合

通过 Python 的一个插件。以及通过自我写取插件,进行查验。
Ø熟悉 ganglia 作为一个数据所具备的存储功能机制,进行之后一系列书写,作为一个脚本,实现检查。
Ganglia 在默认情况之下,数据更新为十秒一次。频率相对较高。基本可以满足监控需求。
Ø对于服务的监控,若服务器过少,则没有任何问题。若服务器很多,服务器可以监控到,但服务故障长达一个小时之久。才可以收到报警信息。这种状态表明监控服务过多。获取状态值慢。导致信息延迟。那么报警则失去原本的意义。
Ø若使用 ganglia ,则不会出现如上情况,数据提取在本地完成,不需经过任何网络。效率十分高效

 

三、告警历史

如图方式进入查看。

image.png

通过此平台。查看很多第三方插件。
例如: Elk。
ELk 实质是对服务器的日志进行收集。同样也可将其收集到此平台。
点击进入 Syslog ,可以查看多数数据。

服务器内部有多少数据可以在此平台看出

这便是第三方的一个模块这就是所谓日志分析功能

image.png

现如下进行一个top操作

在192.168.81.236中进行

[在root@host236]#top

正常输入完指令之后,会在平台内部打印出

刷新时长10秒一次

结果如下:

image.png

依据上述操作即可,看是否使用符合。

关于是否成型安装文档,相关文档于下方可知:

Centreon 装配置实录(超详细)

Centreon 是一款功能强大的分布式 IT 监控系统,它通过第三方组件可以实现对网络、操作系统和应用程序的监控︰

首先,它是开源的,我们可以免费使用它;其次,它的底层采用 nagios 作为监控软件,

同时 nagios 通过 ndoutil 模块将监控到的数据定时写入数据库中,而 Centreon 实时从数据库读取该数据并通过Web界面展现监控数据﹔,最后,我们可以通过Centreon 管理和配置 nagios ,或者说 Centreon 就是 nagios 的一个管理配置工具,通过 Centreon 提供的 Web 配置界面,可以轻松完成 nagios 的各种繁琐配置。

包括:

Centreon 数据库功用介绍

CES 安装步骤

centreon 双系统部署流程

Nagios for WAS.

例:CES 安装步骤

安装 central 主服务器

1.通过官方镜像安装 CES central 服务器和 poller 服务器,下载连接如下.

http://www.centreon.com/Content-Download/download-centreon-enterprise-server

2. 从光盘启动服务器,按提示安装。

选择全新安装

Helcome to CES 3.21

Install or upgrade an exist ing system

Insta 1 1 system with bas ic U ideo dr iver

Rescue instal led systen

Boot from1 oca 1 dr iue

Menory test

Press [Tab] to edit opt i ons

utomat ic boot in 49 seconds.

image.png

选择储存类型

此时会有-一个警告,选yes

为服务器起名字。并设置IP地址。

此例中-

Hostname: ces3

IPv4地址: 192.168.1.1/24

GW: 192.168.1. 254

image.png

选择时区- Asia/Shanghai

image.png

输入root密码后,会出现以下画面,选择第二个。

如果需要进行自定义的LVM设置,可以

选择最后-一个Create Custom Layout.

image.png

确认后,等待片刻,出现以下画面,选择Centreon Server with database.

说明:

●Central server with database :安装centreon (网页服务以及数据库),oentreon-engine

以及centreon- broker.

●Central server without database :安装centreon ( 网页服务,不装数据库),

centreon-engine以及centreon-broker.

●Pollerserver:仅仅安装centreon-engine

Databaseserver:仅仅安装数据库服务器image.png安装过程会持续几分钟

完成后按 reboot 重启

从网页配置 Centreon

重启系统完毕后,从浏览器打开 http://[SERVER IP]。

image.png

 

向导会自动检查模块安装情况image.png

选择监控引擎为 centreon-engine

此处无需修改,直接 NEXT

选择 Broker 为 Ce ntreon-broker

此处无需修改,直接 NEXT

image.png

设置网页端管理员密码以及身份信息,此例中帐号/密码设置为 admin/centreon.

image.png 

数据库设置:

设置数据库 root 密码。

设置 Database User Name 以及密码,此帐号为 Centreon 连接数据库用。

等待几分钟,安装程序会初始化数据库,完成后看到以下画面。

等待几分钟,安装程序会初始化数据库,完成后看到以下画面。

image.png最后,按finish完成安装。

image.png

现在可以从网页登陆了。

用 admin 帐号登陆后,进入Configurations - Centreon,检查poller的running状态,如果

显示为no,作以下动作将服务重启。

#/etc/init.d/centstoage restart

#/etc/init.d/cencore restart

#/etc/init.d/cbd restart

#/etc/init.d/centrengine restart

以上操作完成后,确认 tcp5668 端口处于监听状态。

如果以上都没有问题, central 的 poller 将会处于 running 态。可以检查 centreon和 nagios 的 log 文件进行问题排查。

例:安装 poller 服务器

1. 使用相同的镜像进行poller安装,安装时选择poller, 监 控引擎选择Centreon engine。

此处选择 PollerServer, 其他过程与 centreon 一致。

2.安装完毕后,将poller服务器链接到central服务器中。步骤如下,

●增加密钥认证

(1)以 centreon帐户在centreon服务器上生成SSH认证密钥。

# su- centreon

$ ssh-keygen

Ge nerati ng public/ private rsa key pair.

Enter file in which to save the key

(/var/spool/centreon/.ssh/id_ rsa):

Created directory '/var/spool/centre on/ .ssh'.

Enter passphrase (empty for no pass phrase):

Enter same passphrase again:

Your identification has been saved in /var/spool/ce ntreon/.ssh/id_ rsa.

Your public key has been saved in /var/spool/centreon/. ssh/id_ rsa.pub.

(2) 将密钥从 centren 拷贝至远程 poller 服务器,$ ssh-copy-id -i~/.ssh/id_ rsa.pub centreon@{IP_ ADDRESS}

(3) 完成后, 尝试从 central 建立 ssh 连接登陆远程 poller 。如果不需要输入密码,则验证成功。

Sssh ce ntreon@{IP_ ADDRESS}

●在 centreon 中添加 poller

(1) 用管理员登陆 centreon 后进入Configuration -> Centreon  -> Pollers -> Add.按照实际情况填入相关信息.

注意: IP Address 为远程  poller 的 IP 地址( 192.168.2.2), poller类型为centreon engine.

其他设置与默认 poller(127.0.0.1)保持一致。

(2)接下来配置 Borker 。进入 Configuration - Centreon

-CentreonBroker-Configuration,使用 Add with wizard。

image.png

选择 Simple Poller

Configuration name 可以随便写

Requester 选择刚才新建的 poller

Crental address 填写 centreon 主机的地址

(3)确认后会生成- -个新的 broker 配置,点击打开,进入 output 选项卡,确认配置如下。

注意: Output1 中需填写 ce ntral 的 IP。

确认后,回到 General 选项卡,将状态改为 Eanbled ,最后保存。

(4)进入 Configuration > Monitoring Engines > Main.cfg, 选中 Centreon Engine CFG 1,选择 more actions,然后duplicate一-个 新的 CFG。

(5)点击新的 CFG 进行配置,在 File 选项卡中,为新的配置起-一个名称,uinked poller,选择刚才新建的 poller。 其余保持默认。

在 Check Options 选项卡中,将 Aggressive Host Checks 设置为 No 。

(6)进入 Centreon-Monitoring engines - Generate, 如下图选择后,点击 Exportimage.png

(7)进入 Configuration一Centreon ,确认新增的 poller 状态。

如果 poller 不处于 running 状态,请登陆 poller 以及 centreon ,分别检查以下日志(如果日志存在),然后针对错误信息进行处理。

/var/log/ce ntreon-engine/centengine.log

/var/log/ce ntreon/ce ntcore.log

/var/log/ce ntreon/ce ntstorage .log

/var/log/ce ntreon/sql-error.log

/var/log/ce ntreon-broker/*.log

(8) 至此,central 和 poller 的配置就完成,如需添加更多 poller, 可以重复以上过程。

配置邮件报警

邮件报警需要在每台 poller_ 上启用,过程如下:

1.安装报警脚本,我们使用 sendEmail 来进行报警,优势在于可以使用远程的 SMTP

服务器进行报警邮件发送。

#yum install sendEmail

或者从官网下载:

http://caspian. dotconf.net/menu/Software/SendEmail

2.配置报警 command

进入 configuration-comm and-notification

分别配置 host 和 service 的报警命令:

Host:黄色为程序路径,绿色为 SMTP 服务器地址

/tmp/se ndEmail-v 1.56/send Email

-f alert@oentreon.com -t SCONTACTEMAIL$

SNOTIFICATIONTYPE$ Service Alert: SSE RVICENAMES is SSERVICESTATE$ *" -m ****** centreon

Notification

** ***\n\nN otifi cation

Type:

$NOTIFICATIONTYP E$\n\nService :

SSERVICEDESC$\n Host:

SHOSTALIASS\nAddress:

$HOSTADDRESSS\nState:

$SERVICESTATES\n\nDate/Time:

$DATE$

Ad ditional

Info

$SERVICEOUTPUT$\n$SERVICENAME$ is $SERVICESTATE$" -s 192.168.0.55:25

Service:黄色为程序路径,绿色为SMTP服务器地址

/tmp/sendEmail-v 1.56/send Email

-f alert@centreon.com -t SCONTACTEMAILS

-u“**

SNOTIFICATIONTYPE$ Service Alert: $SERVICENAME$ is $SERVICESTATES本本" . -m“***** centreon

Notification

*****\n\nN otifi cation

Type:

SNOTIFICATIONTYPE$\n\nService:

$SERVICEDESCS\n Host:

$HOS TALIASS\nAddress:

$HOS TADDRESS$\nState:

SSERVICESTATES\n\nDate/Time:

$DATES

Additional

Info

:

$SERVICEOUTPUT$\n$SERVICENAME$ is $SERVICESTATE$"-s 192.168.0.55:25

3.将报警命令与用户做关联

进入 Configuration - Users', 编辑 'admin' 的报警命令关联。

4.然后,与该用户关联的服务或者主机出问题后,会发送报警到该用户的邮箱。

 

四. 统一监控系统架构图

Ø由图可知:最前端,Web 管理平台。基于 central 的管理平台。平台下方有ganglia 的服务端,与 central 的服务端组成一块。ganglia 的服务端 gmetad ,最高等级模块会前往下一级 gmetad 平台数据的拉取。每一个 class 相当于一个异地的机房,每个机房内部结构,服务端进行拉取数据。汇聚之后,在最终管理端汇总。
Øganglia 服务端可以分为多级,gmetad 客户端也可分级。每一个应用上的布局不同,可以将其分级。通过多级方式进行部署,在每个机房之间。数据传输方式也可多分组。

Ø若所有数据均汇入北京机房。则所有数据在一个服务器内,则服务器存在单点故障问题,则数据会消失。则可以对一级的 ganglia 做双击设备,平等分出另一个备机,备机的数据并非通过主机传输。通过与主机一样的方式。与全国各地机房进行接点数据获取。则总的数据中心保留两份。
若第一级别管理,出现故障可转向第二级别,实现无缝转移。

图片3.png

Cluster1-N 均为一个分布式集群,也可以认为是-个机房数据中心。

每个数据中心的 Node server 都运行一一个 Gmond 守护进程,进行数据收集,将收集到的数据汇总到 Gangliaproxy 主机,Gangliaproxy 主机上运行着 Gmetad 守护进程。

同时 Ganglia proxy 和 Node server 都加载通过 c 或者 Python 编写的 Ganglia 插件,打展 Ganglia 监控功能。
Managerserver 是一一个管理 主机,主要用于收集从各个机房数据中心的监控数据,通过数据抽取模块将 Nagios 和 Ganglia 整合到一起,考虑到数据的安全性,Manager server 建议做一个备机,平时主机和备机同时工作,进行数据收集,主机故障时,自动切换到备机,保证管理主机高可用。
监控数据和报表通过 Web 方式展示出来,将 Nagios 和 Ganglia 的 web 进行整合,并作二次开发,通过一个统一的界面展示监控状态和报表信息。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
存储 监控 Linux
Flume【部署 02】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
【2月更文挑战第17天】Flume【部署 02】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
183 1
Flume【部署 02】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
|
6月前
|
存储 监控 Linux
Ganglia【部署 01】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
Ganglia【部署 01】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
111 0
|
6月前
|
存储 Web App开发 监控
Ganglia【部署 02】ganglia-3.7.2 系统监控离线安装(由于问题较多未整理完成暂作记录用)
Ganglia【部署 02】ganglia-3.7.2 系统监控离线安装(由于问题较多未整理完成暂作记录用)
112 0
|
监控 前端开发 NoSQL
Zabbix6.0下部署开源的Zabbix报表系统ZbxTable
Zabbix6.0下部署开源的Zabbix报表系统ZbxTable
1594 0
Zabbix6.0下部署开源的Zabbix报表系统ZbxTable
|
机器学习/深度学习 数据采集 监控
实现ganglia与centreon的无缝整合
一、前言 二、实现Ganglia与Centreon的完美整合 三、告警历史 四、统一监控系统架构图
实现ganglia与centreon的无缝整合
|
数据采集 运维 监控
配置centreon监控系统| 学习笔记
快速学习配置centreon监控系统。
配置centreon监控系统| 学习笔记