Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB);Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本;2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation), 将Prometheus纳入其下第二大开源项目;Prometheus和Heapster(Heapster是K8S的一个子项目,用于获取集群的性能数据),相比功能更完善、更全面;Prometheus性能也足够支撑上万台规模的集群
官网地址:https://prometheus.io/
Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、CPU、网络等等)。
环境/组件 | 版本 | 下载地址 |
操作系统 | CentOS7 | http://archive.kernel.org/centos-vault/7.3.1611/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso |
Prometheus | 2.17.1 | https://prometheus.io/download/#prometheus |
go | 1.14.2 | https://golang.org/dl/ |
Grafana | 6.7.2 | https://dl.grafana.com/oss/release/grafana-5.4.2-1.x86_64.rpm |
1 systemctl stop firewalld //关闭防火墙 2 systemctl disable firewalld //关闭防火墙自启
1 sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config //关闭Selinux 2 sestatus //查询Selinux状态(需重启后查询)
1 yum install -y net-tools //安装Ifconfig工具 2 yum install bash-completion -y //安装命令补全工具 3 yum -y install lrzsz //安装文件管理工具
1 yum -y update && yum -y upgrade
1 cd /opt //进入opt文件夹目录下 2 rz //上传go安装文件(下图中为上传了本次部署需要用到的所有安装包)
1 tar -xvf go1.14.2.linux-amd64.tar.gz //解压缩Go安装包
1 vi /etc/profile //编辑Profile文件
1 export GOROOT=/opt/go //添加在最后一行 2 export PATH=$PATH:$GOROOT/bin
1 source /etc/profile
1 go version //检查Go版本号(如果显示版本号,则Go环境安装成功)
1 tar -xvf prometheus-2.17.1.linux-amd64.tar.gz //解压缩Prometheus安装包 2 mv prometheus-2.17.1.linux-amd64/ prometheus //移动文件至prometheus文件夹
1 cd prometheus //进入prometheus文件夹 2 ./prometheus --config.file=/prometheus/prometheus.yml & //启动prometheus
1 浏览器打开:http://12.172.1.15:9090 //正常打开说明安装没问题
1 vi /etc/systemd/system/prometheus.service //创建prometheus服务
将以下内容写入文件中: [Unit] Description=Prometheus Monitoring System Documentation=Prometheus Monitoring System [Service] ExecStart=/prometheus/prometheus \ --config.file=/prometheus/prometheus.yml \ --web.listen-address=:9090 Restart=on-failure [Install] WantedBy=multi-user.target
1 systemctl daemon-reload //启动服务 2 systemctl enable prometheus //设置开机自启动 3 systemctl start prometheus //启动服务 4 systemctl status prometheus //检查Prometheus服务开启状态
1 cd /opt //进入OPT文件夹下
1 yum localinstall grafana-6.7.2-1.x86_64.rpm -y //YUM本地安装Grafana
1 systemctl daemon-reload 2 systemctl enable grafana-server.service 3 systemctl start grafana-server.service