Prometheus 告警Promesql整理

2024-08-29 22:28

本文主要是介绍Prometheus 告警Promesql整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Node 状态异常集群监控kube_node_status_condition{condition="Ready",job="kube-state-metrics",status="true"} == 02mNode({{ $labels.node}})状态异常持续2分钟
应用健康检查失败应用监控probe_success == 0 2m应用健康检查失败
应用FullGC异常应用监控increase(jvm_gc_collection_seconds_count{gc=~"ConcurrentMarkSweep|PS MarkSweep"}[2m])  > 22m应用在2分钟内FullGC次数超过2次
app-actuator-health-10min业务指标监控probe_success == 0 10m持续10分钟应用健康检查失败,请及时上线处理。
PodCPU使用率大于90%应用监控 sum (rate (container_cpu_usage_seconds_total{image!=""}[10m])) by (pod,namespace) / sum(kube_pod_container_resource_limits_cpu_cores{job="kube-state-metrics"}) by (pod,namespace) * 100    > 902mPod({{$labels.pod}})CPU使用率大于90%,(当前值:{{printf "%.2f" $value}}%)。
Pod内存使用率大于90%应用监控sum (container_memory_rss{image!="",pod!~"^logtail.*"}) by (pod,namespace) / sum(kube_pod_container_resource_limits_memory_bytes{job="kube-state-metrics"}) by (pod,namespace) * 100  > 902mPod({{$labels.pod}})内存使用率大于90%,(当前值:{{printf "%.2f" $value}}%)。
Pod频繁重启应用监控increase(kube_pod_container_status_restarts_total{job=~".*kube-state-metrics"}[5m]) > 010mPod{{$labels.pod}}最近5分钟频繁重启
NodeCPU使用率超过80%集群监控100 - ((avg by (instance,job,env,appname,line)(irate(node_cpu_seconds_total{mode="idle"}[5m]))) *100) * on(instance) group_left(nodename) (node_uname_info) > 802m服务器{{$labels.nodename}}CPU使用率超过80% (当前值:{{printf "%.2f" $value}}%)。
NodeCPU使用率超过90%集群监控100 - ((avg by (instance,job,env,appname,line)(irate(node_cpu_seconds_total{mode="idle"}[5m]))) *100) * on(instance) group_left(nodename) (node_uname_info) > 902m服务器{{$labels.nodename}}内存使用率超过90% (当前值:{{printf "%.2f" $value}}%)。
Node内存使用率超过80%集群监控 (1 - (node_memory_MemAvailable_bytes / (node_memory_MemTotal_bytes)))* 100 * on(instance) group_left(nodename) (node_uname_info) > 802m服务器{{$labels.nodename}}内存使用率超过80% (当前值:{{printf "%.2f" $value}}%)。
Node内存使用率超过90%集群监控(1 - (node_memory_MemAvailable_bytes / (node_memory_MemTotal_bytes)))* 100 * on(instance) group_left(nodename) (node_uname_info) > 902m服务器{{$labels.nodename}}内存使用率超过90% (当前值:{{printf "%.2f" $value}}%)。
Node磁盘使用率超过80%集群监控(node_filesystem_size_bytes{fstype=~"ext.?|xfs"}-node_filesystem_free_bytes{fstype=~"ext.?|xfs"}) *100/(node_filesystem_avail_bytes {fstype=~"ext.?|xfs"}+(node_filesystem_size_bytes{fstype=~"ext.?|xfs"}-node_filesystem_free_bytes{fstype=~"ext.?|xfs"})) * on(instance) group_left(nodename) (node_uname_info)  > 802m服务器{{$labels.nodename}}磁盘({{$labels.device}})使用率超过80% (当前值:{{printf "%.2f" $value}}%)。
Node磁盘使用率超过90%集群监控(node_filesystem_size_bytes{fstype=~"ext.?|xfs"}-node_filesystem_free_bytes{fstype=~"ext.?|xfs"}) *100/(node_filesystem_avail_bytes {fstype=~"ext.?|xfs"}+(node_filesystem_size_bytes{fstype=~"ext.?|xfs"}-node_filesystem_free_bytes{fstype=~"ext.?|xfs"})) * on(instance) group_left(nodename) (node_uname_info)  > 901m服务器{{$labels.nodename}}磁盘({{$labels.device}})使用率超过90% (当前值:{{printf "%.2f" $value}}%)
Nacos宕机中间件监控count(nacos_monitor{name="configCount"})<11mNacos({{$labels.pod}})服务异常已持续1分钟
RocketMQ宕机中间件监控up{job="rocketmq-exporter"}==01mRocketMQ({{$labels.pod}})服务异常已持续1分钟
集群Pod批量重启集群监控count(sum (increase (kube_pod_container_status_restarts_total{}[2m])) by (pod)>1)>31m集群Pod发生批量重启事件(当前值:{{printf  $value}})。
30分钟内一个Pod重启2次业务指标监控sum (increase (kube_pod_container_status_restarts_total{namespace="tt-his"}[30m])) by (pod) > 21m30分钟内一个Pod重启2次
Pod 磁盘使用超过20G应用监控sum by(container, pod) (container_fs_usage_bytes{id!="/"}) / 1024 / 1024 / 1024 > 201mPod  {{$labels.pod}}  磁盘使用大于20G,(当前值:{{printf "%.2f" $value}}G)。
客户端访问APIServer出错集群监控(sum(rate(rest_client_requests_total{code=~"5.."}[5m])) by (instance, job, cluster_id) / sum(rate(rest_client_requests_total[5m])) by (instance, job, cluster_id)) > 0.0115m客户端访问 APIServer 出错率大于1%
客户端访问APIServer证书快过期集群监控apiserver_client_certificate_expiration_seconds_count{job="apiserver"} > 0 and on(job) histogram_quantile(0.01, sum by (cluster_id, job, le) (rate(apiserver_client_certificate_expiration_seconds_bucket{job="apiserver"}[5m]))) < 8640010m访问APIServer的客户端证书将在24小时后过期
APIServer故障集群监控absent(up{job="apiserver"} == 1)2mAPIServer从采集目标中消失
Scheduler故障集群监控absent(up{job="kube-scheduler"} == 1)15mScheduler从采集目标中消失
ControllerManager故障集群监控absent(up{job="kube-controller-manager"} == 1)15mControllerManager下线
Node不可达集群监控kube_node_spec_taint{job=~".*kube-state-metrics",key="node.kubernetes.io/unreachable",effect="NoSchedule"} == 115mNode 不可达,上面的工作负载会重新调度
Node上运行太多pod集群监控count by(cluster_id, node) ((kube_pod_status_phase{job=~".*kube-state-metrics",phase="Running"} == 1) * on(instance,pod,namespace,cluster_id) group_left(node) topk by(instance,pod,namespace,cluster_id) (1, kube_pod_info{job=~".*kube-state-metrics"}))/max by(cluster_id, node) (kube_node_status_capacity_pods{job=~".*kube-state-metrics"} != 1) > 0.9515mNode上运行pod量快达到上限
Node状态抖动集群监控sum(changes(kube_node_status_condition{status="true",condition="Ready"}[15m])) by (cluster_id, node) > 215mNode状态在正常和异常之间抖动
Kubelet的客户端证书快过期集群监控kubelet_certificate_manager_client_ttl_seconds < 8640010mKubelet客户端证书将在24小时后过期
Kubelet的服务端证书快过期集群监控kubelet_certificate_manager_server_ttl_seconds < 8640010mKubelet服务端证书将在24小时后过期
PLEG耗时高集群监控histogram_quantile(0.99, sum(rate(kubelet_pleg_relist_duration_seconds_bucket[5m])) by (cluster_id, instance, le) * on(instance, cluster_id) group_left(node) kubelet_node_name{job="kubelet"}) >= 105mPLEG操作耗时的99分位数超过10秒
Pod启动耗时高集群监控histogram_quantile(0.99, sum(rate(kubelet_pod_worker_duration_seconds_bucket{job="kubelet"}[5m])) by (cluster_id, instance, le)) * on(cluster_id, instance) group_left(node) kubelet_node_name{job="kubelet"} > 6015mPod启动耗时的99分位数值超过60秒
Kubelet故障集群监控absent(up{job="kubelet", metrics_path="/metrics"} == 1)15mKubelet从采集目标消失
节点Conntrack使用率过高集群监控(node_nf_conntrack_entries / node_nf_conntrack_entries_limit) > 0.752m节点使用大量Conntrack条目。
机器时钟漂移集群监控( node_timex_offset_seconds > 0.05 and deriv(node_timex_offset_seconds[5m]) >= 0 ) or ( node_timex_offset_seconds < -0.05 and deriv(node_timex_offset_seconds[5m]) <= 0 )10m机器时间漂移超过300秒,检查NTP是否正常配置
机器时钟未同步集群监控min_over_time(node_timex_sync_status[5m]) == 010m机器时间最近未同步,检查 NTP 是否正常配置
网卡发送出错集群监控increase(node_network_transmit_errs_total[2m]) > 1060m网卡发送数据出错
网卡接收出错集群监控increase(node_network_receive_errs_total[2m]) > 1060m网卡接收数据出错
文件系统inode使用率高集群监控(node_filesystem_files_free{job="node-exporter",fstype!=""}/node_filesystem_files{job="node-exporter",fstype!=""}*100<3 and node_filesystem_readonly{job="node-exporter",fstype!=""}==0)60m文件系统可用 inode 低于3%
ETCD故障集群监控absent(up{job="kube-etcd"} == 1)2metcd组件故障
nginx故障中间件监控nginx_up{}2mNginx报警: Nginx服务异常
Pod的PVC使用率超过90%应用监控((kubelet_volume_stats_capacity_bytes - kubelet_volume_stats_available_bytes) / kubelet_volume_stats_capacity_bytes *100 )>902mPod  {{$labels.pod}}  的PVC使用率超过90%,(当前值:{{printf "%.2f" $value}})。
SSL证书过期告警集群监控(ssl_cert_not_after-time())/3600/24 < 151h证书{{ $labels.instance }}还有{{ printf "%.1f" $value }}天就过期了,请尽快更新证书
Node平均负载偏高集群监控(sum (node_load5) by (instance) / count by (instance) (node_cpu_seconds_total{mode="idle"})) > 230s服务器{{$labels.instance}}5分钟平均负载已超过CPU内核数两倍 (当前值:{{printf "%.2f" $value}}%)。
Node出现不可中断(D状态)进程集群监控sum by(cluster, job, instance, groupname) (namedprocess_namegroup_states{state="Waiting"})>03m服务器{{$labels.instance}}上出现不可中断(D状态)进程{{$labels.groupname}}
Node出现僵尸进程集群监控sum by(cluster, job, instance, groupname) (namedprocess_namegroup_states{state="Zombie"})>03m服务器{{$labels.instance}}上出现僵尸进程{{$labels.groupname}}
Node出现非正常状态进程集群监控sum by(cluster, job, instance, groupname) (namedprocess_namegroup_states{state="Other"})>03m服务器{{$labels.instance}}上出现非正常状态进程{{$labels.groupname}}
因资源不足被驱逐的Pod累积超过50个集群监控sum(kube_pod_status_phase{phase="Evicted"})1m因资源不足被驱逐的Pod累积超过50个
mysql集群主从延迟过高数据库监控max(mysql_slave_status_seconds_behind_master{namespace="databases"}) by (pod) - max(mysql_slave_status_sql_delay{namespace="databases"}) by (pod) > 302mmysql实例({{$labels.pod}})延迟过高 (当前值:{{printf "%.2f" $value}}%)
mysql集群发生主从切换数据库监控rate (mysql_slave_status_master_server_id [5m]) > 01mmysql集群发生主从切换,当前master节点:{{$labels.master_host}}
mysql实例连接数异常增长数据库监控avg by(pod)(mysql_global_status_threads_connected{namespace="databases"})/avg by(pod)(mysql_global_variables_max_connections{namespace="databases"})*100 > 401mmysql连接数超过最大连接数的50%
mysql集群从库状态异常数据库监控sum (mysql_slave_status_slave_io_running{namespace="databases"} + mysql_slave_status_slave_sql_running{namespace="databases"}) by (pod) < 22mmysql从库状态异常,请检查{{$labels.pod}}
mysql实例锁等待数量异常数据库监控irate(mysql_global_status_innodb_row_lock_waits[1m]) >201m每秒新增锁等待数量异常,当前值{{printf "%.2f" $value}})
mysql实例qps过高数据库监控irate(mysql_global_status_queries{namespace="databases"}[5m]) > 60002mqps过高,当前值{{printf "%.2f" $value}}),请检查
mysql实例pod内存使用率高数据库监控sum(container_memory_rss{namespace="databases",container="mysql"}) by (pod) / sum(kube_pod_container_resource_limits_memory_bytes{namespace="databases", container="mysql",job="kube-state-metrics"}) by (pod) > 0.752m物理内存占用过高,当前值{{printf "%.2f" $value}})
mysql实例cpu使用率过高数据库监控sum by(pod,container) (irate(container_cpu_usage_seconds_total{namespace="databases", container="mysql"}[2m])) *100 / sum by(pod,container) (kube_pod_container_resource_limits_cpu_cores{namespace="databases",container="mysql",job="kube-state-metrics"}) > 702mcpu使用率超过70%,当前值{{printf "%.2f" $value}})
mysql实例异常重启数据库监控mysql_global_status_uptime{pod!=""} < 1201mmysql节点{{$labels.pod}}异常重启
mysql实例不可达数据库监控up{namespace="databases",pod=~".*mysql-cluster.*"} !=11mmysql节点不可达,节点:{{$labels.pod}}
ECS-load1负载高于cpu核数中间件监控(sum by (instance,service) (node_load1))>(count by(instance,service) (count by(instance,cpu,service) (node_cpu_seconds_total)))* on(instance,service) group_left(nodename) (node_uname_info)100s 服务器 {{$labels.instance}} ({{$labels.appname}})load1负载高于cpu核数 (当前值:{{printf "%.2f" $value}}%)。'
ECS-load1负载高于cpu核数的1.5倍中间件监控(sum by (instance,service) (node_load1))>(count by(instance,service) (count by(instance,cpu,service) (node_cpu_seconds_total))*1.5)* on(instance,service) group_left(nodename) (node_uname_info)100s服务器 {{$labels.instance}} ({{$labels.appname}})load1负载高于cpu核数的1.5倍 (当前值:{{printf "%.2f" $value}}%)。'
ECS-磁盘使用率超过90%中间件监控(node_filesystem_size_bytes{fstype=~"ext.?|xfs"}-node_filesystem_free_bytes{fstype=~"ext.?|xfs"}) *100/(node_filesystem_avail_bytes {fstype=~"ext.?|xfs"}+(node_filesystem_size_bytes{fstype=~"ext.?|xfs"}-node_filesystem_free_bytes{fstype=~"ext.?|xfs"})) * on(instance,service) group_left(nodename) (node_uname_info) > 902m服务器 {{$labels.instance}} ({{$labels.nodename}})磁盘({{$labels.device}})使用率超过90% (当前值:{{printf "%.2f" $value}}%)。'
ECS-磁盘使用率超过80%:中间件监控(node_filesystem_size_bytes{fstype=~"ext.?|xfs"}-node_filesystem_free_bytes{fstype=~"ext.?|xfs"}) *100/(node_filesystem_avail_bytes {fstype=~"ext.?|xfs"}+(node_filesystem_size_bytes{fstype=~"ext.?|xfs"}-node_filesystem_free_bytes{fstype=~"ext.?|xfs"})) * on(instance,service) group_left(nodename) (node_uname_info) > 802m服务器 {{$labels.instance}} ({{$labels.nodename}})磁盘({{$labels.device}})使用率超过80% (当前值:{{printf "%.2f" $value}}%)。'
ECS- CPU使用率超过90%中间件监控100 - ((avg by (instance,job,env,appname,service)(irate(node_cpu_seconds_total{mode="idle"}[5m]))) *100) * on(instance,service) group_left(nodename) (node_uname_info) >902m服务器 {{$labels.instance}} ({{$labels.nodename}})CPU使用率超过90% (当前值:{{printf "%.2f" $value}}%)。'
ECS-CPU使用率超过80%中间件监控100 - ((avg by (instance,job,env,appname,service)(irate(node_cpu_seconds_total{mode=idle}[5m]))) *100) * on(instance,service) group_left(nodename) (node_uname_info) >802m服务器 {{$labels.instance}} ({{$labels.nodename}})CPU使用率超过80% (当前值:{{printf "%.2f" $value}}%)。'
ECS-内存使用率超过90%中间件监控(1 - (node_memory_MemAvailable_bytes / (node_memory_MemTotal_bytes)))* 100 * on(instance,service) group_left(nodename) (node_uname_info) > 902m服务器 {{$labels.instance}} ({{$labels.nodename}})内存使用率超过90% (当前值:{{printf "%.2f" $value}}%)'
ECS-内存使用率超过85%中间件监控(1 - (node_memory_MemAvailable_bytes / (node_memory_MemTotal_bytes)))* 100 * on(instance,service) group_left(nodename) (node_uname_info) > 852m服务器 {{$labels.instance}} ({{$labels.nodename}})内存使用率超过85% (当前值:{{printf "%.2f" $value}}%)
ECS-服务器宕机告警中间件监控up{ service="ecs-out-of-cluster"} * on(instance) group_left(nodename) node_uname_info{ service="ecs-out-of-cluster"} == 01m服务器HostName: {{ .nodename }} 服务器: {{ .instance }} 1分钟内没有响应,请检查是否宕机。
网络拨测告警集群监控probe_success{probeName="k8s出口ip拨测"} == 05m网络拨测:{{$labels.clusterName}}-{{$labels.probeName}}不通过
mysql集群主从延迟超过5分钟数据库监控max(mysql_slave_status_seconds_behind_master{namespace="databases"}) by (pod) - max(mysql_slave_status_sql_delay{namespace="databases"}) by (pod) > 3002mmysql实例({{$labels.pod}})延迟过高(当前值:{{printf "%.2f" $value}}%)
mysql集群从库权限不是只读数据库监控mysql_global_variables_read_only{job=~".*mysql",pod !~".*mysql-0.*"} != 11mmysql实例({{$labels.pod}})权限不是只读
mysql实例打开文件数超过75%数据库监控mysql_global_status_innodb_num_open_files > (mysql_global_variables_open_files_limit) * 0.752mmysql实例({{$labels.pod}})打开文件数超过75%(当前值:{{printf "%.2f" $value}}%)
mysql(app)实例连接数过高数据库监控avg by(pod)(mysql_global_status_threads_connected{namespace="databases",pod =~".*app.*"})/avg by(pod)(mysql_global_variables_max_connections{namespace="databases",pod =~".*app.*"})*100 > 502mmysql实例({{$labels.pod}})连接数超50%(当前值:{{printf "%.2f" $value}}%)
mysql(app)锁等待数量异常 数据库监控irate(mysql_global_status_innodb_row_lock_waits{pod =~".*app.*"}[1m]) >102mmysql实例({{$labels.pod}})锁等待数量异常(当前值{{printf "%.2f" $value}})
rocketmq集群broker busy压力过大中间件监控rocketmq_brokeruntime_send_threadpoolqueue_headwait_timemills > 2002mrocketmq集群({{$labels.namespace}}/{{$labels.cluster}})broker busy压力过大 (当前值{{printf "%.2f" $value}})
rocketmq集群TPS过高中间件监控sum(rocketmq_producer_tps) by (cluster, namespace) >= 1002mrocketmq集群({{$labels.namespace}}/{{$labels.cluster}})TPS过高(当前值{{printf "%.2f" $value}})
rocketmq集群消费组的消费延时时间过高中间件监控rocketmq_group_get_latency_by_storetime/1000  > 5 and rate(rocketmq_group_get_latency_by_storetime[5m]) >02mrocketmq集群({{$labels.namespace}}/{{$labels.cluster}})消费组的消费延时时间过高,Topic:({{$labels.topic}})关联Group:({{$labels.group}})(当前值{{printf "%.2f" $value}})
rocketmq集群name service节点故障中间件监控sum(kube_pod_container_status_ready{ job="kubernetes-service-endpoints",pod=~".*mq.*",pod!~".*(console|operator|exporter).*", container=~".*(name-service).*"}) by (namespace) < 21mrocketmq集群({{$labels.namespace}}) name service节点故障。
rocketmq集群broker节点故障中间件监控sum(kube_pod_container_status_ready{ job="kubernetes-service-endpoints",pod=~".*mq.*",pod!~".*(console|operator|exporter).*", container=~".*(broker).*",namespace!="devops"}) by (namespace) < 21mrocketmq集群({{$labels.namespace}}) broker节点故障。

