Prometheus+Node_exporter+Grafana详细安装

安装Prometheus

Prometheus用Golang实现,因此具有天然可移植性(支持Linux、Windows、macOS和Freebsd)。这里直接使用预编译的二进制文件部署,开箱即用。

wget  https://github.com/prometheus/prometheus/releases/download/v1.6.3/prometheus-1.6.3.linux-amd64.tar.gz
tar xzvf prometheus-1.6.3.linux-amd64.tar.gz
mv prometheus-1.6.3.linux-amd64 /usr/local/prometheus

验证是否安装成功

 cd /usr/local/prometheus
 ./prometheus --version
prometheus, version
1.6.3 (branch: master, revision: c580b60c67f2c5f6b638c3322161bcdf6d68d7fc) build user: root@e54b06e0b22f build date: 20170519-08:00:43 go version: go1.8.1

配置Prometheus

在prometheus目录下有一个名为prometheus.yml的主配置文件。其中包含大多数标准配置及prometheus的自检控配置,默认配置文件如下:(这个配置下面我们 需要创建一个添加配置的文件)

复制代码
vi /usr/local/prometheus/prometheus.yml

# 全局配置
global:
scrape_interval: 15s # 默认抓取间隔, 15秒向目标抓取一次数据。
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).


# 这个标签是在本机上每一条时间序列上都会默认产生的,主要可以用于联合查询、远程存储、Alertmanger时使用。
external_labels:
monitor: 'codelab-monitor'


# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first.rules"
# - "second.rules"


# 这里就表示抓取对象的配置
# 这里是抓去promethues自身的配置
scrape_configs:
- job_name: 'node'
file_sd_configs:
- refresh_interval: 10s
files:
- "/usr/local/prometheus/sd_config/*.yml"

 
复制代码

添加被监控主机信息前 我们先创建主机信息的配置文件

mkdir /usr/local/prometheus/sd_config
vi /usr/local/prometheus/sd_config/node.yml

添加被监控主机信息

复制代码
- targets:
  - localhost:9100
  labels:
     app: manager
     instance: openeuler
     service: node_exporter
- targets:
  - localhost:9090
  labels:
     app: node1
     instance: openeuler
     service: node_exporter
复制代码

之后就不用重启了,更改node.yml配置文件就可以实现发现主机了

 

创建用户

这里单独创建一个专门用于运行prometheus的用户,不用root运行程序是一种好习惯。

 groupadd prometheus
 useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus

创建Systemd服务

复制代码
 vi /etc/systemd/system/prometheus.service

[Unit]
Description=prometheus
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/prometheus/prometheus -config.file=/usr/local/prometheus/prometheus.yml -storage.local.path=/var/lib/prometheus
Restart=on-failure
[Install]
WantedBy=multi-user.target
复制代码

启动Prometheus

systemctl start prometheus

验证Prometheus是否启动成功

复制代码
 systemctl status prometheus
● prometheus.service
- prometheus Loaded: loaded (/etc/systemd/system/prometheus.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2017-05-22 11:13:36 CST; 18s ago Main PID: 9175 (prometheus) Tasks: 9 Memory: 15.8M CPU: 207ms CGroup: /system.slice/prometheus.service └─9175 /usr/local/prometheus/prometheus -config.file=/usr/local/prometheus/prometheus.yml -storage.local.path=/var/lib/prometheus
复制代码

访问自带Web   自带Web默认在http://ip:9090  http://ip:9090/metrics 可以查看从exporter中能具体抓到哪些数据。

 

服务端安装过程有监控目标主机一样 请参考下面的安装方式

 

重启Prometheus

systemctl restart prometheus

访问Prometheus Web,在Status->Targets页面下,我们可以看到我们配置的两个Target,它们的State为UP。

被监控的主机上安装

被监控端下载安装Node exporter

wget  https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
tar xvfz node_exporter-1.3.1.linux-amd64.tar.gz -C /usr/local
cd /usr/local
mv node_exporter-1.3.1.linux-amd64/ node_exporter
groupadd prometheus #创建用户组
useradd -g prometheus -s /sbin/nologin prometheus #创建用户禁止登录
chown -Rf prometheus:prometheus /usr/local/node_exporter  #更改权限

配置服务

复制代码
vi  /usr/lib/systemd/system/node_exporter.service
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
复制代码

让配置生效,重起服务

systemctl daemon-reload #加载systemd
systemctl restart node_exporter 

web页面 输入IP:9100 出现下列数据就对了

http://被监控端IP:9100/metrics 可以查看到node_exporter在被监控端收集的监控信息,回到prometheus服务器的配置文件里添加被监控机器的配置段

 

 

 

 

 

给Prometheus添加一个强大的仪表盘

Grafana安装

这里以OpenEuler, Red Hat, CentOS, RHEL,  Fedora为例安装

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.5.5-1.x86_64.rpm
sudo yum install grafana-enterprise-8.5.5-1.x86_64.rpm

其它系统可在这里下载:https://grafana.com/grafana/download

 

启动Grafana

systemctl start grafana-server

查看Grafana是否启动成功

复制代码
systemctl status grafana-server
● grafana
-server.service - Grafana instance Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; masked; vendor preset: enabled) Active: active (running) since Mon 2017-05-22 14:57:29 CST; 49min ago Docs: http://docs.grafana.org Main PID: 21735 (grafana-server) CGroup: /system.slice/grafana-server.service └─21735 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile= cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins
复制代码

 

访问Grafana

通过http://ip:3000访问Grafana Web界面(缺省帐号/密码为admin/admin)

在Grafana中添加Prometheus数据源

Name:Prometheus
Type:Prometheus
Url:http://localhost:9090/
Access:proxy

 

posted @   奇哥不记事  阅读(535)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示