Grafana安装

系统:ubuntu 20.04

  1. 更新系统并安装依赖
    首先,更新系统的包列表并安装必要的软件包。
sudo apt update && sudo apt upgrade -y
sudo apt install -y software-properties-common wget
  1. 添加 Grafana 官方仓库
    为了保证下载和安装的安全性,需要先添加 Grafana 的 GPG 密钥,然后添加官方软件源。
# 创建目录存放密钥
sudo mkdir -p /etc/apt/keyrings/

# 下载并添加 Grafana GPG 密钥
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null

# 添加 Grafana APT 仓库
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list

注意:这里使用的是通用(OSS)版本的仓库。如果你需要企业版(Enterprise),可以将URL中的 https://apt.grafana.com 替换为 https://apt.grafana.com/enterprise

  1. 安装 Grafana
    更新本地包索引,然后安装 Grafana。
# 更新包列表
sudo apt update

# 安装 Grafana
sudo apt install -y grafana
-y 参数会在安装过程中自动回答“是”,实现静默安装。
  1. 启动 Grafana 服务
    安装完成后,Grafana 会被注册为一个 systemd 服务。你需要启动它并设置开机自启。
# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 启动 Grafana 服务
sudo systemctl start grafana-server

# 设置 Grafana 开机自启
sudo systemctl enable grafana-server

# 检查服务状态,确认运行正常
sudo systemctl status grafana-server
执行 status 命令后,你应该能看到输出中包含 active (running) 字样。
  1. 配置防火墙 (可选)
    如果你的 Ubuntu 启用了 ufw 防火墙,需要放行 Grafana 的默认端口 3000。
sudo ufw allow 3000/tcp
如果你想通过 80 或 443 端口(即无需在URL后加 :3000)来访问,可以配置 Nginx 或 Apache 作为反向代理。
  1. 访问 Grafana Web 界面
    现在,你可以打开浏览器,输入以下地址访问 Grafana:
    http://<你的服务器公网IP或域名>:3000
    用户名:admin
    密码:admin

首次登录时,系统会强制要求你修改密码,请设置一个安全的新密码。

下一步
成功登录后,你就可以开始:

添加数据源:点击左侧齿轮图标 (⚙️) 的 "Configuration",然后选择 "Data Sources",添加如 Prometheus、Zabbix 等数据源。

创建仪表盘:点击 "+" 号图标,选择 "Dashboard",开始创建你自己的监控面板


添加数据源

一、添加zabbix数据源

安装插件
image

配置URL:http://zabbix的IP/api_jsonrpc.php

和zabbix创建的API token
image

然后可以添加仪表盘
可以从grafana官网下载仪表板JSON格式的模板导入grafana

https://grafana.com/grafana/dashboards/?search=zabbix
image

二、添加NetBox数据源

grafana中安装Infinity插件

image

Netbox创建API token

生成密钥:登录到你的 NetBox 服务器,运行 NetBox 自带的生成工具,这会生成一个符合长度和复杂度要求的随机字符串。

python /opt/netbox/netbox/generate_secret_key.py
重要提示:生成的密钥必须妥善保管,不能泄露。

编辑配置文件:打开 NetBox 的主配置文件 configuration.py,在文件末尾添加或修改 API_TOKEN_PEPPERS 配置。
nano /opt/netbox/netbox/netbox/configuration.py

# 请将下面示例中的字符串替换为上一步命令生成的密钥
API_TOKEN_PEPPERS = {
    1: 'kp7ht*76fiQAhUi5dHfASLlYUE_S^gI^(7J^K5M!LfoH@vl&b_', # 这里换上你生成的密钥
}

重启服务:重启 NetBox 服务使配置生效。
sudo systemctl restart netbox netbox-rq

然后在NetBox网页端创建API token

image

回到grafana配置数据源

image

Custom HTTP Headers Key 1 Content-Type
Custom HTTP Headers Value 1 application/json
Custom HTTP Headers Key 2 Accept
Custom HTTP Headers Value 2 application/json; indent=4
image

配置仪表盘

image

可以设置表格需要展示的列

image

也可以添加面板时,选择需要的类型:

image

Netbox使用了分页,所以默认grafana只能读取50个数据,
可以在URL后面加上参数api/dcim/devices/?limit=0,获取全部数据

posted @ 2026-05-26 15:29  红妹妹  阅读(28)  评论(0)    收藏  举报