gPaaS6.0.2及以上版本自定义指标监控及预警配置说明

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

gPaaS6.0.2及以上版本自定义指标监控及预警配置说明

gPaaS监控服务采用云原生Prometheus监控方案,通过exporter对监控对象进行数据指标采集。当官方提供的各种采集exporter不满足指标采集和监控需求时,可以自己编写脚本采集指标,由Prometheus定期采集实现。

 

如下以单节点k8s 默认数据目录 /var的使用率为例进行说明,当该目录使用率大于85%时发送预警,以免苍穹pod和镜像被删除而影响业务。


(1).在安装器安装好的k8s主机上,创建如下目录:

# mkdir -p /usr/local/node_exporter

# mkdir -p /usr/local/node_exporter/script

# mkdir -p /usr/local/node_exporter/key

(2).修改默认的node_exporter启动脚本

# vi /usr/lib/systemd/system/node_exporter.service

内容如下(添加红框内容):

####################################

[Unit]

Description=Node Exporter

Wants=network-online.target

After=network-online.target

 

[Service]

User=root

ExecStart=/usr/bin/node_exporter --collector.textfile.directory=/usr/local/node_exporter/key  --web.listen-address=:19100

 

[Install]

WantedBy=default.target

####################################

注:

1). collector.textfile.directory 是 Node Exporter 的一个命令行选项,用于指定从 textfile 收集器中收集数据的目录。

Node Exporter 会通过各种方式收集主机的度量值,并将这些度量值暴露给 Prometheus。其中之一是 textfile 收集器,它允许您从文本文件中收集指标。这些文本文件通常由其他程序生成,并以固定格式存储在指定的目录中。

使用 --collector.textfile.directory 选项,您可以告诉 Node Exporter 去哪个目录下查找这些文本文件。当 Node Exporter 拉取度量值时,它会扫描该目录下所有符合规则的文件,并将它们解析为度量样本,然后传递给 Prometheus Server。

2).收集的文本指标格式为 指标名称(建议设置为英文)+空格+指标值。指标值只能为数字, 可以包含多行,每行一个指标名和指标值。指标名和指标值在后续的指标可视化展示和报警设置中会用上。文本内容样例如下:

disk_usages 80

erp_access_status 1


(3).保存上述文件后,执行如下命令使配置生效

#systemctl daemon-reload && systemctl enable node_exporter && systemctl restart node_exporter

(4).编写采集脚本

(注:可以根据需要,使用采集脚本采集其他数据进行监控和预警。比如拨测场景中,通过脚本检测网站是否可用,不可用则返回0,可以返回1)

# vi  /usr/local/node_exporter/script/check_var_usage.sh

脚本内容如下:

####################################

#!/bin/bash

 

# 设置目录路径

directory="/var"

 

# 检查目录是否存在

if [ ! -d "$directory" ]; then

    echo "目录 $directory 不存在"

    exit 1

fi

 

# 使用df命令获取磁盘使用率

disk_usage=$(df -h "$directory" | tail -1 | awk '{print $5}' | sed 's/%//')

 

# 输出磁盘使用率

echo "var_usages $disk_usage"

####################################

(5) 设置crontab定时器

#crontab -e

Crontab 最后追加如下内容:

* * * * * bash /usr/local/node_exporter/script/check_var_usage.sh > /usr/local/node_exporter/key/check_usages.prom

(6) 检查是否采集到指标了

#curl 'http://localhost:19100/metrics'|grep var_usages

(7)配置报警策略指标

插入 报警指标到gpaas mysql 数据库的eye数据库中(后续gpaas版本支持界面配置)。

#kubectl exec -it db-mysql-0 -nkce-system -- mysql -uroot -p"<数据库登录密码>"

#insert into rules (name, type, promql, operation,keywords, unit) values ('var_usages', 'host','var_usages{instance="{{ .instance }}", env_id="{{ .env_id }}"}', '=','instance', '%');


注:上述sql中,name默认为采集的指标名,operation中的var_usages 也是指标名(用于普罗米修斯报警查询),unit 为指标单位(可以为空),其他字段值默认按上述sql来配置即可

(8) Gpaas界面配置报警策略

配置报警策略后,可以设置当/var目录使用率大于**时发送报警。如下图所示,可以在监控指标中选中 主机->var_usages

详细配置说明

(10) 安装grafana

参考pmm安装 2.1章节

(11) 配置grafana panel

配置panel后,可以通过图表方式查看各个时间段的/var磁盘使用率。如下图所示,promsql query中配置var_usages指标展示

gPaaS6.0.2及以上版本自定义指标监控及预警配置说明

gPaaS监控服务采用云原生Prometheus监控方案,通过exporter对监控对象进行数据指标采集。当官方提供的各种采集exporter不满足指标采集和监...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息