collectd+influxDB+grafana搭建性能监控平台

collectd+influxDB+grafana搭建性能监控平台

前言

  • InfluxDB 是 Go 语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、分析等数据;键值时间数据库性能还不错
  • collectd 是C 语言写的一个系统性能采集工具
  • Grafana 是纯 Javascript 开发的前端工具,用于访问 InfluxDB,自定义报表、显示图表等。V3.0以上版本支持zabbix 数据库,可以非常方便直接由zabbix_agent 采集数据。

1 环境信息

测试环境174,175双机组,压力机172

collectd采集数据,influxDB存储数据,grafana展示数据

三者关系为:

采集数据(collectd)-> 存储数据(influxdb) -> 显示数据(grafana)

根据测试需要,在三台机器上均安装collectd收集数据,influxDB和grafana安装在172上

笔者三台机器为同一网段,操作系统均为CentOS Linux release 7.4.1708 (Core)

2 安装collectd

安装依赖包和collectd

yum -y install epel-releaseyum -y install collectd

collectd安装完毕后的版本目前为collectd-5.8.0-4.el7.x86_64

collectd依赖epel-release安装源

安装rrdtool插件

为了与influxdb通知,collectd作为客户端,需连接influxdb的25826端口,所以要打开network plugin并配置server属性;

为了让influxdb能够识别collectd的数据,要安装rrdtool插件,否则/var/lib/collectd/rrd目录不会生成

rrdtool插件与依赖包的安装:

yum install collectd-rrdtool rrdtool rrdtool-devel

参数配置

默认安装路径下,collectd的配置文件路径为/etc/collectd.conf

配置文件collectd.conf中:

  • 两个##开头表示该插件还没有构建,也就不能使用
  • 一个#开头表示该插件已经构建,但是不能使用
  • 没有#表示该插件已经构建且能使用
vi /etc/collectd.confHostname    "client174"FQDNLookup   trueBaseDir     "/var/lib/collectd"PIDFile     "/var/run/collectd.pid"PluginDir   "/usr/lib64/collectd"TypesDB     "/usr/share/collectd/types.db"LoadPlugin syslogLoadPlugin cpuLoadPlugin diskLoadPlugin interfaceLoadPlugin memoryLoadPlugin rrdtoolLoadPlugin swap?<Plugin cpu>  ReportByCpu true  ReportByState true  ValuesPercentage true</Plugin>?<Plugin interface>        Interface "eth0"        IgnoreSelected false</Plugin>?<Plugin load>        ReportRelative true</Plugin>?<Plugin network>        Server "*.*.*.*" "25826"</Plugin>?<Plugin rrdtool>        DataDir "/var/lib/collectd/rrd"</Plugin>

配置项中最重要的部分是network插件,这里配置的IP是指安装influxdb的IP

collectd至少开启输入输出network、rrdtool 插件

启停collectd

systemctl stop collectd.servicesystemctl start collectd.servicesystemctl enable collectd.service 开机启动systemctl status collectd.service 检查插件的加载情况

日志

打开日志,并配置日志级别和路径等属性

LoadPlugin logfile<Plugin logfile>        LogLevel info        File "/var/log/collectd.log"</Plugin>

重启collectd,在/var/log/collectd.log中可看到日志

rrd目录

启动collectd后,可在/var/lib/collectd目录下看到rrd目录

[[email protected] ~]# cd /var/lib/collectd/rrd/node172[[email protected] node172]# lltotal 0drwxr-xr-x 2 root root 209 Jun 21 09:14 cpu-0drwxr-xr-x 2 root root 209 Jun 21 09:14 cpu-1drwxr-xr-x 2 root root 209 Jun 21 09:14 cpu-2drwxr-xr-x 2 root root 209 Jun 21 09:14 cpu-3drwxr-xr-x 2 root root 209 Jun 21 09:14 cpu-4drwxr-xr-x 2 root root 209 Jun 21 09:14 cpu-5drwxr-xr-x 2 root root 209 Jun 21 09:14 cpu-6drwxr-xr-x 2 root root 209 Jun 21 09:14 cpu-7drwxr-xr-x 2 root root 124 Jun 21 09:48 disk-dm-0drwxr-xr-x 2 root root  94 Jun 21 09:14 disk-dm-1drwxr-xr-x 2 root root  94 Jun 21 09:14 disk-dm-2drwxr-xr-x 2 root root  94 Jun 21 09:14 disk-sr0drwxr-xr-x 2 root root 147 Jun 21 09:48 disk-xvdadrwxr-xr-x 2 root root  94 Jun 21 09:14 disk-xvda1drwxr-xr-x 2 root root 147 Jun 21 09:48 disk-xvda2drwxr-xr-x 2 root root  92 Jun 21 09:14 interface-eth0drwxr-xr-x 2 root root  31 Jun 21 11:05 loaddrwxr-xr-x 2 root root 162 Jun 21 09:14 memorydrwxr-xr-x 2 root root 195 Jun 21 09:14 processesdrwxr-xr-x 2 root root 116 Jun 21 09:14 swapdrwxr-xr-x 2 root root  23 Jun 21 09:14 users

