Prometheus + Grafana

Prometheus#

简介#

Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动
了prometheus的发展

时间序列化数据#

时间序列数据#

按照时间顺序记录系统、设备状态变化的数据被称为时序数据

时间序列数据特点#

  • 性能好

    关系型数据库对于大规模数据的处理性能糟糕。NOSQL可以比较好的处理大规模数据,让依然比不上时间序列数据库

  • 存储成本低

    高效的压缩算法,节省存储空间,有效降低IO

Prometheus特点#

  • 多维度数据模型
  • 灵活的查询语言
  • 不依赖分布式存储,单个服务器节点是自主的
  • 以HTTP方式,通过pull模型拉去时间序列数据
  • 也可以通过中间网关支持push模型
  • 通过服务发现或者静态配置,来发现目标服务对象
  • 支持多种多样的图表和界面展示

Prometheus架构图#

193492431_2_2020062104302252

Prometheus安装配置#

架构图#

prometheus

安装#

Copy
# 下载 wget https://github.com/prometheus/prometheus/releases/download/v2.14.0/prometheus-2.14.0.linux-amd64.tar.gz # 解压 tar -zxvf prometheus-2.14.0.linux-amd64.tar.gz -C /usr/local/ # 重命名 mv /usr/local/prometheus-2.14.0.linux-amd64/ /usr/local/prometheus # 添加快捷方式 ln -s /usr/local/prometheus/prometheus /usr/bin/prometheus # 后台启动 /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml & # 开机自启动 vim /etc/rc.d/rc.local /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml chmod +x /etc/rc.d/rc.local # 查看端口号 netstat -aunpt | grep 9090

image-20210616103259811
下载地址

node_exporter安装#

Copy
# 下载 wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz # 解压 tar -xvf node_exporter-0.18.1.linux-amd64.tar.gz -C /usr/local/ # 重命名 mv /usr/local/node_exporter-0.18.1.linux-amd64/ /usr/local/node_exporter # 快捷方式 ln -s /usr/local/node_exporter/node_exporter /usr/bin/node_exporter # 启动 nohup /usr/local/node_exporter/node_exporter & # 查看端口号 netstat -aunpt | grep 9100

image-20210616104712771
下载地址

监控端监控节点服务器状态#

Copy
vim /usr/local/prometheus/prometheus.yml - job_name: 'node' # 取一个job名称来代 表被监控的机器 static_configs: - targets: ['10.1.1.4:9100'] # 这里改成被监控机器 的IP,后面端口接9100 # 重启服务 pkill prometheus # 查看端口 netstat -aunpt | grep 9100 # 启动 /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml &

image-20210616105535810

mysql_exporter安装#

Copy
# 下载 wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz # 解压 tar -xvf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /usr/local/ # 重命名 mv /usr/local/mysqld_exporter-0.12.1.linux-amd64/ /usr/local/mysqld_exporter # 添加快捷方式 ln -s /usr/local/mysqld_exporter/mysqld_exporter /usr/bin/mysqld_exporter # 设置授权帐号 mysql -uroot -proot grant select,replication client,process ON *.* to 'mysql_monitor'@'localhost' identified by 'root'; flush privileges; # 配置连接帐号 vim /usr/local/mysqld_exporter/.my.cnf [client] user=mysql_monitor password=root # 启动服务 nohup /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf & # 查看端口 netstat -aunpt | grep 9104 # 开启自启动 vim /etc/rc.d/rc.local /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf

image-20210616111722716
下载地址

监控节点监控mysql状态#

Copy
vim /usr/local/prometheus/prometheus.yml - job_name: 'mysql' # 取一个job名称来代 表被监控的机器 static_configs: - targets: ['10.1.1.4:9104'] # 这里改成被监控机器 的IP,后面端口接9104 # 重启服务 pkill prometheus # 查看端口 netstat -aunpt | grep 9100 # 启动 /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml &

image-20210616112124227

Grafana#

简介#

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

官网

安装#

Copy
# 下载rpm wget https://dl.grafana.com/oss/release/grafana-6.5.2-1.x86_64.rpm # 安装 yum localinstall grafana-6.5.2-1.x86_64.rpm -y # 启动 systemctl enable grafana-server.service && systemctl start grafana-server.service # 查看状态 systemctl status grafana-server.service

image-20210616113401762

添加数据源#

image-20210616113650927

添加模板#

image-20210616113830832

数据展示#

image-20210616114027762

posted @   SR丶  阅读(104)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示
CONTENTS