监控系统可能主要有两部分,系统性能和系统日志。
性能监控可以发现哪些服务器负载高哪些负载低;
日志监控可以监控异常日志输出,及时发现服务器的异常情况。
性能监控可以用snmp来实现监控,日志监控可以使用rsyslog来统一收集监控。

一、性能监控

性能监控可以使用zabbix、Nagios等软件进行监控,也可以自己编写代码,利用snmp获取数据进行监控。
我自己在使用的方案:snmp+python+django+mysql
各客户端开启snmp服务。
部署一台系统,安装python,django,MySQL三个软件,使用python的cele定时通过snmp来获取各系统的性能数据,存入MySQL中保存,然后通过django展示出来。
主要有磁盘使用率、CPU使用率、内存使用率、交换分区使用率等。
转载本站文章请注明出处:黄海兵haibing.org

二、日志监控

日志监控可以使用syslog、rsyslog等系统本身自带的软件进行收集监控,也可以使用第三方的软件架构,有很多,比较常用的是ELK架构。
我自己在使用的方案:rsyslog+django+mysql
各客户端开启rsyslog服务,发送日志。
部署一台系统,安装rsyslog,django,MySQL三个软件,使用rsyslog统一收集各服务器发送过来的日志,保存到MySQL数据库中,然后通过django展示出来。
然后通过django展示出来。
可根据日志特点筛选出一些有用的东西展示出来,比如最新错误日志,日志最多的服务器,最新登录的服务器,服务器有多久未登录等。
转载本站文章请注明出处:黄海兵haibing.org

三、其它方案

上面性能监控和日志监控主要是用系统自带的一些工具再配合一些语言来展示,不过现在有现成的架构方案来实现这些功能。
比如ELK(Elasticsearch , Logstash, Kibana)架构,influxdb+telegraf+grafana架构,还有其它很多架构可以使用。
这ELK架构和influxdb+telegraf+grafana架构这两种架构也都使用过,各有各的优点和缺点。
两个架构都是使用时序数据库来保持数据,比传统数据库查询要快,管理方便。
转载本站文章请注明出处:黄海兵haibing.org

ELK架构:

influxdb+telegraf+grafana架构: