glances+influxdb+grafana
Linux或macOS系统下glances+influxdb+grafana
简单来说就是把用glances监控取到的数据放入到influxdb数据库中。通过grafana来展示出来
先来一个效果图:
第一步安装glances,可以参考我前面的文章
https://www.toutiao.com/i6877458975051219459/
glance启动网页服务/我这里测试没有走这个模式
glances -w
Glances Web User Interface started on http://0.0.0.0:61208/
http://0.0.0.0:61208
其实我们通过glances的-help看到很多可选不同的启动方式都支持不同的接口模式
Monitor local machine with the Web interface and start RESTful server:
$ glances -w
Glances web server started on http://0.0.0.0:61208/
Only start RESTful API (without the WebUI):
$ glances -w --disable-webui
Glances API available on http://0.0.0.0:61208/api/
Monitor local machine and export stats to a CSV file (standalone mode):
$ glances --export csv --export-csv-file /tmp/glances.csv
Monitor local machine and export stats to a InfluxDB server with 5s refresh time (standalone mode):
$ glances -t 5 --export influxdb
默认的安装路径
/usr/local/Cellar/glances/3.1.4.1
? glances pwd
/usr/local/Cellar/glances/3.1.4.1/share/doc/glances
我对比配置文件:
/usr/local/Cellar/glances/3.1.4.1/share/doc/glances/glances.conf
和
https://raw.githubusercontent.com/nicolargo/glances/master/conf/glances.conf
差别很小:
我这里启动这样一个配置来测试:当然,为了配合我的测试,这里是简单修改,这个配置文件,主要要修改在下面这个地方。user=admin和password=admin 默认都是root。
下面这个配置可以暂时不启动,等我们的数据库建立之后再启动这个服务就可以了。因为现在我们还没有数据库,启动的数据无法写入到数据库里面去。
glances -C /usr/local/Cellar/glances/3.1.4.1/share/doc/glances/glances.conf -t 5 --export influxdb
相关配置:
[influxdb]
host=localhost
port=8086
protocol=http
user=admin
password=admin
db=glances
prefix=localhost
第二部准备数据库
InfluxDB
InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展
brew install influxdb 安装服务之后,直接可以启动启动的方式,有好几种这里可以参考一下。
? ~ brew install influxdb
? ~ brew services start influxdb
接下来,你需要在InfluxDB中创建一个数据库,用于存储来自glances的数据。InfluxDB软件包中包含的influx命令是与数据库交互的最简单方法。所以执行influx启动CLI并自动连接到本地的InfluxDB实例。下面创建的数据库的账户和密码就和我上面的配置文件glances.conf修改部分对应起来
? ~ influx
Connected to http://localhost:8086 version 1.8.2
InfluxDB shell version: 1.8.2
创建一个管理员用户
> CREATE USER "admin" WITH PASSWORD 'admin' WITH ALL PRIVILEGES
创建数据库
> create database glances
查看数据库
> show databases
name: databases
name
----
_internal
glances
查看端口侦听:
lsof -n -P -i TCP -s TCP:LISTEN|egrep "influ"
influxd 40496 lex 7u IPv4 0x5b7a8c62fbb921db 0t0 TCP 127.0.0.1:8088 (LISTEN)
influxd 40496 lex 8u IPv6 0x5b7a8c62fb86942b 0t0 TCP *:8086 (LISTEN)
第三步安装Grafana
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知
安装
brew install grafana
启动:
~ brew services start grafana
==> Tapping homebrew/services
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-services'...
remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 924 (delta 4), reused 2 (delta 0), pack-reused 912
Receiving objects: 100% (924/924), 259.31 KiB | 192.00 KiB/s, done.
Resolving deltas: 100% (378/378), done.
Tapped 1 command (40 files, 341.6KB).
==> Successfully started `grafana` (label: homebrew.mxcl.grafana)
http://localhost:3000
会跳转到登录页面,登录初始用户名admin,初始密码admin。 不清楚地址和端口的情况可到/usr/local/etc/grafana/grafana.ini配置文件下找domain和http_port参数。当然我们可以自定义这个配置
你会被要求创建一个新的密码,一旦你这样做,你将被重定向到主仪表板,如下图所示。
可以看到3000端口这个是grafana-s
http://localhost:3000/login
首先我们要添加一个数据源
在这里我们选择influxdb这个数据
详细的配置可以参考下面的图这里的数据库的用户名密码都是admin
填写完成之后保存测试就可以了。
下一步:
现在你需要导入Glances仪表盘。点击加号(+),进入导入,如截图所示
您将需要Glances Dashboard的URL或ID,或者上传它的.JSON文件,您可以从Grafana.com找到。在这种情况下,我们将使用Glances的开发者创建的Glances Dashboard,它的URL是https://grafana.com/dashboards/2387,ID是2387
在成功导入Glances仪表盘后,你应该可以观看由Glances通过influxdb提供的服务器指标的图表
参考:
https://www.toutiao.com/i6877458975051219459/
https://www.tecmint.com/install-glances-influxdb-grafana-to-monitor-centos-7/