3 安装influxDB

高版本的influxDB没有web页面,笔者安装的是influxdb-0.9.4.2-1.x86_64版本

influxDB安装

yum -y install http://influxdb.s3.amazonaws.com/influxdb-0.9.4.2-1.x86_64.rpm

配置参数

默认安装路径下,influxDB的配置文件路径为/etc/opt/influxdb/influxdb.conf

配置文件指明influxdb使用collectd采集器

在[collectd]下编辑:

[collectd]    enabled = true    bind-address = "127.0.0.1:25826"    database = "collectd"    typesdb = "/usr/share/collectd/types.db"

启停influxDB

systemctl start influxdb.servicesystemctl enable influxdb.servicesystemctl stop influxdb.service

测试influxDB

检查collectd收集的参数是否由influxDB接收

[[email protected] ~]# /opt/influxdb/influxConnected to http://localhost:8086 version 0.9.4.2InfluxDB shell 0.9.4.2> use collectdUsing database collectd> show measurementsname: measurements------------------namecpu_valuedisk_io_timedisk_readdisk_valuedisk_weighted_io_timedisk_writeinterface_rxinterface_txload_longtermload_midtermload_shorttermmemory_valueprocesses_valueswap_valueusers_value?> 

influxDB使用的端口

  • 8083: Web admin管理服务的端口, http://yourIP:8083
  • 8086: HTTP API的端口
  • netstat -tlnpu |grep influxd查看influxDB端口UDP协议监控

用浏览器查看8083端口即可访问influxdb前端,并可用类似sql命令来访问数据

4 安装grafana

grafana安装

grafana的安装不建议安装低版本,版本过低,后续无法监控mysql等

建议安装最新版本的grafana

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.1.4-1.x86_64.rpm sudo yum localinstall grafana-5.1.4-1.x86_64.rpm 

官网参考

grafana启停

systemctl stop grafana-server.servicesystemctl start grafana-server.servicesystemctl enable grafana-server.service

grafana页面

web访问页面:

http://yourIP:3000

预制用户admin,密码admin,用户可配置

下图为已设置过的grafana面板

grafana连接数据库

点击Data Sources-ADD new,填写如下参数并保存

设置grafana面板

负载设置

network I/O,只能切换成Switch editor mode编辑,并修改Left Y轴的单位为bytes/s,如下所示:

流入的sql脚本:

SELECT derivative("value") AS "value" FROM "interface_rx" WHERE "host" = ‘client174‘ AND "type" = ‘if_octets‘ AND "instance" = ‘eth0‘

流出时,将interface_rx改为interface_tx即可

类似配置,可配置cpu,memory,swap等

原文地址:https://www.cnblogs.com/hanzhang/p/9240592.html

时间: 2024-08-01 17:28:19

collectd+influxDB+grafana搭建性能监控平台的相关文章

grafana + influxdb + telegraf , 构建性能监控平台

1.安装平台 1).grafana , 访问各类数据源 , 自定义报表.显示图表等等 , 用于提供界面监控 , 默认端口为3000 , 默认登陆信息admin wget https://grafanarel.s3.amazonaws.com/builds/grafana-3.1.1-1470047149.x86_64.rpm yum install initscripts fontconfig -y rpm -ivh grafana-3.1.1-1470047149.x86_64.rpm sys

使用Collectd + InfluxDB + Grafana进行JMX监控