这篇关于Prometheus 告警Promesql整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119017

相关文章

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Prometheus与Grafana在DevOps中的应用与最佳实践

Prometheus 与 Grafana 在 DevOps 中的应用与最佳实践 随着 DevOps 文化和实践的普及,监控和可视化工具已成为 DevOps 工具链中不可或缺的部分。Prometheus 和 Grafana 是其中最受欢迎的开源监控解决方案之一,它们的结合能够为系统和应用程序提供全面的监控、告警和可视化展示。本篇文章将详细探讨 Prometheus 和 Grafana 在 DevO

rtmp流媒体编程相关整理2013(crtmpserver,rtmpdump,x264,faac)

转自:http://blog.163.com/zhujiatc@126/blog/static/1834638201392335213119/ 相关资料在线版(不定时更新,其实也不会很多,也许一两个月也不会改) http://www.zhujiatc.esy.es/crtmpserver/index.htm 去年在这进行rtmp相关整理,其实内容早有了,只是整理一下看着方

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

JavaScript整理笔记

JavaScript笔记 JavaScriptJavaScript简介快速入门JavaScript用法基础语法注释关键字显示数据输出innerHTML innerText属性返回值的区别调试 数据类型和变量数据类型数字(Number)字符串(String)布尔值(Boolean)null(空值)和undefined(未定义)数组(Array)对象(Object)函数(Function) 变量

