Grafana安装
系统:ubuntu 20.04
- 更新系统并安装依赖
首先,更新系统的包列表并安装必要的软件包。
sudo apt update && sudo apt upgrade -y
sudo apt install -y software-properties-common wget
- 添加 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 。
- 安装 Grafana
更新本地包索引,然后安装 Grafana。
# 更新包列表
sudo apt update
# 安装 Grafana
sudo apt install -y grafana
-y 参数会在安装过程中自动回答“是”,实现静默安装。
- 启动 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) 字样。
- 配置防火墙 (可选)
如果你的 Ubuntu 启用了 ufw 防火墙,需要放行 Grafana 的默认端口 3000。
sudo ufw allow 3000/tcp
如果你想通过 80 或 443 端口(即无需在URL后加 :3000)来访问,可以配置 Nginx 或 Apache 作为反向代理。
- 访问 Grafana Web 界面
现在,你可以打开浏览器,输入以下地址访问 Grafana:
http://<你的服务器公网IP或域名>:3000
用户名:admin
密码:admin
首次登录时,系统会强制要求你修改密码,请设置一个安全的新密码。
下一步
成功登录后,你就可以开始:
添加数据源:点击左侧齿轮图标 (⚙️) 的 "Configuration",然后选择 "Data Sources",添加如 Prometheus、Zabbix 等数据源。
创建仪表盘:点击 "+" 号图标,选择 "Dashboard",开始创建你自己的监控面板
添加数据源
一、添加zabbix数据源
安装插件

配置URL:http://zabbix的IP/api_jsonrpc.php
和zabbix创建的API token

然后可以添加仪表盘
可以从grafana官网下载仪表板JSON格式的模板导入grafana
https://grafana.com/grafana/dashboards/?search=zabbix

二、添加NetBox数据源
grafana中安装Infinity插件

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

回到grafana配置数据源

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

配置仪表盘

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

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

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