pfSense的仪表板本身提供了一些实时显示的数据,但没有追溯性。借助Grafana及InfluxDB数据库,我们可以建立能追溯的监控数据平台。InfluxDB是用于存储时间序列数据的数据库平台,可以从不同设备收集指标和事件,它是TICK Stack的一部分。包括:
T – Telegraf; 一个用Go编写的代理,用于从其运行的系统和该系统上运行的服务收集性能指标。收集的指标将输出到InfluxDB或其他受支持的数据库存储上。
I – InfluxDB
C – Chronograf; 用Go和React.js编写的Web应用程序,提供了可视化监视数据并轻松创建警报和自动化规则的工具。
K – Kapacitor A数据处理引擎。它可以处理来自InfluxDB的流数据和批处理数据。
下面介绍在Ubuntu 20.04 系统上安装Grafana和InfluxDB,搭建pfSense防火墙远程数据监控平台的过程。
安装Grafana监控平台
在Ubuntu 20.04 系统命令行,依次执行以下命令:
sudo apt-get install -y adduser libfontconfig1 wget https://dl.grafana.com/oss/release/grafana_7.3.6_amd64.deb sudo dpkg -i grafana_7.3.6_amd64.deb
安装完成以后,用systemd启动服务:
sudo systemctl daemon-reload sudo systemctl start grafana-server sudo systemctl status grafana-server
设置开机启动:
sudo systemctl enable grafana-server.service
安装InfluxDB数据库
在Ubuntu 20.04 系统命令行,依次执行以下命令:
添加存储库:
echo "deb https://repos.influxdata.com/ubuntu focal stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
导入GPG密钥:
sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
更新apt索引并安装:
sudo apt-get update sudo apt-get install influxdb
设置开机启动:
sudo systemctl enable --now influxdb
检查服务状态:
systemctl status influxdb
创建数据库
在Ubuntu 20.04 系统命令行,依次执行以下命令:
登录数据库:
influx
设置数据库的管理员密码为”pfsense”:
create user admin with password 'pfsense' with all privileges
创建数据库”pfsense”:
create database "pfsense"
设置数据库”pfsense”的帐号和密码为”pfsense”:
create user pfsense with password 'pfsense' grant all privileges on pfsense to pfsense
查询数据库:
show databases
查询用户:
show users
退出数据库管理界面
exit
配置pfSense
导航到pfSense防火墙的”系统- >插件管理=>可用插件”菜单,找到Telegraf插件并安装。
安装完成后,导航到服务– > Telegraf菜单,参照下图填写参数。
保存后,pfSense将以设置的更新间隔将数据发送到InfluxDB。
添加数据源
浏览器输入”http://ip地址:3000″进入Grafana管理界面,默认帐号和密码为”admin”。登录以后,会提示修改密码。
安装InfluxDB数据源,点击左侧的Configuration菜单,点击Data Sources,单击右则的Add data sources按钮,添加InfluxDB数据源。
服务器URL参考下图,输入前面创建的数据库信息,完成后,点击底部的Save&Test。
导入监控仪表模板
进入Grafana,点击左侧的”+”,选择import,导入模板文件,可以在这里下载适合pfSense的Grafana仪表板文件,也可以直接输入该模板的数字编号10095导入。