2021年(31)
分类: LINUX
2021-06-10 22:45:19
我经常在培训的时候会说,监控工具的选择思路是:先全局监控,后定向定量监控。
大概说一下监控工具,基本上收费的,我都尽量不提。以免有打广告的嫌疑。
对于现在用到的主流环境:linux/tomcat/mysql/nginx/redis这一套东西。如果有人问到其他的,也可以在评论中说出来。
Linux:基本上对于性能分析工程师来说,如果是单机的话,命令就已经足够。uptime/top/vmstat/mpstat/pidstat/dstat/nethogs/iostat/sar.........多的列不完。如果说想保存历史数据的话,建议用zabbix之类的工具,像这样的工具有很多种,像casti/ Nagios也是比较不错的。现在很多企业都基于开源的工具做了自己的监控平台,从思路上来说大同小异。还有些比较强的团队完全开发自己的监控平台。其实这个代价已经不像以前那么高了,毕竟有开源的可以做参考;要改造也有明确的方向。
tomcat:除了自己的manager页面,probe也是个不错的选择。当然对多个节点也是可以用上面提到的zabbix系列的监控工具。
mysql:我基本上不用复杂的工具监控mysql。如果节点不多,我觉得直接写SQL也基本上够用。show status+slowlog之类的。另外,mysql有information schema和performance schema,基本上像oracle里的各种$视图了。有一些工具中也带监控功能,像mysqlworkbench。
redis: 除了info之外,还有些GUI的监控工具,commands/misses之类的都能看到(因为我服务器上没装,就不截图了,网上找图不像话)。当然刚才提到的zabbix也可以做到。
nginx:其实没几个参数可以监控的。但是它的日志很有用。建议有条件的一定要装个日志分析工具,实时或半实时地分析下nginx的日志。在配置中,也有$request_time和$upstream_response_time两个参数可以用(个人推荐用前者)。
如果想有报警的机制,就得用监控平台像zabbix这样的来配置了。如果是做运维的,这是必须的。
其实监控工具呢,可以给出的是数据是什么样的。对于性能分析工程师来说,不管是用商业的还是开源的还是黑市淘来的监控工具,最重要的是要知道那些值的大小各有什么区别,并且要理清数据之间的关联关系。这才是重点。