prometheus+grafana 搭建企业级监控系统(一)

前言

首先选型阶段:zabbix 和 prometheus

如果监控的是物理机,用 Zabbix 没毛病,Zabbix在传统监控系统中,尤其是在服务器相关监控方面,占据绝对优势。甚至环境变动不会很频繁的情况下,Zabbix 也会比 Prometheus 好使;

但如果是云环境的话,除非是 Zabbix 玩的非常溜,可以做各种定制,否则还是 Prometheus 吧,毕竟人家就是干这个的。Prometheus开始成为主导及容器监控方面的标配,并且在未来可见的时间内被广泛应用。

结论:Linux基金会旗下的原生云基金会将prometheus列为第二大开源项目,第一大开源项目正是大名鼎鼎的容器大牛Kubernetes,Prometheus正是在K8S项目基础上开发的开源项目,对Kubernetes兼容友好,

而Zabbix对容器化技术不怎么友好。

prometheus的架构图:

它大致使用逻辑是这样:

  1. Prometheus server 定期从静态配置的 targets 或者服务发现的 targets 拉取数据。
  2. 当新拉取的数据大于配置内存缓存区的时候,Prometheus 会将数据持久化到磁盘(如果使用 remote storage 将持久化到云端)。
  3. Prometheus 可以配置 rules,然后定时查询数据,当条件触发的时候,会将 alert 推送到配置的 Alertmanager。
  4. Alertmanager 收到警告的时候,可以根据配置,聚合,去重,降噪,最后发送警告。
  5. 可以使用 API, Prometheus Console 或者 Grafana 查询和聚合数据。

适用场景

Prometheus在记录纯数字时间序列方面表现非常好。它既适用于面向服务器等硬件指标的监控,也适用于高动态的面向服务架构的监控。对于现在流行的微服务,Prometheus的多维度数据收集和数据筛选查询语言也是非常的强大。Prometheus是为服务的可靠性而设计的,当服务出现故障时,它可以使你快速定位和诊断问题。它的搭建过程对硬件和服务没有很强的依赖关系。

Prometheus,它的价值在于可靠性,甚至在很恶劣的环境下,你都可以随时访问它和查看系统服务各种指标的统计信息。 如果你对统计数据需要100%的精确,它并不适用,例如:它不适用于实时计费系统。

Prometheus+grafana  搭建

1,去官网https://prometheus.io/download/       下载  prometheus的二进制安装文件    我的是最新版本 2.22.1  prometheus-2.22.1.linux-amd64.tar.gz

 
#解压二进制文件
tar xf prometheus-2.22.1.linux-amd64.tar.gz -C /usr/local/
#剪切到prometneus目录
mv /usr/local/prometheus-2.22.1.linux-amd64/ /usr/local/prometheus
#启动promentheus
/usr/local/prometheus/prometheus --config.file="/usr/local/prometheus/prometheus.yml" &

# 查看是否启动  promethues默认启动端口是9090
lsof -i:9090

2,监控服务器  https://prometheus.io/download/  下载node_exporter,按下面操作安装完成后,

[root@agent1 ~]# tar xf node_exporter-0.16.0.linux- amd64.tar.gz -C /usr/local/

[root@agent1 ~]# mv /usr/local/node_exporter-0.16.0.linux- amd64/ /usr/local/node_exporter 
[root@agent1 ~]# ls /usr/local/node_exporter/ LICENSE node_exporter NOTICE 
[root@agent1 ~]# nohup /usr/local/node_exporter/node_exporter & 
确认端口(9100) 
[root@agent1 ~]# lsof -i:9100

http://10.0.100.100:9100/metrics查看,这里是服务器的相关服务度量信息。通过9100端口对外暴露,方便prometheus来定时拉取。

 

3,修改prometheus的配置文件,配置

在主配置文件最后加上下面三行 
[root@server ~]# vim /usr/local/prometheus/prometheus.yml 
- job_name: 'agent1' # 取一个job名称来代 表被监控的机器
 static_configs: 
 - targets: ['10.1.1.14:9100'] 
# 这里改成被监控机器 的IP,后面端口接9100 改完配置文件后,重启服务 
[root@server ~]# pkill prometheus 
[root@server ~]# lsof -i:9090 # 确认端口没有进程占 用
[root@server ~]# /usr/local/prometheus/prometheus -- config.file="/usr/local/prometheus/prometheus.yml" & 
[root@server ~]# lsof -i:9090 # 确认端口被占用,说 明重启成功

4,这里的指标信息是metrics展示的,不是很好看,所以我们可以用grafana这个前端展示系统来显示。

Grafana是一个开源的度量分析和可视化工具,可以通过将采集的数据分析,查询,然后进行可视化的展示,并能实现报警。

安装 Grafana 

#下载
wget https://dl.grafana.com/oss/release/grafana-7.3.2-1.x86_64.rpm
#安装
rpm -ivh /root/Desktop/grafana-7.3.2-1.x86_64.rpm
#启动服务
systemctl start grafana-server
systemctl enable grafana-server
确认端口是否正常
lsof -i:3000

通过网页访问,第一次默认  用户名是 admin 密码 admin ,登陆后修改密码/

点击Configuration->Data Sources,增加一个数据源,选择prometheus,输入prometheus的地址http://10.0.100.100:9090/,点击 save&test增加

增加数据源后,点击“+”->import,输入 4701(https://grafana.com/grafana/dashboards/4701),加载进去,就可以看到节点的服务配置信息。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值