共计 3440 个字符,预计需要花费 9 分钟才能阅读完成。
目录
系统描述.
开发环境.
开始之前.
安装 influxdb 数据库.
安装 collectd
安装 Grafana
FAQ
influxdb 的 web 界面没反应.
系统描述
想打造 New Relic 那样漂亮的实时监控系统我们只需要 InfluxDB/collectd/Grafana 这三个工具,这三个工具的关系是这样的:
采集数据(collectd)-> 存储数据(InfluxDB) -> 显示数据(Grafana)。
InfluxDB 是用 Go 语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、分析等数据
collectd 是用 C 语言写的一个系统性能采集工具;
Grafana 是纯 Javascript 开发的前端工具,用于访问 InfluxDB,自定义报表、显示图表等。开发环境
系统版本信息 | Linux version 3.10.0-123.el7.x86_64 (builder@kbuilder.dev.CentOS.org) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) 按照 Centos7 最小化模式安装 |
使用软件版本 | Collectd:collectd-5.5.0-2.el7.x86_64 Influxdb:influxdb-0.8.8-1.x86_64 Garfana:grafana-2.0.2-1.x86_64 |
开始之前
关闭 selinux:
[root@localhost ~]# vi /etc/selinux/config
将 SELINUX=enforcing 修改为 SELINUX=disabled
校准时间:
设定为上海时区
[root@localhost log]# timedatectl set-timezone Asia/Shanghai
同步时间
[root@localhost log]# /usr/sbin/ntpdate time.nist.gov 注:
我自己写了一个比较粗糙的一键安装三个软件的脚本,github 地址:
https://github.com/Kylinlin/install_performance_monitor_automatically 安装 influxdb 数据库
从该网址下载软件:https://s3.amazonaws.com/influxdb/influxdb-0.8.8-1.x86_64.rpm
解压安装
[root@localhost ~]# rpm -ivh influxdb-0.8.8-1.x86_64.rpm
关闭防火墙:
[root@localhost ~]# systemctl stop firewalld.service
在防火墙中添加端口:
[root@localhost ~]# firewall-cmd –zone=public –add-port=8083/tcp –permanent(添加 5666 端口)
[root@localhost ~]# firewall-cmd –reload(重启防火墙)
启动该进程:
[root@localhost ~]# /etc/init.d/influxdb start
注意,必须出现红色方框内的字体才表示安装并且启动成功
打开浏览器,输入地址 http://192.168.1.204:8083/,可以看到启动后的画面,登陆名和密码默认都是 root
创建数据库:输入数据库名称 collectd,然后点击 Create Database 按钮
数据库创建成功
influxdb 的配置文件的位置:/opt/influxdb/shared/config.toml 安装 collectd
从这里下载软件:
http://dl.Fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
安装:
[root@slave204 tmp]# rpm –ivh epel-release-7-5.noarch.rpm
[root@slave204 tmp]# yum install collectd –y
collectd 的配置文件为 /etc/collectd.conf,其执行文件位于 /usr/sbin/collectd
首先备份配置文件
[root@slave204 tmp]# cp /etc/collectd.conf /etc/collectd.conf_backup
然后修改配置文件:[root@localhost ~]# vi /etc/collectd.conf
首先去掉如下注释,并修改 Hostname
再去掉 LoadPlugin network 和 LoadPlugin uptime 前面的 #
并在 Plugin Configuration 下面添加一个配置项
保存并退出,执行检查命令::[root@localhost etc]# /usr/sbin/collectd –t
如果没有任何输出,则说明配置正确
启动:[root@localhost etc]# systemctl start collectd.service 把 collectd 的数据存放到 influxdb 中
首先备份 influxdb 的配置文件
[root@slave204 tmp]# cp /opt/influxdb/shared/config.toml /opt/influxdb/shared/config.toml_backup
然后修改配置文件中的 [input_plugins.collectd] 配置成如下:
[root@slave204 tmp]# vim /opt/influxdb/shared/config.toml
重启 influxdb
[root@slave204 tmp]# /etc/init.d/influxdb restart
刷新 influxdb 的 web 界面,进入 collectd 的数据库
查看内存使用结果:select * from “influxdb/memory/memory-used”
安装 Grafana
下载安装包:
https://grafanarel.s3.amazonaws.com/builds/grafana-2.0.2-1.x86_64.rpm
[root@localhost ~]# yum install initscripts fontconfig -y
[root@slave204 tmp]# rpm -ivh grafana-2.0.2-1.x86_64.rpm
设置开机启动
[root@slave204 tmp]# systemctl daemon-reload
启动 grafana 服务器
[root@slave204 tmp]# systemctl start grafana-server
检查启动状态是否成功
[root@slave204 tmp]# systemctl status grafana-server
登陆 web 界面:192.168.1.204:3000,用户名和密码都是 admin 配置数据源
登陆后看到一片空白,通过点击图标进行所有的配置
首先修改密码:
把数据库的数据导入到 granfa 里,全部按照如下进行配置:
Name: influxdb
Type: InfluxDB 0.8.x
Url: http://localhost:8086
Database: collectd
User: root Password: root
创建仪表板
回到首页,点击 Home
上面已经创建了一个空白的仪表板,现在往仪表板中添加监视元素监控 CPU 空闲率
给图表创建标题
定义查询语句
上图中的 derivative 函数的具体定义参考这里:
https://influxdb.com/docs/v0.8/api/aggregate_functions.html 定义坐标轴
监控内存
监控网卡
定义图表显示的内容(series 的可用值就是在 influxdb 的 web 界面执行 list series 后显示的内容),可以重复点击 Add query 来添加内容:
注意这里有多个网卡,首先确认你系统的网卡再做选择
在创建完之后,点击 Back to dashboard 返回首页
FAQ
influxdb 的 web 界面没反应
安装了 influxdb 后,登陆了 web 界面,输入了用户名和密码之后点击 Connect 按钮没有反应。
答:关闭防火墙即可
更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-12/125778.htm