首页 > 其他分享 >Prometheus+Grafana监控cmdb

Prometheus+Grafana监控cmdb

时间:2024-02-19 21:13:08浏览次数:27  
标签:exporter PanWeiDB prometheus omm Grafana Prometheus password cmdb

目录

前言

Prometheus是从云原生计算基金会(CNCF)毕业的项目。是由前google员工2015年正式发布的开源监控系统,采用Go语言开发。整套系统由监控服务、告警服务、时序数据库等几个部分,及周边生态的各种指标收集器(Exporter)组成,是在当下主流的监控告警系统。

exporter:广义上向prometheus提供监控数据的程序都可以成为一个exporter的,一个exporter的实例称为target, exporter来源主要2个方面,一个是社区提供的,一种是用户自定义的。

Grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。

一、实验环境

软件 版本
磐维主 (PanWeiDB(openGauss) 1.0.0 build 9a7e96bc)
磐维备1 (PanWeiDB(openGauss) 1.0.0 build 9a7e96bc)
磐维备2 (PanWeiDB(openGauss) 1.0.0 build 9a7e96bc)
Prometheus prometheus-2.49.0-rc.0.linux-amd64
Grafana grafana-enterprise-8.5.27-1.x86_64
cmdb_exporter v1.1

二、基于 Prometheus + Grafana 的监控解决方案

整体思想:exporter为部署在服务器的探针;prometheus远程收集exporter的数据,存在时序数据库中;grafana从prometheus获取数据并展现,实现监控数据的可视化。
image.png

三、实施步骤

3.1 获取安装包

安装包文件名为:cmdb_exporter.v1.1.tar.gz

3.2 数据库安装用户部署安装包

数据库安装的系统用户,登录到主机。上传安装包到$HOME目录下
解压 tar -zxf cmdb_exporter.v1.1.tar.gz 会得到 exporter 目录。
里面的文件,见1.2节的内容。

3.3 启动文件修改

主要是修改run_cmdb_exporter 启动文件。
最重要的,是输出日志改向。因为日志内容较多,可以输出到空间大的数据盘,在正常运行后可以输出到 /dev/null.
修改语句为第32行:
export DATA_SOURCE_NAME="host=192.168.1.51 user=cmdb_exporter password=cmdbExportrt@1234 port=17800 dbname=ogexporter sslmode=disable"
修改第42行的nohup改向操作
nohup $HOME/exporter/cmdb_exporter --config=$ConFile --log.level=debug &

3.4 示例

#!/bin/bash

source ~/.bash_profile

#检测进程是否存在,已经存在时,就退出不执行
Num=`ps -ef | grep cmdb_exporter | wc -l`
echo Num=$Num

# 假设原来有1个进程,加上本身的进程,就是2个以上,所以判断大于1
if [ $Num -gt 2 ]; then
          exit 0
  fi
# 配置文件
ConFile=/home/omm/enmo/exporter/cmdb_query.yaml

# 连接参数, 注意修改IP地址,端口等
DATA_SOURCE_NAME="host=192.168.1.51 user=cmdb_exporter password=xxxxx port=17700 dbname=postgres sslmode=disable"

# 日志文件, 注意要修改
LogFile=/home/omm/enmo/exporter/cmd_export.log

# 启动程序
nohup /home/omm/enmo/exporter/PanWeiDB_exporter_linux_amd64 --config=$ConFile --parallel=1 --log.level=debug --url="$DATA_SOURCE_NAME" > $LogFile 2>&1  &

3.5 增加crontab

每1分钟检测一次进程是否在,在就退出
*/1 * * * * ~/exporter/run_cmdb_exporter >/dev/null 2>&1

3.6 部署检测

查看进程是否在
ps -ef | grep cmdb_exporter
提取数据:
http://192.168.1.51:9187/metrics

3.7 安装prometheus

(1)下载

https://github.com/prometheus/prometheus/releases/download/prometheus-2.49.0-rc.0.linux-amd64.tar.gz

(2)解压

tar -xzvf prometheus-2.49.0-rc.0.linux-amd64.tar.gz

(3)启动

进入解压目录,执行 ./prometheus --config.file=prometheus.yaml &

3.8 安装 grafana

[root@localhost ~]# yum install -y grafana-enterprise-8.5.27-1.x86_64.rpm
[root@localhost ~]#
[root@localhost ~]# systemctl start  grafana-server
[root@localhost ~]# systemctl enable grafana-server
[root@localhost ~]# systemctl status grafana-server

3.9 修改数据库参数

Last login: Thu Jan  4 14:16:46 2024 from 133.96.123.50
[omm@panweidb2 ~]$ gs_guc reload -I all -N all -c "password_encryption_type=1"
The gs_guc run with the following arguments: [gs_guc -I all -N all -c password_encryption_type=1 reload ].
Begin to perform the total nodes: 3.
Popen count is 3, Popen success count is 3, Popen failure count is 0.
Begin to perform gs_guc for datanodes.
Command count is 3, Command success count is 3, Command failure count is 0.

Total instances: 3. Failed instances: 0.
ALL: Success to perform gs_guc!


[omm@panweidb2 ~]$ 
[omm@panweidb2 ~]$ 
[omm@panweidb2 ~]$ gsql -r
 select * from pg_node_env; 