我们已经看到使用Collectd监控CPU /内存利用率(本文).但它没有提供所有信息来确定性能问题的瓶颈.在本文中,我们将使用Collectd Java插件来使用其JMX技术来监视和管理Java虚拟机(JVM). 目标: 使用Java的JMX技术监视和管理Java虚拟机(JVM). 建筑: 我们的高级架构如下所示 - 我们将监控所有应用服务器,JMeter服务器和JMeter-master的JVM. JMX(Java托管扩展): JMX是在Java 5.0发行版中引入的,用于在运行时管理/监视

docker+influxdb+grafana+jmeter性能监控

influxdb docker参考:https://hub.docker.com/_/influxdb github地址:https://github.com/influxdata/influxdb doc地址:https://v2.docs.influxdata.com/v2.0/ 其他解释参考:https://www.jianshu.com/p/1be8b7273b89 一些概念: database相当于mysql中的database measurement相当于mysql中的表 point

linux Centos下搭建性能监控Spotlight on Unix

公司要做压力测试,有Linux服务器一台,系统Centos6.5,为了直观的展示系统性能,更好的去分析服务器,故要搭建一个监控.闲言休讲,直奔主题. 首先,Linux服务器一台:系统Centos6.5 其次,在我的笔记本上安装监控软件客户端 软件下载地址链接: 链接:http://pan.baidu.com/s/14Vwlw     密码:tmw4 配置spotlight登陆用户,注意spotlight默认不能使用root用户进行连接,需要用户自己创建一个具有root权限的用户.具体方法新建账号

Nginx下搭建Nagios监控平台(转载)

Nagios依赖PHP环境和perl环境,由于Nginx不支持Perl的CGI,需先来搭建Perl环境,Nagios原理介绍略. 文章原出处:https://blog.linuxeye.com/312.html1.下载最新稳定源码包和Perl脚本 mkdir nagios-cacti cd nagios-cacti wget http://www.cpan.org/modules/by-module/FCGI/FCGI-0.74.tar.gz wget http://www.cpan.org/a

Cubieboard Linaro 搭建超节能监控平台

转载的,不知道原作者是谁.list很好,但我没有全部测试和验证,部分内容或已失效,如有人找到原作者的更新或者最新的心得.请告知. Cubieboard是一款ARM架构的开发板, 1GHz 的 All Winner A10 Cortex A8 CPU.Mali-400 GPU.1GB RAM.4GB 存储.比Raspberry Pi的配置高出一倍.Cubieboard和Raspberry Pi都可以运行Android和Linux操作系统.最大的特点就是性能高功率小,最适合跑一些长时间运行的程序.

linux监控平台搭建(1)监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码

            (一)监控平台介绍 (二)zabbix监控介绍 (三)安装zabbix 实验需要两台机器:服务端(133)和客户端(134) 1.首先在服务端安装Zabbix的yum扩展源. 下载地址: www.zabbix.com/download wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm 2.安装一下这个rpm包 rpm -ivh zabbix-re

Centos7 搭建Grafana+Jmeter+Influxdb 性能监控平台

一.背景 日常工作中,经常会用到Jmeter去压测,毕竟LR还要钱(@¥&*...),而最常用的接口压力测试,我们都是通过聚合报告去查看压测结果的,然鹅聚合报告的真的是丑到家了,作为程序猿这当然不能忍!那我们要怎么给它变得好看点捏? 二.如何华丽变身? 方式 优点 缺点 Jmeter+ant+Jenkins 快捷,上手简单 报告还是不够美观.直观,如果测试接口一多,报告就会显示臃肿不够直观 Grafana+Jmeter+Influxdb(推荐) 数据可视化,数据直观,筛选功能强大,拓展能力强 当

建立Heapster Influxdb Grafana集群性能监控平台

依赖于kubenets dns服务地址:https://note.youdao.com/web/#/file/WEB42cf75c02ae113136ff664f3f137cb67/note/WEB0eec19f3667471969b3354b7128fda9c/ 图形化展示度量指标的实现需要集成k8s的另外一个Addons组件: Heapster .Heapster原生支持K8s(v1.0.6及以后版本)和 CoreOS ,并且支持多种存储后端,比如: InfluxDB . ElasticSe