广东住房和城乡建设厅网站王芃,网站组建 需求分析,最好的商业网站,淄博网站建设相关文章1、巡检指标
系统资源K8S集群NginxJAVA应用RabbitMQRedisPostgreSQLElasticsearchELK日志系统
2、巡检项 检查项目 检查指标 检查标准 系统资源 CPU 使用率 正常#xff1a;#xff1c;70% 低风险#xff1a;≥ 70% 中风险#xff1a;≥ 85% 高风险#xff1a;≥ 9…1、巡检指标
系统资源K8S集群NginxJAVA应用RabbitMQRedisPostgreSQLElasticsearchELK日志系统
2、巡检项 检查项目 检查指标 检查标准 系统资源 CPU 使用率 正常70% 低风险≥ 70% 中风险≥ 85% 高风险≥ 95% 内存使用率 正常70% 低风险≥ 70% 中风险≥ 85% 高风险≥ 95% 磁盘使用率 正常80% 异常≥ 80% 系统负载 正常70% 低风险≥ 70% 中风险≥ 85% 高风险≥ 95% 日志文件是否有异常 正常日志中风险无 ERROR报错 低风险日志中风险少量ERROR报错且不影响业务 中风险日志出现5%以上的ERROR报错且影响非核心业务 高风险日志中风险出现10%以上的ERROR报错且已经影响核心业务或者集群状态 系统服务是否正常运行 正常没有Failed和Down状态的服务 低风险有Failed和Down状态的服务但不影响业务 中风险有Failed和Down状态的服务且影响非核心业务 高风险有Failed和Down状态的服务已经影响部分业务或者集群状态 检查系统是否有波峰波谷 正常指标线没有明显的大波动 低风险少数波峰波谷一天2-5次且持续时间不长 中风险频繁波峰波谷一天≥5次且持续时间不长 高风险一直处于波峰波谷无法提供服务 K8S集群 节点状态 正常节点状态为 Ready 低风险出现1台状态为NotReady 中风险出现2台状态为NotReady 高风险大于2台状态为NotReady Pod 状态 正常所有 Pod 状态为 Running 低风险Pod状态为Running但出现重启的情况 中风险非核心业务Pod出现不可用状态 高风险核心业务Pod不可用 持久卷状态 正常所有持久卷状态均为 Bound 低风险持久卷出现异常但不影响业务 中风险持久卷出现异常且影响非核心业务 高风险所有持久卷不可用且核心业务受影响 节点资源使用情况 正常所有节点资源使用率均低风险于 70% 低风险所有节点资源使用率大于70%且不影响业务 中风险所有节点资源使用率大于80%且影响非核心业务 高风险所有节点资源使用率大于95%且影响核心业务 节点间通信是否正常 正常节点间通信延迟低风险于 50ms无丢包 低风险节点间通信延迟大于 50ms但不影响业务 中风险节点间通信延迟大于 100ms出现丢包且影响非核心业务 高风险节点间通信延迟大于 150ms出现丢包且影响核心业务 Nginx 端口监听 正常监听端口包含nginx配置文件监听的端口 低风险监听端口不包含且不影响业务 中风险监听端口不包含且影响非核心业务 高风险监听端口不包含且影响核心业务 访问正常 正常响应状态码为 200 低风险出现非200但不影响业务 中风险出现非200影响非核心业务 高风险出现非200且影响核心业务 日志记录 正常日志中风险无 ERROR报错 低风险日志中风险少量ERROR报错不影响使用 中风险日志出现2%的ERROR报错影响非重要业务 高风险日志中风险出现10%以上的ERROR报错且已经影响部分重要业务 连接数 正常1024 低风险≥ 1024 中风险≥ 2048 高风险≥ 4096 JAVA应用 内存泄漏警报 堆内存使用率超过阈值1且持续时间超过阈值2。举例堆内存使用率超过80%并且持续10分钟以上则会触发该警报。具体配置可以根据服务器环境自定义。 GC 暂停时间警报 GC暂停时间超过阈值1并且持续阈值2举例GC暂停时间超过该阈值并且持续1分钟以上则会触发该警报。具体配置可以根据服务器环境自定义。 程序运行状态 正常服务正在运行 低风险服务实例数2但不影响业务 中风险服务不可用数2影响非核心业务 高风险应用程序无法正常运行核心服务不可用 检查Pod是否有波峰波谷 正常指标线没有明显的大波动 低风险少数波峰波谷一天2-5次且持续时间不长 中风险频繁波峰波谷一天≥5次且持续时间不长 高风险一直处于波峰波谷无法征程提供服务 RabbitMQ 节点状态 正常所有节点状态为 running 中风险出现一个节点状态为down 高风险所有节点状态为down 队列长度 正常≤ 500 低风险500 中风险1000 高风险 2000 Redis 连接数 正常1024 低风险≥ 1024 中风险≥ 2048 高风险≥ 4096 内存使用率 正常70% 低风险≥ 70% 中风险≥ 85% 高风险≥ 95% PostgreSQL 数据库连接数 正常1024 低风险≥ 1024 中风险≥ 2048 高风险≥ 4096 磁盘空间使用率 正常80% 异常≥ 80% Elasticsearch 集群状态 正常集群status为 green 低风险集群status为 yellow 高风险集群status 为 red出现不可用状态 索引状态 正常索引status为 open 高风险索引status为 down ELK日志系统 日志收集是否正常 正常应用输出的日志是否与ELK收集的一致 低风险日志出现不一致收集不完全 索引状态 正常索引status为 open 中风险索引状态status为 down
3、巡检项目-重点配置
nginx
连接数 Nginx默认情况下并没有限制连接数它会根据系统的资源情况进行调整。然而如果服务器的资源有限或者遇到大量并发请求可能会导致连接数过高从而影响服务器的性能和稳定性。 你可以通过参数worker_connections来调整Nginx的连接数这个参数用于限制每个worker进程可以同时处理的连接数。默认值通常是1024但可以根据服务器的实际情况进行调整。 例如如果你想将每个worker进程的连接数增加到2000可以在Nginx配置文件中添加以下行
worker_connections 2000;
注意 过大的连接数可能会导致资源过度消耗和性能下降而过小的连接数可能会导致连接被拒绝或处理不足。根据您的服务器资源和需求进行适当的调整。
grafana监控 redis
设置Redis最大内存
为什么要设置最大内存 redis是一个内存数据库它将所有数据存储在内存中因此其内存使用量直接决定了性能和可靠性。如果Redis使用的内存超过了系统所能提供的内存大小就会触发操作系统的内存换页机制从而导致性能下降。 为了避免这种情况的发生我们需要在Redis中设置最大内存限制。当Redis的内存使用量接近最大内存限制时Redis会触发内存淘汰机制将一些不常访问的数据从内存中淘汰出去以释放内存空间。
如何设置最大内存 Redis提供了一个配置项maxmemory用于设置最大内存限制。可以通过修改Redis的配置文件redis.conf来设置该项。
# 设置最大内存为1GB
maxmemory 1gb
上述配置设置了最大内存为1GB。除了使用gb表示G字节外还可以使用mb表示M字节kb表示K字节。也可以直接使用字节数例如maxmemory 1073741824表示1GB。
java应用
prothums配置
内存泄漏警报
1、prom-jmx.yml
scrape_configs:- job_name: prometheus-jmx-scrapejmx_url: service:jmx:rmi:///jndi/rmi://localhost:9010/jmxrmijmx_user: adminjmx_password: passwordstatic_configs:- targets: [localhost]metrics_path: /metricstimeout: 30s
2、prom-alert-rules.yml
rule_files:- prom-alert-rules.yml
alerting:alertmanagers:- static_configs:- targets: [alertmanagerlocalhost:9093]
在prom-alert-rules.yml文件中定义内存泄漏的警报规则
groups:
- name: examplerules:- alert: MemoryLeakexpr: heap_used_percent 80for: 10mlabels:severity: warningannotations:message: High heap memory usage ({[label]}%) detected. Leak suspected, action required. 上述配置假设您的警报管理系统如Alertmanager在本地主机的9093端口上运行并且您有一个运行在本地主机的Prometheus实例。警报规则定义了一个内存泄漏警报如果堆内存使用率超过80%并且持续10分钟以上则会触发该警报。 请注意这只是一个示例配置您需要根据您的实际环境和需求进行适当的修改。
GC 暂停时间警报
1、prom-jmx.yml
scrape_configs:- job_name: prometheus-jmx-scrapejmx_url: service:jmx:rmi:///jndi/rmi://localhost:9010/jmxrmijmx_user: adminjmx_password: passwordstatic_configs:- targets: [localhost]metrics_path: /metricstimeout: 30s
2、prom-alert-rules.yml
rule_files:- prom-alert-rules.yml
alerting:alertmanagers:- static_configs:- targets: [alertmanagerlocalhost:9093]
在prom-alert-rules.yml文件中定义GC暂停时间超过某个阈值的警报规则
groups:
- name: examplerules:- alert: GCPauseWarningexpr: jvm_gc_pause_seconds{type CMS} 10 or jvm_gc_pause_seconds{type G1} 10for: 1mlabels:severity: warningannotations:message: GC Pause Warning (instance{{$labels.instance}})summary: GC Pause time exceeded 10 seconds in the last minute. Leak suspected, action required. 上述配置假设您的警报管理系统如Alertmanager在本地主机的9093端口上运行并且您有一个运行在本地主机的Prometheus实例。警报规则定义了一个GC暂停时间超过10秒的警报无论使用的是CMS还是G1垃圾回收器。如果暂停时间超过该阈值并且持续1分钟以上则会触发该警报。 请注意这只是一个示例配置您需要根据您的实际环境和需求进行适当的修改。
grafana监控-jvm监控
JVM Statistics-Heaps G1 Eden Space (heap)新生代Eden 区堆内存使用情况能够直观反应应用new 对象内存分配情况 Used:jvm.memory.max JVM最大内存 committed:jvm.memory.committed JVM可用内存 是 展示并监控堆内存和Metaspace 重要 used:jvm.memory.used JVM已用内存 G1 Old Gen (heap)老年代代堆内存使用情况能够直观反应应用大对象、长生命周期对象内存分配情况 Used:jvm.memory.max JVM最大内存 committed:jvm.memory.committed JVM可用内存 是 展示并监控堆内存和Metaspace 重要 used:jvm.memory.used JVM已用内存 G1 Survivor Space (heap)新生代Survivor 区堆内存使用情况对象年代提升情况通过对该区的内存使用监控可以防止应用出现“过早提升”问题 Used:jvm.memory.max JVM最大内存 committed:jvm.memory.committed JVM可用内存 是 展示并监控堆内存和Metaspace 重要 used:jvm.memory.used JVM已用内存 Code Cache (non-heap):JVM生成的native code存放的内存空间称之为Code CacheJIT编译、JNI等都会编译代码到native code其中JIT生成的native code占用了Code Cache的绝大部分空间 Compressed Class Space (non-heap): 类指针压缩空间Compressed Class Pointer Space内存分配。 Metaspace (non-heap)监控展示了Java元数据内存分配情况。元空间Java8移除了持久空间引入元空间内存模型 JVM Statistics Threads/Buffers Threads线程数量 Memory Allocate/PromoteGC时年轻代分配的内存空间/GC时老年代分配的内存空间监控 Classes classes加载情况监控 Classes Unloaded未加载的classes数 Classes Loaded已加载的classes数Direct Buffers: JVM缓冲区已用内存监控 Mapped Buffers: 内存映射区内存分配可忽略 JVM Statistics GC JVM内存 垃圾回收统计分析对jvm进行gc的时间、数量、jvm停顿时间的监控
GC CountGC次数统计。GC Stop the World DurationGC全局停顿时间统计。
JVM常见的GC包括三种Minor GCMajor GC与Full GC
新生代收集(Minor GC/Young GC):只是新生代的垃圾收集老年代收集(Major GC/Old GC):只是老年代的垃圾收集整堆收集(Full GC)收集整个Java堆和方法区的垃圾收集 参考文章
使用管理规则 (Sun GlassFish Enterprise Manager Performance Advisor 1.0 安装与快速入门指南)
https://www.toutiao.com/article/7273039473196368403/?appnews_articletimestamp1693872382use_new_style1req_id20230905080622B7416A0C5BBBDC44F69Agroup_id7273039473196368403wxshare_count1tt_fromweixinutm_sourceweixinutm_mediumtoutiao_androidutm_campaignclient_shareshare_tokenda41c642-f2d0-4f11-8833-3c0515f6e96dsourcem_redirect