常用指标采集 exporter

embedded/2024/11/28 8:46:31/

1. MySQL

https://github.com/prometheus/mysqld_exporter

可用性

表示MySQL实例是否已停机 mysql_up

表示数据库正常运行的时长,通常使用该指标配置告警,监控运行少于半小时的MySQL实例mysql_global_status_uptime

数据库连接

连接错误是数据库中的主要错误之一,通过该指标可以查看到具体连接错误信息以及错误连接次数。mysql_global_status_connection_errors_total

MySQL实例请求已经连接的线程数。mysql_global_status_threads_connected

MySQL实例请求运行中的线程数。mysql_global_status_threads_running

MySQL实例最大连接记录统计。mysql_global_status_max_used_connections

MySQL实例的最大连接数,若超过该连接数之后有新的请求到来,就会拒绝连接。mysql_global_variables_max_connections

异常中断的连接(尝试连接)。mysql_global_status_aborted_connects

异常中断的连接(超时)。mysql_global_status_aborted_clients

查询

MySQL实例慢查询统计 mysql_global_status_slow_queries

MySQL实例当前查询QPS mysql_global_status_queries

流量

入站流量 mysql_global_status_bytes_received

出站流量 mysql_global_status_bytes_sent

文件

正在打开的文件统计 mysql_global_status_opened_files

MySQL已经打开的文件统计 mysql_global_status_open_files

允许打开的文件统计 mysql_global_variables_open_files_limit

Innodb打开的文件统计 mysql_global_status_innodb_num_open_files

https://blog.csdn.net/qq_31555951/article/details/109496622
https://help.aliyun.com/zh/prometheus/use-cases/monitor-mysql-databases

2. Redis

https://github.com/oliver006/redis_exporter

Redis实例是否可用 redis_up

连接的客户端数 redis_connected_clients

内存使用率 100 * (redis_memory_used_bytes / redis_memory_max_bytes )

命令执行QPS rate(redis_commands_processed_total[1m])

cache命中QPS irate(redis_keyspace_hits_total[5m])

cache未命中QPS irate(redis_keyspace_misses_total[5m])

网络入流量 rate(redis_net_input_bytes_total[5m])

网络出流量 rate(redis_net_output_bytes_total[5m])

db中的key数量 sum(redis_db_keys) by (db)

db中的过期key数量 sum(redis_db_keys_expiring) by (db)

每一种命令的QPS topk(5, irate(redis_commands_total[1m]))

3. MongoDB

https://github.com/percona/mongodb_exporter
https://github.com/raffis/mongodb-query-exporter

服务器是否在线 mongodb_up

客户端连接数 mongodb_ss_connections{conn_type=“current”}

collection 全部文档的体积,单位 bytes mongodb_collstats_storageStats_size

collection 读操作的数量(每分钟) delta(mongodb_collstats_latencyStats_reads_ops[1m])

collection 读操作的延迟(每分钟),单位为微秒 delta(mongodb_collstats_latencyStats_reads_latency[1m])

collection 的 index 数量 mongodb_collstats_storageStats_nindexes

collection 的 index 占用的磁盘空间 mongodb_collstats_storageStats_totalIndexSize

https://www.cnblogs.com/yangmeichong/p/18156069

4. Kafka

https://github.com/danielqsj/kafka_exporter
https://github.com/prometheus/jmx_exporter
https://cloud.tencent.com/document/product/1416/111833
https://developer.aliyun.com/article/1578308

5. elasticsearch

https://github.com/prometheus-community/elasticsearch_exporter
https://www.cnblogs.com/qianyuliang/p/15410892.html
https://cloud.tencent.com/developer/article/1765046

集群健康和节点可用性

集群状态,green( 所有的主分片和副本分片都正常运行)、yellow(所有的主分片都正常运行,但不是所有的副本分片都正常运行)red(有主分片没能正常运行) elasticsearch_cluster_health_status

集群节点数/数据节点数 elasticsearch_cluster_health_number_of_nodes

活跃的主分片总数 elasticsearch_cluster_health_active_primary_shards

活跃的分片总数(包括复制分片) elasticsearch_cluster_health_active_shards

当前节点正在迁移到其他节点的分片数量,通常为0,集群中有节点新加入或者退出时该值会增加 elasticsearch_cluster_health_relocating_shards

正在初始化的分片 elasticsearch_cluster_health_initializing_shards

未分配的分片数,通常为0,当有节点的副本分片丢失该值会增加 elasticsearch_cluster_health_unassigned_shards

只有主节点能处理集群级元数据的更改(创建索引,更新映射,分配分片等),通过pending-tasks API可以查看队列中等待的任务,绝大部分情况下元数据更改的队列基本上保持为零 elasticsearch_cluster_health_number_of_pending_tasks

主机级别的系统和网络指标

CPU使用率 elasticsearch_process_cpu_percent

磁盘可用空间 elasticsearch_filesystem_data_free_bytes

ES进程打开的文件描述符 elasticsearch_process_open_files_count

ES节点之间网络入流量 elasticsearch_transport_rx_packets_total

ES节点之间网络出流量 elasticsearch_transport_tx_packets_total

JVM内存和垃圾回收

垃圾搜集数 elasticsearch_jvm_gc_collection_seconds_count

垃圾回收时间 elasticsearch_jvm_gc_collection_seconds_sum

最大使用内存限制 elasticsearch_jvm_memory_committed_bytes

内存使用量 elasticsearch_jvm_memory_used_bytes

6. Zookeeper

#比较老旧不推荐
https://github.com/dabealu/zookeeper-exporter
https://github.com/carlpett/zookeeper_exporter/
#jmx方式
https://github.com/prometheus/jmx_exporter/blob/main/example_configs/zookeeper.yaml
https://bbs.huaweicloud.com/blogs/166278

为了更加方便的集成prometheus,建议使用3.6.0以后的版本,因为这个版本以后zookeeper加入了prometheus集成监控,只需要开启zookeeper的指标配置即可。在这个版本之前的zookeeper,可能需要通过JMX进行监控。
启用以下三个属性值即可

##Metrics Providers
#https://prometheus.io Metrics Exporter
metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
metricsProvider.httpPort=7000
metricsProvider.exportJvmInfo=true

7. Nginx

https://github.com/nginxinc/nginx-prometheus-exporter/
https://cloud.tencent.com/document/product/1416/111838

存活状态1正常 0异常 nginx_up

nginx已接受的连接 nginx_connections_accepted

nginx连接活动数 nginx_connections_active

nginx已处理的连接 nginx_connections_handled

nginx连接_读取 nginx_connections_reading

nginx连接_等待 nginx_connections_waiting

nginx连接_写入 nginx_connections_writing

nginx请求总数 nginx_http_requests_total

k8snodeexporter_194">8. k8s集群node-exporter

https://github.com/prometheus/node_exporter

cpu、内存相关的指标

过去 1 分钟的系统平均负载 node_load1

系统总内存量(以字节为单位) node_memory_MemTotal_bytes

系统当前可用的内存量(以字节为单位) node_memory_MemAvailable_bytes

系统缓存使用的内存(以字节为单位) node_memory_Cached_bytes

用于缓冲使用的内存(以字节为单位) node_memory_Buffers_bytes

计算可用内存百分比 node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100

计算已用内存百分比 (node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes *100

磁盘相关指标

文件系统大小(以字节为单位) node_filesystem_size_bytes

文件系统可用空间(以字节为单位 ) node_filesystem_avail_bytes

计算可用空间百分比 node_filesystem_avail_bytes / node_filesystem_size_bytes * 100

计算已用空间百分比 (node_filesystem_size_bytes - node_filesystem_avail_bytes ) / node_filesystem_size_bytes * 100

磁盘IO吞吐量相关核心指标

从给定设备读取的总字节数。(以字节为单位)。(使用irate可以得到每秒写入大小) node_disk_read_bytes_total

向给定设备写入的总字节数 node_disk_written_bytes_total

磁盘IOPS相关核心指标

磁盘设备完成的读操作总数。(使用irate可以得到每秒读操作的平均数) node_disk_reads_completed_total

磁盘设备完成的写操作总数。(使用irate可以得到每秒读操作的平均数) node_disk_writes_completed_total

网络核心指标

网络接口接收到的总字节数。(以字节为单位) node_network_receive_bytes_total

网络接口发送出去的总字节数。(以字节为单位) node_network_transmit_bytes_total

连接追踪核心指标

系统正在跟踪的网络连接的数量。这包括所有类型的连接,例如 TCP, UDP、ICMP等node_nf_conntrack_entries

系统conntrack 能够跟踪的网络连接的最大数量node_nf_conntrack_entries_limit

TCP与其他相关指标

当前已断开的TCP连接数node_tcp_connection_states{state=“time_wait”}

当前建立的TCP连接数node_tcp_connection_states{state=“established”}

https://www.volcengine.com/docs/6731/189369

http://www.ppmy.cn/embedded/141147.html

相关文章

WPF——ICON按钮制作

前言 首先ICON按钮,即带图标按钮,即图标按钮。 图标按钮在开发时,主要是有两种方式来进行。一是在Button的Content内添加Image,然后设置Image的属性Source来实现,这种方式主要是简单易操作,对于初学者来说…

计算机网络基础回顾

网络有几层? OSI 模型 OSI(开放系统互联)模型由七层构成,分别是: 物理层 (Physical Layer):负责传输原始比特流,处理物理连接和电气信号。 数据链路层 (Data Link Layer):负责节点…

一文理解多模态大语言模型——上

作者:Sebastian Raschka 博士, 翻译:张晶,Linux Fundation APAC Open Source Evangelist 编者按:本文并不是逐字逐句翻译,而是以更有利于中文读者理解的目标,做了删减、重构和意译&#xff0c…

Linux系统之fuser命令的基本使用

Linux系统之fuser命令的基本使用 一、fuser命令介绍二、fuser命令使用帮助2.1 help帮助信息2.1 基本语法①通用选项②文件/设备相关选项③网络相关选项④进程操作选项⑤其他选项 三、fuser命令的基本使用3.1 查找挂载点的进程3.2 查看指定设备进程信息3.3 查找监听特定端口的进…

Maven高级篇

本篇主要讲解做项目过程中学习到一些关于maven使用的知识,主要包括分模块设计、继承,继承中的版本锁定,maven的聚合以及maven私服。 目录 一、分模块设计 二、继承 三、继承中的版本锁定 四、maven的聚合 五、maven私服 一、分模块设计…

设计模式学习之——责任链模式

责任链模式的基本概念 定义:责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许多个对象按照一定顺序处理请求,并且每个对象可以选择自己是否处理该请求或者将其传递给下一个对象处理。 核心思…

详解PyTorch中的Sequential容器:构建与优化简单卷积神经网络

详解PyTorch中的Sequential容器:构建与优化简单卷积神经网络 Sequential 是 PyTorch 中的一个容器模块,它按照在构造函数中添加它们的顺序来组织多个子模块(通常是网络层)。Sequential 容器允许用户快速串联多个模块,…

[UUCTF 2022 新生赛]ez_rce

[UUCTF 2022 新生赛]ez_rce 我们来分析一下这个代码: 首先是isset看我们有没有传一个为空的值,如果为空就输出居然都不输入参数,可恶!!!!!!!!!不为空就GET传参赋值给$code ,接着 如果 $code 中不包含这些模式中的任何一个&#x…