CentOS7安装性能监控系统
目录
系统描述.
开始之前.
安装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
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安装性能监控系统的更多相关文章
- 前端性能监控系统ShowSlow
作者:zhanhailiang 日期:2014-11-14 1. 简单介绍 ShowSlow是开源的前端性能监控系统,提供了下面功能: 前端性能指标数据收集功能:ShowSlow原生提供了数据收集工具 ...
- 多语言应用性能监控系统:Elastic APM
▶ 概述 Elastic APM 是基于 Elastic Stack 构建的应用性能监控系统.通过 Elastic APM 可以监控应用程序,收集有关请求的响应时间.数据库查询.高速缓存调用.外部 H ...
- 前端性能监控系统 & 前端数据分析系统
前端监控系统 目前已经上线,欢迎使用! 背景:应工作要求,需要整理出前端项目的报错信息,尝试过很多统计工具,如: 腾讯bugly.听云.OneApm.还有一个忘记名字的工具. 因为各种原因,如: 统计 ...
- 性能监控系统 | 从0到1 搭建Web性能监控系统
工具介绍 1. Statsd 是一个使用Node开发网络守护进程,它的特点是通过UDP(性能好,及时挂了也不影响主服务)或者TCP来监听各种数据信息,然后发送聚合数据到后端服务进行处理.常见支持的「G ...
- 实用|从0到1 搭建Web性能监控系统
工具介绍 1. Statsd 是一个使用Node开发网络守护进程,它的特点是通过UDP(性能好,及时挂了也不影响主服务)或者TCP来监听各种数据信息,然后发送聚合数据到后端服务进行处理. 常见支持的「 ...
- 以源码安装的lamp环境为依托,源码安装zabbix监控系统
1.源码安装lamp环境 1)安装httpd, 以源码httpd-2.4.33为基础,解压后,执行./configure --prefix=/usr/local/ --sysconfdir=/etc/ ...
- linux记录-安装zabbix监控系统
1. 安装依赖yum -y install libcurl-devel libxml2-devel net-snmp net-snmp-devel2. 安装 nginxyum -y install n ...
- 安装cacti监控系统
1 安装snmp [root@xxxx ~]# yum -y install net-snmp* 2 安装rddtool 3 创建数据库 cacti, 导入 cd xx/cacti/cacti.sql ...
- CentOS7 安装tomcat为系统服务器 Systemctl管理Tomcat,并设置开机启动
本文转载:http://blog.chinaunix.net/uid-24648266-id-5729891.html CentOS7开始,从/etc/init.d脚本改为了systemctl管理服务 ...
随机推荐
- 解决位图失真-SetStretchBltMode()
当用以下函数加载一张位图时,当窗口发生重绘更改大小时,位图将失真: CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP2); BITMAP bmp; bitm ...
- Last non-zero Digit in N!
Problem Description The expression N!, read as "N factorial," denotes the product of the f ...
- MYSQL基础笔记(一)
关系型数据库概念: 1.什么是关系型数据库? 关系型数据库:是一种建立在关系模型(数学模型)上的数据库 关系模型:一种所谓建立在关系上的模型. 关系模型包含三个方面: 1.数据结构:数据存储的问题,二 ...
- C#中ROUND函数的问题 解决
ROUND()是C#中math的一个成员函数.System.Math.Round(),这个函数有四种用法,最长用的是对小数点位数的舍入.但这和现实生活中的“四舍五入”有一定区别,也有别JAVA中Mat ...
- 移动终端学习2:触屏原生js事件及重力感应
如今智能移动设备已经渗透到人们生活的方方面面,用户数量也在不断迅速增长(市场研究机构 eMarketer 在今年初发表的趋势报告中预测,2014年至2018年,中国智能手机用户从总人口的 38.3%增 ...
- Windows 平台下Git 服务器搭建
由于项目中一直在使用git作为版本管理,自己对git的理解.使用都还不是怎么的熟悉,所以准备深入了解一下git及一些常用命令的使用,于是干脆把服务端架上,通过自己的PC作为服务端同时作为客户端的角色进 ...
- WIN7 X64 如何运行debug
WIN7 X64 如何运行debug 下载debug.exe 安装dosbox 安装完成后将debug.exe放入某个盘的根目录下(以c盘为例) 然后运行dosbox,输入 mount c c:\ c ...
- CF Amr and Music (贪心)
Amr and Music time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- Java 文件名操作的相关工具类
项目中的操作文件名的工具类: import java.io.File; import java.util.regex.Matcher; import java.util.regex.Pattern; ...
- 【数论-数位统计】UVa 11076 - Add Again
Add AgainInput: Standard Input Output: Standard Output Summation of sequence of integers is always a ...