<h3>小编在这里向大家推荐几款服务器监控和告警系统bosun,cAdvisor以及Prometheus.</h3>
<h4>Bonus是一个新型的监控和告警系统</h4>支持定义复杂的告警规则,支持OpenTSDB、Graphite、Logstash-Elasticsearch 等数据源。bosun 将是 zabbix、nagios的有力竞争者。
这里采用docker进行安装(强烈推荐),或者你也可以采用源码进行按照(不仅依赖多还需要自行安装OpenTSDB和HBase)
如果没有安装docker,请参照我的文章.
参照官网给的步骤.
<h3>Installation</h3>
$~ docker run -d -p 4242:4242 -p 8070:8070 stackexchange/bosun
View on http://yourip:8070
bosun是个完备的监控和警报系统,相关教程可以看这里以及这里.
</br>
<h3>Cadviosr</h3>
<h4>Cadviosr是Google用来监测单节点的资源信息的监控工具,提供了一目了然的单节点多容器的图表型资源监控功能</h4>
<h5>Installation</h5>
$~ docker run
--volume=/:/rootfs:ro
--volume=/var/run:/var/run:rw
--volume=/sys:/sys:ro
--volume=/var/lib/docker/:/var/lib/docker:ro
--publish=8090:8080
--detach=true
--name=cadvisor
google/cadvisor:latest
View on http://yourip:8090
CAdvisor是有用且很容易设置的工具,我们可以不用ssh就能连接到服务器来查看资源的消耗,而且它还给我们生成了图表。此外,当群集需要额外的资源时,压力表提供了快速预览。但是,它有它的局限性;它只能监控一个Docker主机.
</br>
<h3>Scout</h3>
<h4>Scout是聚合来自多个主机和容器的托管监控服务并且它有更长时间的数据呈现。它也可以基于这些指标生成警报。</h4>
<h5>要获取Scout并运行</h5>
第一步,在 scoutapp.com 注册一个Scout帐户,免费的试用账号足以用来集成测试。一旦你创建了自己的帐户并登录,点击右上角您的帐户名称,然后点击Account Basics来查看你的Account Key,你需要这个Key从我们的Docker服务器来发送指标。</br>
第二步,在你的主机上,创建一个名为scouts.yml的文件并将下面的文字复制到该文件中,用上边得到的Key替换到account_key。您可以对主机指定任何有意义的变量:display_name、environment与roles等属性。
这里不详述,具体可以参见这里.
</br>
<h1> Prometheus:多维度的容器监控</h1>
prometheus是一个开源的系统监控和报警工具,最初由SoundCloud推出。它具有以下特性:
- 多维度数据模型(由键/值对确定的时间序列数据模型)
- 具有一个灵活的查询语言来利用这些维度
- 不依赖分布式存储;单个服务器节点工作。
- 时间序列的采集是通过HTTP pull的形式,解决很多push架构的问题。
- 通过中介网关支持短时间序列数据的收集
- 监控目标是通过服务发现或静态配置
- 多种数据展示面板支持,例如grafana
prometheus缺点
- 单机缺点,单机下存储量有限,根据你的监控量局限你的存储时间。
- 内存占用率大,prometheus集成了leveldb,一个能高效插入数据的数据库,在ssd盘下io占用比较高,可能会存在大量数据堆积内存。
<h5>参照官网的教程</h5>
这里还是使用docker安装,你也可以尝试源码安装,但是需要处理很多环境依赖.
$ docker run --name prometheus -d -p 0.0.0.0:9090:9090 prom/prometheus
View on http://yourip:9090
</br>
参考文章:
六大下一代Docker监测工具
基于Prometheus做多维度的容器监控
如果还有什么新鲜的技术讨论,可以在讨论区留言噢~ >-<