本文是 2015 年写的,Hyperic相关文章的汇总。

CentOS 安装 PostgreSQL

hyperic使用PostgreSQL作为系统后台数据库

CentOS 6 安装步骤

下载安装rpm文件

wget http://yum.postgresql.org/9.1/redhat/rhel-6.5-x86_64/pgdg-centos91-9.1-4.noarch.rpm
yum install pgdg-centos91-9.1-4.noarch.rpm

安装PostgreSQL服务

yum install postgresql91-server

安装PostgreSQL contrib模块

yum install postgresql91-contrib

初始化数据库

service postgresql-9.1 initdb

安装后操作

可执行文件 /usr/pgsql-9.1

配置文件和数据文件 /var/lib/pgsql/9.1

启停服务命令

/etc/init.d/postgresql-9.1 start|stop|restart

变更访问权限

修改/var/lib/pgsql/9.1/data/pg_hba.conf,重启服务

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local all all trust
host all all 0.0.0.0/0 password

CentOS 7 安装步骤

yum方式安装

yum install -y postgresql-server postgresql-contrib

初始化

postgresql-setup initdb

修改鉴权配置

vim /var/lib/pgsql/data/pg_hba.conf

启动数据库

systemctl start postgresql

开机自启动

systemctl enable postgresql

CentOS 安装 Hyperic

CentOS版本6.5

Hyperic版本5.8.2

安装过程

安装PostgreSQL

参考上面

hyperic用户和用户组

groupadd hyperic
useradd -g hyperic hyperic

新建HQ数据库

切换到PostgreSQL账户下
su postgres
登录数据库(此处依赖前面修改的PostgreSQL数据库配置,需开启本地账户免鉴权)
psql
执行新建用户和新建数据库命令
CREATE USER hqadmin WITH ENCRYPTED PASSWORD 'hqadmin';
返回:CREATED ROLE
CREATE DATABASE "HQ" OWNER hqadmin ENCODING 'UTF8';
返回:CREATED DB
(请注意标点符号的格式,复制后可能会出现变化)
退出数据库
control+D
退出PostgreSQL账户
exit

安装Hyperic

将Hyperic安装包复制到hyperic用户目录下
将账户切换到hyperic
su hyperic
解压缩Hyperic安装包
tar -zxvf 安装包
进入解压后的目录,执行安装命令./setup.sh -full
安装目录选择/home/hyperic
选择数据库,2,PostgreSQL

启动Hyperic服务

/home/hyperic/server-5.8.2/bin/hq-server.sh start

修改hyperic密码

安装过程中,要求输入管理员账户的密码,后续添加监控节点时,每次都需要输入该密码
安装完成后,在管理系统中,可以修改该密码,监控节点会自动更新
注意密码不要带特殊字符,否则会导致监控节点无法添加

邮件配置

发件人配置修改

Administration-HQ Server Setting-Email Configuration Properties
From Email Address:xxx@xxx.com

服务器配置文件修改

################################################################################
# Email Settings
################################################################################

#
# Property: server.mail.host
#
# The IP or hostname of the SMTP server that the HQ server will use for sending
# alerts and other HQ-related emails. Most UNIX platforms have a local SMTP
# server, in which case localhost or 127.0.0.1 can be used here.
#server.mail.host=127.0.0.1
server.mail.host=xxx.exmail.xxx.com
mail.user=xxx@xxx.com
mail.password=xxxxx
mail.smtp.port=25
mail.smtp.auth=true
mail.smtp.socketFactory.class=javax.net.SocketFactory
mail.smtp.socketFactory.fallback=false
mail.smtp.socketFactory.port=25
mail.smtp.starttls.enable=true

收件人配置

管理页面
Administration-Authentication/Authorization-List Users
修改收件人Email地址

Sever端重启

使用bin/hq-server.sh restart重启。

若使用外部数据库,建议将数据库同时重启,否则可能会导致服务启动异常。

CentOS安装Hyperic商业版

整体安装过程同开源版本大同小异。

