参考链接:
Centos7上安装部署Prometheus + Grafana
Centos7上安装部署Prometheus + Grafana (prometheus笔记01)_潇洒哥的运维之道-CSDN博客
监控神器普罗米修斯Prometheus安装配置_从入门到放弃-CSDN博客_prometheus安装配置
全网最详细!Centos7.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台 - 小菠萝测试笔记 - 博客园
1、环境准备
CentOS7(linux系统)+FinalShell(服务器管理软件)
注:我的CentOS7是安装在VMware Workstation Pro虚拟机中
2、环境配置
2.1、通过FinalShell管理linux服务器
通过FinalShell连接Linux服务器,具体操作如下
效果如上图所示
2.2、在centos7上安装Prometheus
2.2.1、下载安装wget(wget是Linux中的一个下载文件的工具),在命令输入框输入以下语句后回车即可。
yum -y install wget
我都已经安装过了,故而提示有些许不同。
2.2.2、下载最新版的Prometheus 2.30.3(2021.10.5),命令输入框输入以下语句后回车即可
wget -P /usr/local/src https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
速度可能会比较慢,可以选择直接到官网下载
2.2.3、下载后将压缩包拖拽至Linux系统的 /usr/local/src目录下
2.2.4、输入以下语句对压缩包解压,现在的Prometheus都是编译过的,无需安装go语言环境,直接解压即可使用。
tar -zxvf /usr/local/src/prometheus-2.30.3.linux-amd64.tar.gz -C /usr/local
(选做)2.2.5、将Prometheus做成软连接的形式(可选,如果你对linux不熟悉,建议跟着做下去)
ln -s /usr/local/prometheus-2.30.3.linux-amd64/ /usr/local/prometheus
2.2.6、创建Prometheus数据存储目录
mkdir -p /var/lib/prometheus
2.2.7、创建用于运行Prometheus的组和用户
groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus
chown -R prometheus /var/lib/prometheus
2.2.8、给Prometheus主目录赋用户Prometheus权限
chown -R prometheus:prometheus /usr/local/prometheus/
2.2.9、将Prometheus加入到系统管理程序中(一句一句的复制然后回车,或者直接到/etc/systemd/system目录下新建prometheus.service文件,然后将[Unit]..........target复制到service文件中保存即可。
cat >/etc/systemd/system/prometheus.service <<EOF
[Unit]
Description=Prometheus
Documentation=Prometheus - Monitoring system & time series database
After=network.target
[Service]
Type=simple
User=prometheus
# --storage.tsdb.path是可选项,默认数据目录在运行目录的./dada目录中
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
至此,最基本的Prometheus服务端就部署完毕了。下面开始把客户端192.168.199.146给添加到Prometheus的配置文件中.
(选做)2.2.10、将客户端加入到Prometheus监控中
注意:将配置文件中的ip地址改成你的被监控客户端的ip,(node_exporter的)端口号默认是9100
建议直接到/usr/local/prometheus目录下找到prometheus.yml文件,然后将- job.........instance复制到.yml文件中保存即可。yml格式非常重要,错误的格式将导致prometheus无法运行。
cp /usr/local/prometheus/prometheus.yml{,.bak}
cat >> /usr/local/prometheus/prometheus.yml <<EOF
- job_name: '192.168.199.146'
scrape_interval: 10s
static_configs:
- targets: ['192.168.199.146:9100']
labels:
instance: 192.168.199.146
EOF
2.2.11、启动Prometheus并设置其开机自启
(注意:我们写的自启程序较为简单,启动成功与否不能只看systemctl start没报错是不行的。要看systemctl status prometheus或ss -ntl |grep 9090才行)
systemctl start prometheus.service
systemctl enable prometheus.service
2.2.12、关闭centos防火墙和禁用selinux(我认为应该是开放端口即可)
- systemctl stop firwalld
- systemctl disable firewalld
- setenforce 0
- sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
2.2.13、验证prometheus的Web页面,prometheus默认的端口号是9090,浏览器输入http://192.168.199.145:9090/
2.2.14、在prometheus的web页面上查看主机监控状态
在prometheus的web页面上依次点击 “Status”---“Targets”
3、监控linux服务器
在Linux客户端安装部署node_exporter
本步需要在被监控端146上执行。
3.1.下载最新版的node_exporter
wget -P /usr/local/src https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
速度可能会比较慢,可以选择直接到官网下载
3.2.解压node_exporter
tar -zxvf /usr/local/src/node_exporter-1.2.2.linux-amd64.tar.gz -C /usr/local
3.3.(可选)创建软连接(如果你对linux不熟悉,建议跟着继续做)
ln -s /usr/local/node_exporter-1.2.2.linux-amd64/ /usr/local/node_exporter
3.4.创建用于运行node_exporter的用户
groupadd prometheus useradd -g prometheus -s /sbin/nologin prometheus
3.5.给node_exporter主目录赋权限
chown -R prometheus:prometheus /usr/local/node_exporter/
3.6.将node_exporter加入到系统服务当中
cat >/usr/lib/systemd/system/node_exporter.service <<EOF [Unit] Description=node_exporter Documentation=https://prometheus.io/ After=network.target [Service] Type=simple User=prometheus ExecStart=/usr/local/node_exporter/node_exporter Restart=on-failure [Install] WantedBy=multi-user.target EOF
3.7.启动node_exporter并将其设置开机自启
systemctl start node_exporter systemctl enable node_exporter
3.8.检查node_exporter是否已启动
node_exporter默认的端口是9100
systemctl status node_exporter ss -ntl |grep 9100
3.9.将9100在防火墙中放行,或者直接关闭防火墙
systemctl stop firewalld systemctl disable firewalld
3.10.在prometheus的web上检查是否监控到了本机
在2.2.10中已经修改过配置文件,将本客户端加入到了prometheus服务器的配置文件中了。
登录prometheus的web,依次点击【Status---Targets】,正常的话就会看得到被监控端146主机了。
4、在Grafana上展示prometheus
Grafana官网Grafana: The open observability platform | Grafana Labs
Grafana软件包下载页面和安装方法Download Grafana | Grafana Labs
Grafana默认的端口号:3000
建议安装到监控端145服务器
(我没有关)4.1、关闭centos防火墙和selinux
systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
4.2、下载Grafana的rpm包
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.2.2-1.x86_64.rpm
4.3、安装Grafana
yum install grafana-enterprise-8.2.2-1.x86_64.rpm
4.4、启动grafana,并设置其开机自启
systemctl restart grafana-server systemctl enable grafana-server
4.5、查看已安装的grafana版本号
grafana-cli -version
4.6、浏览器打开Grafana主页 http://192.168.73.34:3000,默认用户名和密码都是admin,第一次登陆后会要求修改密码。
4.7、添加数据源
依次点开左侧的齿轮状图标【Configuration】---【Data Source】,再新页面中点【Add data source】
4.8、点一下数据源类型Prometheus
4.9、为Grafana数据源prometheus添加数据源参数
Name:随便输入
Default:设置为开启状态
URL:192.168.199.145:9090,写你的prometheus主页地址。
Access:Server(default)
Scrape interval:15s ,因为我们这是测试环境,尽量把刷新数据的时间写小点。
表盘样式如上图所示。
可以到
https://grafana.com/grafana/dashboards/
表盘商城下载想要的表盘
点击进入
复制id码
点击+号中的import,在框中输入复制的id码,点击load,
选择145,点击import导入表。
导入的监控表如图所示
Dashboards管理界面如上所示。
5、监控windows机器
在Windows客户端安装部署windows_exporter
windows_exporter下载地址:https://github.com/prometheus-community/windows_exporter/releases
(1)被监控windows机器安装windows_exporter,会自动创建一个开机自启的服务
接下来的操作都是监控端的操作:
监控端机器打开prometheus.yml配置文件
在配置文件后面加上
- job_name: '152' static_configs: - targets: ['192.168.199.152:9182']
如下图所示(切记格式一定要正确,错误的格式将会无法启动或者无法在表中显示)
重启Prometheus服务即可生效
dashboards网址:Dashboards | Grafana Labs
导入监控的表盘
我已经导入过了,所以会这样显示
监控视图如下所示