3、易于管理:Prometheus Server是一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储;
4、高效:平均每个采样点仅占3.5bytes,且一个Prometheus server可以处理百万的metrics;
5、使用pull模式采集时间序列数据,这样不仅有利于本机测试而且可以避免有问题的服务器推送坏的metrics;
6、可以采用 push gateway的方式把时间序列数据推送至Prometheus server端;
7、可以通过服务器发现或者静态配置去获取监控的targets;有多种可视化图形界面;易于伸缩;
需要指出的是,由于数据采集可能会有丢失,所以Prometheus 不适合对采集数据要100%精准的情形;但如果用于记录时间序列数据,Prometheus具有很大的查询优势,此外,Prometheus 适用于微服务体系架构;
Prometheus架构图
文章插图
prometheus server:主服务,接受外部http请求,收集、存储与查询数据等;
prometheus targets: 静态收集的目标服务数据;
service discovery:动态发现服务;
prometheus alerting:报警通知组件,用于处理告警信息;
pushgateway:数据收集代理服务器(类似于zabbix proxy);
data visualization and export: 数据可视化与数据导出(访问客户端)
exporter:该组件主要作用是用来收集对应节点上的应用或主机指标数据的;不同应用有不同的export,比如,我们要收集mysql的指标数据,我们可以在对应mysql所在主机上部署mysql_exporter,我们要收集redis的指标数据,我们可以在对应主机上部署redis_exporter,要收集某个Linux节点主机的指标数据,我们可以部署node_exporter到对应主机;即我们要收集什么指标数据,部署对应的exporter即可;
部署二进制Prometheus server
下载Prometheus
[root@ceph-mgr02 ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.37.1/prometheus-2.37.1.linux-amd64.tar.gz创建运行Prometheus Server进程的系统用户,并为其创建家目录/var/lib/prometheus作为数据存储目录
[root@ceph-mgr02 ~]# useradd -r -m -d /var/lib/prometheus prometheus[root@ceph-mgr02 ~]# ll /var/lib/prometheustotal 0[root@ceph-mgr02 ~]# ll /var/lib/prometheus -ddrwx------ 2 prometheus prometheus 62 Oct9 21:40 /var/lib/prometheus[root@ceph-mgr02 ~]#解压Prometheus并做软连接
[root@ceph-mgr02 ~]# tar xf prometheus-2.37.1.linux-amd64.tar.gz -C /usr/local/[root@ceph-mgr02 ~]# cd /usr/local/[root@ceph-mgr02 local]# lsbinetcgamesincludeliblib64libexecprometheus-2.37.1.linux-amd64sbinsharesrc[root@ceph-mgr02 local]# ln -s prometheus-2.37.1.linux-amd64 prometheus[root@ceph-mgr02 local]# lltotal 0drwxr-xr-x. 2 root root6 Apr 112018 bindrwxr-xr-x. 2 root root6 Apr 112018 etcdrwxr-xr-x. 2 root root6 Apr 112018 gamesdrwxr-xr-x. 2 root root6 Apr 112018 includedrwxr-xr-x. 2 root root6 Apr 112018 libdrwxr-xr-x. 2 root root6 Apr 112018 lib64drwxr-xr-x. 2 root root6 Apr 112018 libexeclrwxrwxrwx1 root root29 Oct9 21:42 prometheus -> prometheus-2.37.1.linux-amd64drwxr-xr-x4 3434 3434 132 Sep 12 21:08 prometheus-2.37.1.linux-amd64drwxr-xr-x. 2 root root6 Apr 112018 sbindrwxr-xr-x. 5 root root49 Apr 112018 sharedrwxr-xr-x. 2 root root6 Apr 112018 src[root@ceph-mgr02 local]#创建Prometheus专用的Unit File
[root@ceph-mgr02 prometheus]# cat /usr/lib/systemd/system/prometheus.service[Unit]Description=The Prometheus 2 monitoring system and time series database.Documentation=https://prometheus.ioAfter=network.target[Service]EnvironmentFile=-/etc/sysconfig/prometheusUser=prometheusExecStart=/usr/local/prometheus/prometheus \--storage.tsdb.path=/var/lib/prometheus \--config.file=/usr/local/prometheus/prometheus.yml \--web.listen-address=0.0.0.0:9090 \--web.external-url=Restart=on-failureStartLimitInterval=1RestartSec=3[Install]WantedBy=multi-user.target[root@ceph-mgr02 prometheus]#
经验总结扩展阅读
- 全国公安网查询系统-公安部户籍查询系统
- 图书馆的超星阅览室怎么免费下载电子书 超星校园阅读系统
- 分布式存储系统之Ceph集群RadosGW基础使用
- 记一次某制造业ERP系统 CPU打爆事故分析
- 没有使用IaC的DevOps系统都是耍流氓
- JuiceFS 元数据引擎选型指南
- 怎么用u盘重装系统
- 分布式存储系统之Ceph集群MDS扩展
- 苹果手机怎么删除系统软件
- win7升级到win10系统后,node13升级为node16,node版本node-sass版本与不匹配,导致出现npm ERR! ERESOLVE could not resolve