Administrator
发布于 2024-11-11 / 10 阅读
0
0

Grafana

哪吒一顿骚操作,还是换掉吧。

安装Grafana

直接Docker一把梭,装完之后用户名密码默认的都是admin

docker run -d --name=grafana -p 3000:3000 grafana/grafana-oss:11.3.1-ubuntu

Nginx反代设置

# This is required to proxy Grafana Live WebSocket connections.
map $http_upgrade $connection_upgrade {
  default upgrade;
  '' close;
}

upstream grafana {
  server localhost:3000;
}

server {
  listen 80;
  root /usr/share/nginx/html;
  index index.html index.htm;

  location / {
    proxy_set_header Host $host;
    proxy_pass http://grafana;
  }

  # Proxy Grafana Live WebSocket connections.
  location /api/live/ {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header Host $host;
    proxy_pass http://grafana;
  }
}

安装Prometheus

继续Docker一把梭

为了方便自己调一些配置并且保存监控的数据

准备工作

创建配置文件存储目录

mkdir -p /etc/prometheus

https://prometheus.io/download/下载最新版本,解压后将prometheus.yml上传到/etc/prometheus目录

为数据创建持久卷

docker volume create prometheus-data

启动

docker run -d \
    -p 9090:9090 \
    -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
    -v prometheus-data:/prometheus \
    prom/prometheus

安装Node Exporter

由于需要监控主机数据,官方也并不建议使用Docker部署.

下载地址:https://prometheus.io/download/#node_exporter,自行到官网查找最新版本替换下面的地址.

wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz && \
tar xvfz node_exporter-*.tar.gz && \
rm node_exporter-*.tar.gz
mv node_exporter-*.linux-amd64/node_exporter /usr/local/bin
rm -r node_exporter-*.linux-amd64*

将 Node Exporter 作为服务运行。

首先创建一个 node_exporter 用户。

useradd -rs /bin/false node_exporter

创建一个服务文件 node_exporter.service 供 systemctl 使用。

nano /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
 
[Service]
User=node_exporter
Group=node_exporter
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/bin/node_exporter
 
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now node_exporter
systemctl status node_exporter

修改 Prometheus 配置文件,添加监控节点

在运行Prometheus的监控服务器上,编辑 prometheus.yml ,本教程中地址为/etc/prometheus/prometheus.yml

找到 scrape_configs ,里面是作业列表。当前有一个名为 prometheus 的作业。此作业监视端口 9090 上的本地 Prometheus 任务。

在 prometheus 作业下方,添加第二个作业, job_name 为 remote_collector 。

包括以下信息。注意将 remote_addr 替换为客户端的实际IP地址。

  • 设置抓取时间间隔: scrape_interval: 10s
  • 添加要监控的 IP 和 端口号 :9100 ,使用逗号分隔每个条目。
  • 要启用对本地服务器的监视,请将 localhost:9100 条目添加到列表中,并在本地安装 Node Exporter。
...
 
  - job_name: "remote_collector"
    scrape_interval: 10s
    static_configs:
      - targets: ["IP1:9100"]
        labels:
          instance: '实例1'
      - targets: ["IP2:9100"]
        labels:
          instance: '实例2'

立即刷新,重启Docker即可,docker ps查看容器ID,重启

docker restart 容器ID

关联 Grafana 和 Prometheus

所有系统组件现已安装,但 Grafana 和 Prometheus 尚未关联。剩下的可以使用 Grafana Web 界面完成。

要集成 Grafana 和 Prometheus,请按照以下步骤操作:

  1. 浏览器访问监控服务器的 3000 端口。例如,输入 http://ip_addr:3000 ,将 ip_addr 替换为实际 IP 地址。
  2. Grafana 显示登录页面。使用用户名和默认密码 都是 admin 。当出现提示时,将密码更改为更安全的值。
  3. 成功更改密码后,Grafana 将显示 Grafana 仪表板。
  4. 要将 Prometheus 添加为数据源,请单击Connections,然后选择Data sources。
  5. 在下一个显示中,单击“ADD Data sources”按钮。
  6. 选择Prometheus作为数据源。
  7. 对于本地 Prometheus 源,将 URL 设置为 http://localhost:9090 。大多数其他设置可以保留默认值。
  8. 对设置满意后,选择屏幕底部的【Save & test】按钮。
  9. 如果所有设置均正确,Grafana 会确认 Data source is working 。

导入 Grafana 仪表板

推荐大佬的面板 Grafana 的官网 (Dashboard ID 22403)


评论