关于回调函数和钩子函数基础知识的整理

回调函数:Callback Function 什么是回调函数? 首先做一个形象的比喻:   你有一个任务,但是有一部分你不会做,或者说不愿做,所以我来帮你做这部分,你做你其它的任务工作或者等着我的消息,但是当我完成的时候我要通知你我做好了,你可以用了,我怎么通知你呢?你给我一部手机,让我做完后给你打电话,我就打给你了,你拿到我的成果加到你的工作中,继续完成其它的工作.这就叫回叫,手机

java后端服务监控与告警:Prometheus与Grafana集成

Java后端服务监控与告警:Prometheus与Grafana集成 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在现代的微服务架构中,监控和告警是确保服务稳定性的关键组成部分。Prometheus和Grafana是两个强大的工具,它们可以集成在一起,为Java后端服务提供实时监控和可视化告警。 服务监控的重要性 服务监控可以帮助我们实时了解服务的健

站长常用Shell脚本整理分享(全)

站长常用Shell脚本整理分享 站长常用Shell脚本整理分享1-10 站长常用Shell脚本整理分享11-20 站长常用Shell脚本整理分享21-30 站长常用Shell脚本整理分享31-40 站长常用Shell脚本整理分享41-50 站长常用Shell脚本整理分享51-59 长期更新

我自己常用的eclipse 快捷键整理

---------------- 我自己改的快捷键: 复制当前行单下一行  ctrl alt n   --------------------- 自带快捷键: 快速定位到一行  CTRL+L 向上(下)移动选中的行:ALT+UP/DOWN ARROW 删除行(Delete Line):CTRL+D CTRL + 1也很有用     ----------