一、部署环境准备说明
用户要求
部署数据库监控需要zabbix server的Admin(超级管理员)用户。安装部署zabbix agent监控及脚本需要数据库所属的OS用户。
Zabbix版本
Zabbix for flyingDB版本数据库目前包括两个版本:zabbix 2.X和zabbix 3.X。如果zabbix Server 是2.X版本,选择zabbix 2.X的监控模板即可,3.X也是如此。
说明
1.本文档主要说明安装配置zabbix agent,如果需要安装zabbix server,请参考文档:zabbix安装
2.本次zabbix监控部署流程环境如下数据库安装用户 postgres中间件安装用户 postgres
二、部署流程说明
部署单实例flyingDB监控
1.拷贝zabbix监控脚本目录下的文件flyingDB_zabbix_agent.tar.gz到数据库安装用户postgres的家目录(/home/postgres)下。2.解压文件到指定目录。
tar -zxvf flyingDB_zabbix_agent.tar.gz -C home/postgres
3.修改配置文件zabbix_agentd.conf
$ vi zabbix_agent/conf/zabbix_agentd.conf # 配置zabbix Server服务器IP Server=192.168.119.155 # 配置zabbix Server服务器和服务端口,默认端口10051 ServerActive=192.168.119.155 # 配置本地服务器IP Hostname=192.168.119.155
4.修改数据库环境变量文件pgsql_funcs.conf
$ cd home/postgres/zabbix_agent/shell_dict/shell_env/ $ more pgsql_funcs.conf source home/postgres/.bash_profile export PGHOST=192.168.119.155 export PGPORT=5432 export PGROLE=postgres export PGDATABASE=postgres export PGPASSWORD=123456 export PSQL= opt/FlyingDB/3.1/08k/bin/psql export PATH=/home/postgres/zabbix_agent/bin:/home/postgres/zabbix_agent/sbin:$PATH
5.修改脚本中的IP信息当前脚本中获取IP地址的方式是/sbin/ip r| grep src |awk ‘{print $9}’,此种方法并不适用于有两个或两个以上IP地址的主机,如果脚本不能正确获取主机IP信息,需要手动进行修改。
6.Admin用户登录zabbix server页面导入FlyingDB单实例监控模板
a.导入模板Flyingdata_App_FlyingDB配置 — 模板 – 导入 — 选择文件 — 汇入


b. 验证模板汇入成功
组态 —— 模板 —— 选择flyingdata群组

c.创建要监控主机
配置 — 主机— 创建主机

如果没有使用zabbix proxy,直接配置即可
主机页签:该页签内的所有IP均为zabbix agent的IP地址。

为主机添加监控模板
配置 — 主机— 点入要添加模板的主机— 选择Templates页签— 选择— 群组选定flyingdata — 选择模板Flyingdata App FlyingDB — 选择 — 添加 — 更新


如果使用zabbix proxy,在配置主机页签时,除了填写主机名和agent代理程序的接口界面外,还需要修改由agent代理程序监测为zabbix proxy。

7.配置主机宏
配置 — 主机— 点入要添加宏的主机— 选择宏页签– 添加以下内容
| 宏 | 值 |
|---|---|
| {$PGSCRIPTDIR} | /home/postgres/zabbix_agent/shell_dict |
| {$PGSCRIPT_CONFDIR} | /home/postgres/zabbix_agent/shell_dict/shell_env |
| {$ZABBIX_AGENTD_CONF} | /home/postgres/zabbix_agent/conf/zabbix_agentd.conf |
| {$PGLOGDIR} | /opt/FlyingDB/3.1/08k/data/pg_log |

8.启动zabbix agent工具
/home/postgres/zabbix_agent/sbin/zabbix_agentd -c home/postgres/zabbix_agent/conf/zabbix_agentd.conf
9.数据库所在服务器设置定时任务定时使用zabbix sender 发送消息。
修改crontab.sh脚本内容,按照实际数据库名和表名称发送数据。

标红部分为主机自动发现的DbName,SchemaName,TblName。
执行脚本crontab.sh情况如图:

执行结果显示的数据表明发送的数据条目,数据为0,说明发送数据条目为0,需要确认原因。
10.配置定时任务
#数据库监控 */3 * * * * /home/postgres/zabbix_agent/shell_dict/crontab.sh */30 * * * * /home/postgres/zabbix_agent/shell_dict/crontab_30min.sh
部署数据库流复制环境监控
1.依照前面章节《部署单实例flyingDB监控》的流程说明完成对单实例数据库的监控。
2.导入监控模板Flyingdata_App_PostgreSQL_SR_Cluster并完成对服务器的关联。
配置 — 模板— 导入— 选择文件— 导入

配置 — 主机— 选定要监控主机— 模板— 选择— 添加— 更新

3.过一段时间后,查看主机监控项是否正常。
配置 — 主机– 监控项
已启用:表示监控项关联主机正常。

停用的:主机不需要的监控项,是自己手动关闭的,如果需要启用,点击停用按钮即可

红色惊叹号:异常,点击红叉可以显示异常信息