安装过程中要求选择安装规模,小型、中型、大型,选择不同规模,对于服务器性能要求不同,特别是内存,如果选择大型,而内存不足,会直接导致服务端程序无法启动。

商业版免费使用60天,限制客户端数量为60个,通过修改配置文件安装key。

配置文件位置:/home/hyperic/server-5.8.0-EE/conf/hq-server.conf

授权文件:vCenter Operations Management Suite Enterprise Plus Edition

#
# Property vcops.license.key
#
# This property defines the license key for
# vCenter Operations Management Suite Enterprise Plus Edition
vcops.license.key=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

安装Hyperic商业版,应使用自建数据库,不建议使用内建数据库,否则安装完成后,管理页面上会存在橙色字体提示如下:

The Hyperic built-in database is provided for EVALUATION PURPOSES ONLY. For production purposes use vPostgreSQL.

CentOS升级Hyperic版本

原版本:hyperic-hqee-installer-x86-64-linux-5.8.0

新版本:hyperic-hqee-installer-x86-64-linux-5.8.3

操作系统版本:CentOS 6.5

数据库版本:PostgreSQL 9.1

服务端升级

备份

管理中心文件备份

tar -zcvf server-5.8.0-EE.tgz server-5.8.0-EE

数据库备份

su postgres
pg_dump HQ >/tmp/HQ_20141210.dmp

将安装包解压到目录

./setup.sh -upgrade
协议确认
Do you accept the terms of the agreement? (y, n)
y

原版本位置指定

Enter current installation path of HQ server to upgrade: [default '']:
/home/hyperic/server-5.8.0-EE
新版本位置指定
Enter new HQ server directory [default '/home/hyperic']:

安装成功

Server successfully upgraded to: /home/hyperic/server-5.8.3-EE

重新启动

You can now start your HQ server by running this command:
/home/hyperic/server-5.8.3-EE/bin/hq-server.sh start
启动前最好重启一下PostgreSQL

说明

Note that the first time the HQ server starts up it may take several minutes to initialize. Subsequent startups will be much faster.

客户端升级

管理系统———主机——hyperic HQ agent——Views——agent commands——run upgrade
将所有Agent归为一组,通过Views统一下达指令,可同时完成升级操作

经过实践,通过上述方式操作,会导致服务器上出现两个agent进程,主体功能正常,部分功能存在问题。
此时通过Web控制重启Agent失败。
建议方便的时候,手动在服务器上重启Agent进程。

hyperic实现数据库记录定时检查

hyperic版本:5.8.3 商业版

python版本:2.6.6

操作系统:CentOS 6.5

需求描述

现网资源每周一更新,通过执行脚本,检查数据库中栏目资源,如果发现周一未更新,则发出告警。
数据库中有多个栏目,要求所有栏目全部更新。

需求分析

脚本定时执行,根据执行结果告警。
每次的执行结果均有记录,可回溯。
栏目资源表中没有时间戳,需要分析每个栏目的资源ID的变化,判断是否更新。

需求实现

脚本定时执行

新建FileServer File
进入hyperic配置界面,选择platform——Tools Menu——New Platform Service——新建FileServer File类型
配置脚本路径
Inventory——Configuration Properties——path
测试脚本是否正常
Control——Quick Control——Control Action:run 检查脚本执行是否正常
配置定时任务
Control Action Schedule——new Schedule
可实现每天、每周、每月的定时执行,或者一次性执行

脚本执行结果检查

通过上述配置,FileServer File类型无法判断脚本执行结果,从而无法实现告警
在脚本中新建一个标志文件,当脚本执行正常时,文件是存在的,若脚本执行异常,直接将此文件删除
再新建一个FileServer File类型,继续监测标志文件是否存在,若不存在,则告警

检测脚本(部分)

if __name__ == '__main__':

try:

#检查标志文件是否存在,若不存在,则新建
if os.path.exists('tag'):
pass
else:
f = open('tag', 'w')
f.close()

#业务逻辑
......

#检测失败,删除标志文件
print 1
os.remove('tag')
sys.exit(0)

except Exception,e:
print 9