-
Notifications
You must be signed in to change notification settings - Fork 32
371.analysis‐of‐check‐indicators
jingshun.tq edited this page May 14, 2024
·
1 revision
本文对 obdiag V1.5.2 版本的巡检指标来源进行解释。
类型 | task | 巡检目的 |
---|---|---|
cluster | core_file_find | 检查是否存在 core 的 observer |
deadlocks | 检查是否存在死锁问题 | |
major | 检查是否存在合并任务超过 36 小时 | |
part_trans_action_max | 查询事务参与者是否超过 200 | |
tenant_log_size | 日志盘是否为内存的三倍及以上 | |
data_path_settings | 是否存在数据盘和日志盘在同一和盘 | |
global_indexes_too_much | 检查全局索引是否超过 20 | |
mod_too_large | 检查是否有用户的模块占用超过 10G | |
task_opt_stat_gather_fail | 检查历史记录收集任务是否有任何失败的执行结果 | |
ob_enable_plan_cache_bad_version | 部分版本的ob_enable_plan_cache应该关闭 | |
observer_not_active | 检查observer是否有未启动的情况 | |
sys_log_level | 检查系统日志级别 | |
optimizer_better_inlist_costing | 部分版本的optimizer_better_inlist_costing应该关闭 | |
resource_limit_max_session_num | 检查最大会话数量 | |
table_history_too_many | 检查表历史记录是否过多 | |
tenant_number | 检查租户数量是否过多 | |
cpu | oversold | 检查是否有 observer 为非 ACTIVE 状态 |
disk | disk_full | 检查是否存在磁盘满的情况,80/90 |
disk_hole | 检查是否存在磁盘空洞的情况 | |
err_code | find_err_* | 检查各类较为严重问题的错误码是否存在 |
system | aio | aio 配置是否正常 |
dependent_software | 基础软件依赖配置是否正常。可参考 主机标准化检查项 | |
parameter* | 内核参数是否按要求配置。可参考 主机标准化检查项 | |
ulimit_parameter | ulimit 相关参数是否按要求配置。可参考 主机标准化检查项 | |
clock_source | 时间时钟源信息是否匹配 | |
core_pattern | 检查core_pattern是否正常 | |
dependent_software_swapon | 检查swapon是否正常配置 | |
instruction_set_avx2 | 检查avx2指令集是否正常 | |
version | bad_version | 是否使用了不推荐的 observer 版本 |
sysbench | sysbench_free_test_cpu_count | cpu_count 的值应为机器 cpu 总数的 80~100% |
sysbench_run_test_tenant_memory_used | used 综合/hold 总和是否低于租户 menory 的 80% | |
sysbench_test_cpu_quota_concurrency | 2 或者 4 | |
sysbench_test_tenant_log_disk_size | 日志盘不应小于 20G | |
sysbench_free_test_memory_limit | 内存分配需要为机器的 80~90 | |
sysbench_test_cluster_datafile_size | 数据盘与日志共用磁盘时设为磁盘空间的 60%,独占磁盘时设为磁盘空间的 90%; 与日志共用磁盘时设为 60,独占磁盘时设为 90 | |
sysbench_test_log_level | 日志等级是否为'INFO'、'WARN' 和 'ERROR' | |
sysbench_test_tenant_primary_zone | zone 是否配置为 random | |
sysbench_free_test_network_speed | 网卡需要千兆以上 | |
sysbench_test_cluster_log_disk_size | 日志盘与数据共用磁盘时设为磁盘空间的 30%,独占磁盘时设为磁盘空间的 90% | |
sysbench_test_sql_net_thread_count | net_thread_count 应为 cpu_count 总数的 1/8。sql_net_thread_count 应设置为 0,或与 net_thread_count 相同 | |
sysbench_run_test_tenant_cpu_used | 是否达到 max_cpu 的 90% 以上 | |
sysbench_test_cluster_parameters | enable_sql_audit 应该设为 false;enable_perf_event 应该设为 false; enable_record_trace_log 应该设为 false | |
sysbench_test_tenant_cpu_parameters | max_iops 应该为 max_cpu *10000 以上; | |
bugs | bug_182 | 相关信息参考https://github.com/oceanbase/obdiag/issues/182 |
table | information_schema_tables_two_data | 确认是否有表在information_schema.tables中存在两条记录 |
类型 | task | 巡检目的 |
---|---|---|
version | bad_version | 是否使用了不推荐的 obproxy 版本 |
OceanBase是原生分布式数据库系统,故障根因分析通常是比较繁琐的,因为涉及的因素可能有很多,如机器环境、配置参数、运行负载等等。专家在排查问题的时候需要获取大量的信息来分析故障,如何高效的获取故障场景下分散在各个节点的信息,挖掘出其中的关联性,帮助用户自助诊断问题便是obdiag的价值。