4.配置定时任务
*/3 * * * * /home/postgres/zabbix_agent/shell_dict/crontab_sr.sh
5.部署完成后,查看监控数据
监控中 — 最新数据— 选定主机群组和主机

部署数据库中间件监控
1.拷贝zabbix监控脚本目录下的文件flyingddm_zabbix_agent.tar.gz到中间件安装用户postgres的家目录(/home/postgres)下。
2.解压文件到指定目录。
tar -zxvf flyingddm_zabbix_agent.tar.gz -C /home/postgres
3.修改配置文件zabbix_agentd.conf
$vi zabbix_agent/conf/zabbix_agentd.conf #配置zabbixServer服务器IP Server=192.168.119.155 ServerActive=192.168.119.155 #配置本地服务器IP Hostname=192.168.119.155
4.修改数据库环境变量文件pgsql_funcs.conf
export PATH=$PATH:/usr/local/zabbix/sbin:/usr/local/zabbix/bin #中间件部署服务器IP地址 export FLYINGDDMHOST=127.0.0.1 #中间件端口 export FLYINGDDMPORT=4432 #数据库用户 export FLYINGDDMROLE=postgres #中间件管理数据库 export FLYINGDDMDATABASE=pgbouncer #中间件配置文件 export FLYINGDDMCONF=/opt/FlyingDDM/B01C04R/conf/server.ini #生效中间件其他环境变量 source /home/postgres/.bash_profile
5.修改脚本中的IP信息
当前脚本中获取IP地址的方式是/sbin/ip r| grep src
|awk ‘{print $9}’,此种方法并不适用于有两个或两个以上IP地址的主机,如果脚本不能正确获取主机IP信息,需要手动进行修改。
6.Admin用户登录zabbixserver页面导入FlyingDB中间件监控模板
a.导入模板3.XFlyingdata_App_Flyingddm.xml
配置 — 模板— 导入— 选择文件– 导入


b.验证模板汇入成功
配置 — 模板— 群组选择flyingdata

c.创建要监控主机
配置 — 主机— 创建主机

如果没有使用zabbix proxy,直接配置即可
主机页签:该页签内的所有IP均为zabbix agent的IP地址。

模板页签:
模板 — 群组选定flyingdata — 选择模板Flyingdata App Flyingddm — 选择 — 添加 — 更新

如果使用zabbix proxy,在配置主机页签时,除了填写主机名和agent代理程序的接口界面外,还需要修改由agent代理程序监测为zabbix proxy。

a.数据库中间件所在服务器设置定时任务定时使用zabbix sender 发送消息。
# 监控中间件CPU使用情况。 * * * * * /home/postgres/zabbix_agent/shell_dict/crontab.sh
crontab.sh内容如下:
/home/postgres/zabbix_agent/shell_dict/flyingddm_CPU_single_pid.sh /home/postgres/zabbix_agent/shell_dict/shell_env /home/postgres/FlyingDDM1.0/DDM1/conf /home/postgres/zabbix_agent/conf/zabbix_agentd.conf
b.检查主机有最新数据。


部署磁盘监控
1.磁盘监控主机需要配置好zabbix agent的服务,这里不再赘述。
a.Admin用户登录zabbixserver页面
b.创建模板群组flyingdata,如果已经存在则跳过此步
配置 — 主机群组 — 创建主机群组 — 组名设置为flyingdata — 添加


c.导入Flyingdata OS DISK磁盘监控模板。
配置 — 模板— 导入— 选择文件— 选择磁盘监控模板 — 打开 — 导入


导入成功会显示

d.创建要监控主机
配置 — 主机— 创建主机

添加主机名称 — 群组选定flyingdata– 添加IP地址
如果没有使用zabbixproxy,直接配置即可
主机页签:该页签内的所有IP均为zabbixagent的IP地址。

选择模板FlyingdataOS DISK — 选择— 添加— 更新


2.监控脚本会自动导入磁盘监控数据(等待30秒)

3.检查监控主机有最新数据


4.同样的方法,将zabbix Template群组中的模板Template OS Linux模板加入主机。
三、zabbix监控图
登录zabbix server页面,查看监控数据的趋势图有如下几种方式:
1.最新数据中查看
监控中 — 最新数据— 选择要查看的主机群组、主机、应用集
如果只看一个监控项的历史趋势图,可以直接点击监控项后面的图形按钮,在图形中选择你要监控的时间段


如果需要看多个监控项的组合图形,需要在最新数据中勾选要查看的多个监控项,将页面拖至最低端,在下拉框选择显示数据图,确定即可得到你想要的图形。

2.图形中查看
图形中查看的是已经手动组合创建好的图形,如果没有创建图形则不能查,可以调整时间轴,查看不同时段的图形。
监控中 — 图形— 选择你要监控的主机群组、主机和要查看的图形。

3.自定义屏幕中查看监控图形。
筛选中的屏幕是多个图形组合成的,可以在这里监控到多个监控项图形,对于系统整体情况一目了然,需要根据自己的需求自行创建。
监控中 – 聚合图形— 选择你要监控的图形屏幕、群组和主机。

扫码关注了解更多





