Prometheus+Node_exporter+Grafana实现监控主机
如果没有安装相关的配置,首先要进行安装配置,环境是基于Linux,虚拟机的相关环境配置在文末给出,现在先讲解Prometheus+Node_exporter+Grafana的安装和使用。
一.Prometheus安装
虽然虚拟机可以本地安装Prometheus,但是下载的速度可能缓慢,而且后续寻找配置相对麻烦,在配置文件的过程中也不便于操作,因此在本文中我都采用的安装包配置相应环境。另一方面,便于对虚拟机指令的操作和文件传输,我使用远程控制的方式进行操作。
1.FinalShell远程控制连接
- 在虚拟机开启共享的服务中的远程登录
-
虚拟机Ubuntu默认没有安装ssh的server,需要进行安装
apt-get install openssh-server
-
允许远程使用root账号ssh连接本机,修改配置vim /etc/ssh/sshd_config其中内容为
#PermitRootLogin prohibit-password
PermitRootLogin yes
-
需要重启系统或者sshd服务
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh start
sudo service ssh restart
-
系统默认开启系统sshd
sudo systemctl enable ssh
-
查看虚拟机IP地址后,打开FinalShell新建SS连接
-
连接成功后就可以在可以在终端操作
-
选择usr/local/为安装目录,三个安装包都在此目录下进行安装配置,同时在终端下方鼠标右键点击相应的文件就可以通过Windows实现文件传输给Linux
2.配置Go环境
-
由于Prometheus是由go语言开发的,所以在安装Prometheus之前需要先在监控主机上安装go环境。下载链接:https://pan.baidu.com/s/1gefGeXmoFmjGxSGxgCuQfw 提取码:cz6l
-
解压安装包:
tar -xvf go1.13.1.linux-amd64.tar.gz
-
配置环境变量
go# vim /etc/profile // 在最后一行添加 export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin // wq保存退出后source一下 # source /etc/profile
3.安装Prometheus
下载链接:Index of /github-release/prometheus/prometheus/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
-
将下载后安装包上传至 /usr/local 目录中
-
解压并重新命名为prometheus
tar -xvf prometheus-2.47.2.linux-amd64.tar.gz
mv prometheus-2.47.2.linux-amd64/ prometheus
-
创建services服务文件
govim /etc/systemd/system/prometheus.service [Unit] Description=prometheus After=network.target [Service] Type=simple ExecStart=/usr/local/prometheus --config.file=/usr/local/prometheus.yml Restart=on-failure [Install] WantedBy=multi-user.target
-
启动Prometheus,将服务设置为开机自启动
go#重新加载配置文件 systemctl daemon-reload #开启服务 systemctl start prometheus.service #查看状态 systemctl status prometheus.service #服务开机自启动,不用每次启动 systemctl enable prometheus.service
-
状态显示正常,那么配置就没有问题,如下图所示样例
-
在虚拟机浏览器访问http:127.0.0.1:9090访问查看
二、安装Node_exporter
下载地址:Index of nodejs-local (huaweicloud.com)
-
下载后将文件上传到/usr/local目录下
-
解压安装包:
tar -xvf node_exporter-0.17.0.linux-amd64.tar.gz
-
配置环境变量
govim /etc/systemd/system/node_exporter.service [Unit] Description=node_exporter Monitoring System Documentation=node_exporter Monitoring System [Service] ExecStart=/usr/local/node_exporter --web.listen-address=:9100 [Install] WantedBy=multi-user.target
-
设置开机自启动
go#设置开机自启 systemctl daemon-reload systemctl start node_exporter.service systemctl status node_exporter.service systemctl enable node_exporter.service
-
状态显示正常活动,可以通过虚拟机浏览器访问
三、安装Grafana可视化面板
下载地址:Index of /grafana/apt/dists/beta/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
- 下载后将文件上传到/usr/local目录下
-
解压并重命名
tar -xvf grafana-enterprise-10.0.2.linux-amd64.tar.gz
mv grafana-enterprise-10.0.2.linux-amd64.tar.gz grafana
-
配置环境变量实现开机自启动vim /usr/lib/systemd/system/grafana.service
go[Unit] Description=Grafana After=network.target [Service] Type=notify ExecStart=/data/grafana/bin/grafana-server -homepath /data/grafana Restart=on-failure [Install] WantedBy=multi-user.target
-
配置相关指令
#重新加载服务配置文件 systemctl daemon-reload #启动 grafana systemctl start grafana.service #查看 grafana状态 systemctl status grafana.service #设置开机自启 systemctl enable grafana.service #重启 grafana systemctl restart grafana.service #停止 grafana systemctl stop grafana.service
-
访问Grafana,访问地址为http:127.0.0.1:3000,初始账号密码为admin和admin(j记得修改)
四、监控多台Linux服务器
-
首先被监控的主机要安装node_exporter提供数据接口,配置的过程和主机配置Node_exporter一样,可参考上文。
-
配置prometheus server端可以拉取node信息
vim /usr/local/prometheus/prometheus.yml
-
在文件最后添加内容
go- job_name: 'linux' static_configs: - targets: ['192.168.45.143:9100','192.168.45.22:9100']
-
添加完成后重新启动prometheus
systemctl restart prometheus.service
-
此时如果相应的端口没开放还是看不到数据的,添加的主机都需要开放相应的9100端口,Prometheus才能拉取到数据。
firewall-cmd --zone=public --add-port=9100/tcp --permanent
开放指定端口
firewall-cmd --zone=public --add-port=1935/tcp --permanent
命令含义:
--zone #作用域
--add-port=1935/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效 -
获取到主机数据
五、Grafana添加数据源展示
-
选择数据源并配置
-
可视化模版并导入
-
最后监控数据可以显示了
今天就记录这些了,希望有所帮助!