gsql ((PanWeiDB(openGauss) 1.0.0 build 9a7e96bc) compiled at 2022-11-08 20:51:50 commit 0 last mr  )
NOTICE : The password has been expired, please change the password. 
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

PanWeiDB=#  select * from pg_node_env; 
     node_name     |          host           | process | port  |    installpath    |         datapath          |            log_directory             
-------------------+-------------------------+---------+-------+-------------------+---------------------------+--------------------------------------
 dn_6001_6002_6003 | localhost,133.96.123.51 |    6949 | 17700 | /opt/panweidb/app | /opt/panweidb/cmdata/data | /opt/panweidb/log/omm/pg_log/dn_6002
(1 row)

PanWeiDB=# show password_encryption_type;
 password_encryption_type 
--------------------------
 1
(1 row)

PanWeiDB=# CREATE USER cmdb_exporter WITH PASSWORD 'Bcv_1308' MONADMIN;
NOTICE:  The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
PanWeiDB=# grant usage on schema dbe_perf to cmdb_exporter;
grant select on pg_stat_replication to cmdb_exporter;
GRANT
PanWeiDB=# grant select on pg_stat_replication to cmdb_exporter;
GRANT
PanWeiDB=# grant ALL PRIVILEGE to cmdb_exporter;
ALTER ROLE
PanWeiDB=# 

四、 导入json 文件到Grafana
image.png
最后展示结果
image.png

标签:exporter,PanWeiDB,prometheus,omm,Grafana,Prometheus,password,cmdb
From: https://www.cnblogs.com/xinxin1222/p/18021973

相关文章

  • ptk安装磐维(cmdb)+zookeeper+shardingsphere
    目录一、概览1.1、ShardingSphere-Proxy1.2、ShardingSphere特性二、环境准备2.1、ip规划2.2、修改主机名2.3、关闭防火墙和透明大页(所有节点)2.4配置yum,安装系统包2.5修改系统参数2.6创建omm用户和用户组及目录三、PTK安装磐维数据库(所有节点都要操作)3.1PTK介绍3.2下......
  • .NET 8 中的 ASP.NET Core 指标与 Grafana 仪表板入门
    .NET8中的ASP.NETCore指标与Grafana仪表板入门原文地址:https://devblogs.microsoft.com/dotnet/introducing-aspnetcore-metrics-and-grafana-dashboards-in-dotnet-8/指标数据报告关于你的应用的诊断信息。.NET8为ASP.NETCore增加了超过一打的有价值的指标数据:HT......
  • prometheus使用4
     安装pushgateway下载地址:https://github.com/prometheus/pushgateway/releases下载这个 [root@mcw04~]#tarxfpushgateway-1.7.0.linux-amd64.tar.gz[root@mcw04~]#ls\apache-tomcat-8.5.88hadoop-2.8.5.tar.gz......
  • prometheus使用3
    服务发现基于文件的服务发现现有配置:[root@mcw03~]#cat/etc/prometheus.yml#myglobalconfigglobal:scrape_interval:15s#Setthescrapeintervaltoevery15seconds.Defaultisevery1minute.evaluation_interval:15s#Evaluaterulesevery15......
  • grafana模板参考
     空的,把面板都删除了{"__inputs":[{"name":"DS_PROMETHEUS","label":"Prometheus","description":"","type":"datasource","pl......
  • prometheus结合influxdb1.8实现高可用监控系统
    背景Prometheus是业内有名的开源监控工具,我所在的公司也是采用Prometheus+Grafana方式构建监控系统,并且不只是监控运维层面的数据,业务层面的服务状态也通过Java代码的客户端micrometer向Prometheus提交数据并在Grafana上配置出图,方便运营和技术同学进行查看。在有业务数据场景下......
  • prometheus之node_exporter安装
    一、简介node_exporter用来安装到被监控的主机上,暴露被监控主机的指标数据,服务器端基于http协议调用的端口9100(默认)来获取被监控服务器信息。二、安装部署下载地址https://github.com/prometheus/node_exporter/releases1、解压安装#tar-xvfnode_exporter-*.linux-amd6......
  • prometheus监控告警多个es集群
    exporter安装   分别在两个集群中的任一节点安装elasticsearch_exporter   节点1安装     nohup./elasticsearch_exporter--es.all--es.indices--es.cluster_settings--es.indices_settings--es.shards--es.snapshots--es.timeout=10s--web.list......
  • Gitlab Prometheus 磁盘空间占用
    gitlab默认启用Prometheus,数据存储时长是15天,经观察磁盘占用较大(我这边平均每天1G)如果磁盘紧张的情况下可以修改数据保留时长,或直接关闭Prometheus监控,修改配置文件的方法如下:配置文件位置gitlab/config/gitlab.rb1、修改保留天数,下面的配置内容默认全部是注释掉的,可以去......
  • Prometheus部署+Alertmanager邮件告警
    选型我们单位自己开发的软件平台,需要自己来运维,正所谓不监控无运维,等着甲方来通知你服务挂了是一件很尴尬的事情。在软件选型方面,监控工具简直是太多了,每个软件都有自己的领地,有的是偏向跟踪分析、有的是报警的、有的是日志收集、有的只监控硬件。Prometheus、Nagios、Datadog......