目录

系统描述.

开发环境.

开始之前.

安装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按钮没有反应。

答:关闭防火墙即可

CentOS7安装性能监控系统的更多相关文章

  1. 前端性能监控系统ShowSlow

    作者:zhanhailiang 日期:2014-11-14 1. 简单介绍 ShowSlow是开源的前端性能监控系统,提供了下面功能: 前端性能指标数据收集功能:ShowSlow原生提供了数据收集工具 ...

  2. 多语言应用性能监控系统:Elastic APM

    ▶ 概述 Elastic APM 是基于 Elastic Stack 构建的应用性能监控系统.通过 Elastic APM 可以监控应用程序,收集有关请求的响应时间.数据库查询.高速缓存调用.外部 H ...

  3. 前端性能监控系统 & 前端数据分析系统

    前端监控系统 目前已经上线,欢迎使用! 背景:应工作要求,需要整理出前端项目的报错信息,尝试过很多统计工具,如: 腾讯bugly.听云.OneApm.还有一个忘记名字的工具. 因为各种原因,如: 统计 ...

  4. 性能监控系统 | 从0到1 搭建Web性能监控系统

    工具介绍 1. Statsd 是一个使用Node开发网络守护进程,它的特点是通过UDP(性能好,及时挂了也不影响主服务)或者TCP来监听各种数据信息,然后发送聚合数据到后端服务进行处理.常见支持的「G ...

  5. 实用|从0到1 搭建Web性能监控系统

    工具介绍 1. Statsd 是一个使用Node开发网络守护进程,它的特点是通过UDP(性能好,及时挂了也不影响主服务)或者TCP来监听各种数据信息,然后发送聚合数据到后端服务进行处理. 常见支持的「 ...

  6. 以源码安装的lamp环境为依托,源码安装zabbix监控系统

    1.源码安装lamp环境 1)安装httpd, 以源码httpd-2.4.33为基础,解压后,执行./configure --prefix=/usr/local/ --sysconfdir=/etc/ ...

  7. linux记录-安装zabbix监控系统

    1. 安装依赖yum -y install libcurl-devel libxml2-devel net-snmp net-snmp-devel2. 安装 nginxyum -y install n ...

  8. 安装cacti监控系统

    1 安装snmp [root@xxxx ~]# yum -y install net-snmp* 2 安装rddtool 3 创建数据库 cacti, 导入 cd xx/cacti/cacti.sql ...

  9. CentOS7 安装tomcat为系统服务器 Systemctl管理Tomcat,并设置开机启动

    本文转载:http://blog.chinaunix.net/uid-24648266-id-5729891.html CentOS7开始,从/etc/init.d脚本改为了systemctl管理服务 ...

随机推荐

  1. 小白日记31:kali渗透测试之Web渗透-扫描工具-Arachni

    扫描工具-Arachni Kali中集成旧的arachni的阉割版,所以需要重新安装[在某些方面有其独特性,但不算很强大,有命令行和web两种使用方式][匿名者推荐] apt-get update h ...

  2. jQuery的动画效果

    jQuery 是一个 JavaScript 库.jQuery 库可以通过一行简单的标记被添加到网页中. <script type="text/javascript" src= ...

  3. github使用成长记

    学校里一直都有自己写一些网页,一方面为了学习熟练技能,另一方面也是兴趣所在.但是独乐乐不如众乐乐,一直向往有那么一个平台能把自己做得东西分享给广大网友,并且想借着分享的契机和各位程序猿交流学习心得(这 ...

  4. gitlab备份与恢复操作方法

    github私有仓库是收费的,有些代码不方便托管到外面的git仓库,因此就产生了自己搭建git服务器的需求. 好在有广大的开源人士的贡献,有了gitlab这一神器. 手动配置较多,直接用集成包: bi ...

  5. 关于JDK中的集合总结(三)

    泛型: jdk1.5出现的安全机制. 好处: 1,将运行时期的问题ClassCastException转到了编译时期. 2,避免了强制转换的麻烦. <>:什么时候用?当操作的引用数据类型不 ...

  6. js函数大全

    js函数集·字符串(String) 1.声明 var myString = new String("Every good boy does fine."); var myStrin ...

  7. Linux 命令 - wget: 非交互式网络下载器

    命令格式 wget [option]... [URL]... 命令参数 启动选项 -V, --version 打印版本信息 -h, --help 打印帮助信息 日志和输入文件选项 -o logfile ...

  8. Redis 命令 - Pub/Sub

    PSUBSCRIBE pattern [pattern ...] Listen for messages published to channels matching the given patter ...

  9. Activity Launch Mode

    launcherMode Activity如何被启动呢?Intent对象中与Activity启动相关的标志(FLAG_ACTIVITY_*)有四个.它们分别是: "standard" ...

  10. Linux内核中影响tcp三次握手的一些协议配置

    在Linux的发行版本中,都存在一个/proc/目录,有的也称它为Proc文件系统.在 /proc 虚拟文件系统中存在一些可调节的内核参数.这个文件系统中的每个文件都表示一个或多个参数,它们可以通过 ...