关闭

Linux监控(OS,MySQL,Tomcat,Apache)

标签: linuxmysqlos监控
1044人阅读 评论(2) 收藏 举报
分类:

      关于逐步脱离开发岗位的意见,老大已经批准了,接下来我的主要工作就是”运维+数据库管理“。感谢杰民兄和小马哥能接受我的骚扰,接下来还会去骚扰他们,同时也会去骚扰董大爷,小刚总,心灵哥,猪肉哥,谢谢你们。同时也要感谢吴老大,叶老大,落总,七总,橙子哥他们。

     因为还没有学会玩zabbix,所以先着手自己写脚本试试看。写好的脚本到时候回分享出来,欢迎大家批评指点。

=======================================================================================

1.重点进程监控:tomcat,apache,mysql
2.存储空间监控:挂载点 75%告警(如果一直都是75%,则每小时告警一次)
3.uptime查看load_avg,只要这三个值出现大于(cpu core/2)就开始收集系统资源信息(cpu,mem,io,net)
  top10的进程(cpu,mem),每10秒收集一次,同时开始告警,每10分钟告警一次(如果一直都大于(cpu core/2))
4.重点域名ping测试(??)
5.网络流量如何监控(待定)
6.MySQL性能参数收集
打印当前MySQL的重点参数:
innodb_buffer_pool_size:0.5--0.8
innodb_max_dirty_pages_pct:<50%
innodb_log_buffer_size:32M
innodb_data_file_path:>1G
innodb_log_file_size:
innodb_flush_log_at_trx_commit:1
sync_binlog:1
query_cache_size:0
query_cache_type:0
innodb_data_file_path=ibdata1:100M:autoextend  #1024M init
innodb_file_per_table:1           #是否启用独立表空间 


innodb_log_buffer_size:8M   # # 用来缓冲日志数据的缓冲区的大小.当此值快满时, InnoDB将必须刷新数据到磁盘上. 由于基本上每秒都会刷新一次,所以没有必要将此值设置的太大(甚至对于长事务而言)                                                 
innodb_log_file_size:100M    # redo log大小,不能太大,否则恢复很慢,不能太小,否则频繁checkpoint,导致性能抖动                        
innodb_log_files_in_group:3  # 指定日志组中redo log日志的数量


log_bin  #开启binlog 
expire_logs_days:45
binlog_format:MIXED


innodb_flush_method:O_DIRECT 
这个参数控制着innodb数据文件及redo log的打开、刷写模式,对于这个参数,文档上是这样描述的:
有三个值:fdatasync(默认),O_DSYNC,O_DIRECT
fdatasync:默认值,调用fsync()去刷数据文件与redo log的buffer
O_DSYNC:innodb会使用O_SYNC方式打开和刷写redo log,使用fsync()刷写数据文件
O_DIRECT:innodb使用O_DIRECT打开数据文件,使用fsync()刷写数据文件跟redo log


open_files_limit:8192
table_definition_cache:400                           
table_open_cache:400


lower_case_table_names:
sql_mode
character_set_server


max_connections                     
max_user_connections                        
thread_cache_size 




read_buffer_size
sort_buffer_size
tmp_table_size
join_buffer_size
read_rnd_buffer_size
max_heap_table_size




slow_query_log_file
slow_query_log:1
log_queries_not_using_indexes:1
long_query_time:0.02
min_examined_row_limit :100


Mysql 内存分配规则是:用多少给多少,最高到配置的值,不是立即分配
全局缓存包括:
global buffer(全局内存分配总和) =
   innodb_buffer_pool_size                      -- InnoDB高速缓冲,行数据、索引缓冲,以及事务锁、自适应哈希等
+innodb_additional_mem_pool_size    -- InnoDB数据字典额外内存,缓存所有表数据字典
+innodb_log_buffer_size                      -- InnoDB REDO日志缓冲,提高REDO日志写入效率
+key_buffer_size                                   -- MyISAM表索引高速缓冲,提高MyISAM表索引读写效率
+query_cache_size                                -- 查询高速缓存,缓存查询结果,提高反复查询返回效率
+thread_cache_size                               --Thread_Cache 中存放的最大连接线程数
+table_cahce                                         -- 表空间文件描述符缓存,提高数据表打开效率
+table_definition_cache                        -- 表定义文件描述符缓存,提高数据表打开效率
会话缓存包括:
 total_thread_buffers= max_connections  * (
  read_buffer_size             -- 顺序读缓冲,提高顺序读效率
+read_rnd_buffer_size   -- 随机读缓冲,提高随机读效率
+sort_buffer_size           -- 排序缓冲,提高排序效率
+join_buffer_size           -- 表连接缓冲,提高表连接效率
+binlog_cache_size       -- 二进制日志缓冲,提高二进制日志写入效率
+tmp_table_size            -- 内存临时表,提高临时表存储效率
+thread_stack                -- 线程堆栈,暂时寄存SQL语句/存储过程
+thread_cache_size       -- 线程缓存,降低多次反复打开线程开销,模拟连接池


mysql状态:
qps,tps,InnoDB Buffer命中率,慢日志,Table Cache状态量,锁定状态,Tmp Table 状况(临时表状况), Binlog Cache 使用状况,Innodb_log_waits 量 ,slave延迟等待。

SHOW GLOBAL STATUS;
SHOW FULL PROCESSLIST;
SHOW ENGINE INNODB STATUS\G


7.虚拟机压力测试报告:(sysbench,tpcc_mysql)

tpcc_mysql压力测试TPS:os内存调整到16G, innodb_buffer_pool_size分别设置为2,4,6,8,10,12G时仓库数是5,10,15,20,50,60,80,100的TPS。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:352578次
    • 积分:4661
    • 等级:
    • 排名:第6502名
    • 原创:76篇
    • 转载:186篇
    • 译文:2篇
    • 评论:52条
    个人简介

    每天进步一点点。。。


    从2009年毕业到现在,做过Java后台开发,PL/SQL开发,会编写shell脚本,现为兼职开发的MySQL DBA。为人友善诚恳,工作踏实,吃苦耐劳,富有朝气,激情,以及团队合作意识。
    文章分类
    最新评论