暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

cmdb_exporter使用和问题分析

roman 2024-09-12
126

1、调度原理

通过crontab每1分钟调度一次run_cmdb_exporter “采集启动调度文件”脚本; cmdb_exporter进程(本文cmdb_exporter进程名为:PanWeiDB_exporter_linux_amd64)不存在则每分钟自动拉起,若存在则忽略。

监控采集指标文件:cmdb_query.yaml

2、部署cmdb_exporter

2.1、创建ogexporter库和用户


--1、创建ogexporter库

create database ogexporter DBCOMPATIBILITY='PG' ENCODING = 'UTF8' LC_COLLATE = 'C' LC_CTYPE = 'C';

--panwei1.0,有DBCOMPATIBILITY参数

create database ogexporter ENCODING = 'UTF8' LC_COLLATE = 'C' LC_CTYPE = 'C';

--panwei2.0,无DBCOMPATIBILITY参数

--2、创建用户和授权

CREATE USER pwdb_exporter WITH PASSWORD 'xxxxxxxx' MONADMIN;

\c ogexporter

grant usage on schema dbe_perf to pwdb_exporter;

grant select on pg_stat_replication to pwdb_exporter;

grant create on tablespace pg_global to pwdb_exporter;

grant usage on schema dbe_perf to cmdb_exporter;

grant select on pg_stat_replication to cmdb_exporter;

2.2、配置cmdb_exporter

cd /database/panweidb/

unzip exporter.zip

chmod 750 -R /database/panweidb/exporter

vi /database/panweidb/exporter/run_exporter

3、配置定时进程监测

crontab -e

*/1 * * * * source /home/omm/.bashrc; sh /database/panweidb/exporter/run_exporter >/dev/null 2>&1 &

4、验证服务和监控数据

netstat -tulnp | grep 9187

curl http://192.168.129.221:9187/metrics | wc -l

3、排错

3.0、运行用户建议同数据库运行用户

假如数据库程序的运行用户是omm,建议cmdb_exporter的运行用户也必须是omm。同时也需要检查exporter文件或者目录的属主都是omm。

3.1、加密方式参数设置是否与pg_hba.conf一样

cat $PGDATA/postgresql.conf | grep password_encryption_type

如上可知,数据库的加密方式是“1”,即sha256或md5的方式。

cat $PGDATA/pg_hba.conf

3.2、检查pwdb_exporter是否过期、密码错误

通过如下脚本来查询:

vi query.sh

gs_ssh -c 'gsql -c "show password_effect_time"';

gsql -c " select b.usename,a.passwordtime,a.passwordtime+numtodsinterval(to_number((select setting from pg_settings where name='password_effect_time')),'DAY') as passwordexpiredtime from

(select roloid,max(passwordtime) as passwordtime from pg_catalog.pg_auth_history group by roloid) a

right join

(select usename,usesysid from pg_user where usename='pwdb_exporter') b

on a.roloid=b.usesysid;";

gsql -c "select usename,failcount,locktime,rolstatus,passwordexpired

from pg_user_status s,pg_user u

where s.roloid =u.usesysid and usename='pwdb_exporter'"

sh query.sh

--如上可知,pwdb_exporter正常,未过期、未锁住。

如果账号异常,可以通过尝试登入来验证pwdb_exporter是否正常:

gsql -r -p 17700 -U pwdb_exporter -W xxxxxxx

--xxxxxxx为密码

3.3、检查日志

run_cmdb_exporter采集启动调度文件脚本中写明日志文件的保存位置,通过查看日志过滤“error”等关键字来定位问题。

举例如下:

--从日志可以很清楚看到监控用户pwdb_exporter被锁。可能是账号过期锁定,解锁即可恢复。

3.4、run_cmdb_exporter采集启动调度文件脚本有误

检查DATA_SOURCE_NAME配置ip是否正确,双引号,以及内容格式是否正确。

3.5、查看监测数据数量是否大于4000条

本次是5071条,如果小于4000,则按本章节来进一步排查问题。

curl http://192.168.129.221:9187/metrics | wc -l

3.6、前台运行

有时因环境问题无法运行程序,此时可以在前台运行来验证cmdb_exporter包是否可用。

如下直接在前台执行命令:

./PanWeiDB_exporter_linux_amd64 --config=/database/panweidb/exporter/cmdb_query.yaml --log.level=debug --url="host=192.168.129.221 user=pwdb_exporter password=xxxxxxxx port=17700 dbname=ogexporter sslmode=disable"

--如上,在前台直接打印日志。

4、监控指标采集异常如何分析?

首先找到监控采集指标文件,如下:

ps -ef | grep exporter

--由上述可知为cmdb_query.yaml

举例:

通常在监控平台上面可以看到采集指标项名称(询问监控方),比如咨询到的采集指标项名称为:cmdb_backup_show;则可以通过如下命令查看指标项详情:

cat cmdb_query.yaml |grep cmdb_backup_show: -A 27

--通过查看上方的shell命令(注意到description: 状态值1为正常),直接在前台执行来查看结果,结果如下:

--很明显,status为0,不正常。通过dba管理员正常配置备份后再次查看,最终正常:

description: 状态值1-正常。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论