参考:bilibili
文章目录
监控系统
〇、监控?
对基础设施进行监控。如服务器的存储、CPU、内存
对应用进行监控。如:mysq、redis
收集监控对象的数据信息,进行 图形可视化展示。
一、prometheus
1、概述
Prometheus(由go语言(golang)开发)是一套开源的监控 & 报警 & 时间序列数据库 的组合。
适合监控docker容器。
结合 grafana可视化图形工具使用。
2、时间序列数据
按照时间顺序记录 系统、设备状态的数据。
特点:
-
性能好。时间序列数据库对于 大规模数据的处理时 性能好。
-
存储成本低。高效的压缩算法,节省存储空间,有效降低IO
3、如何搭建监控环境
prometheus服务器服务搭建和使用
1、找一台主机来安装prometheus服务器 服务,并启动。
2、通过浏览器访问http://服务器IP:9090
就可以访问到prometheus的web主界面。
在web主界面可以通过关键字查询 被监控主机的监控项。
3、通过 http://被监控主机IP:9090/metrics
可以查看到被监控的主机的数据。
监控远程Linux主机
1、 在远程linux主机(被监控端agent1)上安装node_exporter组件,然后启动组件服务。
下载地址: https://prometheus.io/download/
2、 通过浏览器访问http://被监控端IP:9100/metrics就可以查看到 node_exporter
被监控端收集的监控信息。
3、回到prometheus服务器的配置文件里 添加 被监控机器的配置段。
监控远程主机上的
MySQL
服务
1、在被管理机agent1上安装mysqld_exporter组件
下载地址: https://prometheus.io/download/
2、回到prometheus服务器的配置文件里添加被监控的 节点的服务 的配置段
二、zabbix
1、介绍
基于server-client架构。
可用于监视各种网络服务、服务器 和 网络机等状态。
2、zabbix的监视方式
zabbix有多种监视方式。
-
在要监视的服务器(windows、linux)中安装Zabbix agent后,即可监视CPU、网络使用、硬盘容量等状态。
-
也可以通过 TCP、IPMI、SSH等协议 对目标服务器进行监控。
3、zabbix组件介绍
zabbix server
:zabbix服务端,用于收集数据,和写入数据。
zabbix agent
:部署在被监控的服务器上,是一个进程,和zabbix server
进行交互,以及负责执行命令。
zabbix_database
:存储系统,如mysql
Zabbix_get
:命令行工具,向agent发起数据采集请求。
Zabbix_sender
:命令行工具,向server发送数据。
名词说明:
Item
:每一个Item就是一个监控项。如:监控 服务器的内存使用情况,就是一个Item监控项。
Zabbbix 自带的Item 已经足够满足普通小公司的监控需求。
可视化图形工具
一、Grafana
1、概述
Grafana是一个开源的 度量分析 和 可视化工具。
可以将prometheus
采集的数据当作数据源 进行分析,查询,然后进行可视化的展示,并能实现报警。
网址: https://grafana.com/