grafana+ collectd+ influxdb 搭建Linux+Java监控环境

grafana+ collectd+ influxdb 搭建Linux+Java监控环境

 

如题,日常不论是dev还是product环境,都需要对机器进行监控,但是自研成本较高。向大家推荐一套简单易于搭建,硬件设备成本较小的监控全家桶。

 

大致分为如下几个部分:

1.grafana 用于展示数据图表的web软件,从数据库中读取数据(本文是influxdb)

2.collectd 客户端信息收集器,收集的数据向数据库中存储(本文是influxdb)

3.influxdb 时序数据库(支持仅保存一段时间内的数据策略,不会爆硬盘)。

 

先看效果图

 

 

 

 

(大神请勿黑我的机器)

 

 

(笔者展示的是自用)两台阿里云配置的监控,由于外网访问速度只有1M,加载速度慢,暂时不分享。

 

现在,我们来搭建环境(ubuntu下,其实debain都可以,树莓派也行):

 

先更新软件环境:sudo apt-get update -y && sudo apt-get upgrade -y

 

如果软件环境比较新也可以不更新,如果apt无法安装请自行参考修改清华源(PS:辣鸡阿里源,对部分arm很不友好)

 

第一步:软件安装

1.安装influxdb

sudo apt-get install influxdb -y

2.安装collectd

sudo apt-get install collectd -y

3.安装grafana(官网安装教程,apt-get安装的版本又老又丑,辣鸡)

wget https://dl.grafana.com/oss/release/grafana_5.4.3_amd64.deb

sudo dpkg -i grafana_5.4.3_amd64.deb

(ps:wget下载速度太慢,还是迅雷下,然后上传上去dpkg安装吧,手贱apt用autoremove卸载干净)

 

 

第二步:配置环境

1.influxdb配置

访问influxdb 默认管理控制台 8083端口

http://你的ubuntu机器地址:8083端口

创建我的数据库 :CREATE DATABASE "98k"

创建数据保存策略并替换默认的保存策略:

CREATE RETENTION POLICY "24_hours" ON "98k" DURATION 24h REPLICATION 1 DEFAULT

(图:略了略了)

创建管理员账户 admin admin

 

 

接下来需要配置influxdb对数据采集器collectd的支持

ubuntu机器上,切root用户

su root

输入密码

 

cd /etc/influxdb

编辑配置文件influxdb.conf

修改关于[collectd]的配置段

[collectd]

enabled = true

bind-address = "0.0.0.0:25826"

database = "98k"

typesdb = "/etc/influxdb/types.db"

 

# database = ""

# typesdb = ""

 

# These next lines control how batching works. You should have this enabled

# otherwise you could get dropped metrics or poor performance. Batching

# will buffer points in memory if you have many coming in.

 

batch-size = 5000 # will flush if this many points get buffered

batch-pending = 10 # number of batches that may be pending in memory

batch-timeout = "10s" # will flush at least this often even if we haven't hit buffer limit

# read-buffer = 0 # UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max.

 

这段主要就是 开启true,然后配置下绑定IP和地址,操作的数据库。

 

注意:typesdb 很重要,这个文件在/usr/share/collectd/文件夹下可以找到,如果没有这个文件,grafana默认的模板后面都带着value的后缀单词,而写进库里的没有,导致数据匹配不上。例如cpu_,grafana 导入的默认模板是cpu_value。

 

给types.db加上专用的java监控的value(这里使用collectd fastjmx插件,配置collectd环节会讲解,先配置上)

fastjmx_cycle value:GAUGE:0:U

fastjmx_latency value:GAUGE:0:U

 

重启influxdb

sudo systemctl restart influxdb

顺眼看下状态

sudo systemctl status influxdb

 

到此influxdb的配置完成

 

2.collectd的配置

(在你需要被监控的机器上,安装这个软件)

cd /etc/collectd

cp collectd.conf collectd.conf.backup

vi collectd.conf 进入编辑模式

发现有同样的东西,都配置上吧

 

我们对应观察数据的grafana使用的模板是https://grafana.com/dashboards/1503,打开这个网站会发现下面有个<plugin "java">,全部复制到collectd.conf (这个就是配置jvm监控的功能,注意整理文件,文件内有自带的java插件,不要使用)

 

到这段配置的最下面配置对应jvm的ip和JMX端口(如何让Java虚拟机启动jmx端口不在本文叙述,参照tomcat多实例启动中,对JAVA参数设置的方式)

 

这里可能你会注意到,有多个Connection,对的,这个插件可以用一个collectd收集多个机器的jvm信息,但是做不到收集其他机器的物理信息,本文既要监控jvm也要监控部分linux物理数据。

 

文件头部有个配置插件JAVA插件程序的地方

 

这个东西,需要去clone相关代码然后自己编译

https://codeload.github.com/egineering-llc/collectd-fast-jmx/zip/1.0.0 下载地址

package后,拿到对应的两个文件,上传到插件配置的对应位置,文件名字不要错了

 

打开如下插件的注释(配置的就是influxdb机器的ip地址,端口不用改,默认和influxdb.conf 里的collectd是一致的)

LoadPlugin network

<Plugin network>

Server "127.0.0.1" "25826"

</Plugin>

 

重启collected

sudo systemctl restart collectd

sudo systemctl status collectd 老规矩看一眼状态

 

3.配置grafana

初始化配置这里就不阐述了,基本的账户密码什么的。

grafana配置分为两部分,配置数据源和导入看板

默认账户密码 admin admin 重置密码

 

添加数据源

 

 

保存,会有提示成功还是失败。

 

添加JVM看板

 

1503是看板代号,可以去grafana官网搜索你需要的看板

https://grafana.com/dashboards?dataSource=influxdb&category=collectd&collector=collectd

 

选择数据源,改标题名字

这个时候还没有数据源

 

配置jvm监控成功

接下来需要collectd linux 的看板,我们去官网搜索下

我用的是server-operating-system-metrics_rev2.json 这个看板

 

还是之前那个创建看板的地方

可以上传文件,可以直接粘贴json

搞完就成功

到这里,环境搭建完成

 

 

 

 

我们可以从这些看板中,合并出自己需要看的内容

创建个看板,名字随便起

创建完成后 保存

 

 

 

 

 

编辑刚加进来的看板

 

 

自定义看板设定完成。

 

 

环境搭建总结:

1.多种软件衔接可能会遇到各种各样的问题,例如网络不通,防火墙挡住了,软件版本不对,配置文件没有衔接上等等。首先需要理解各种软件的作用,然后细查配置来一一排除,看这篇帖子的同学们,如果搭建遇到什么问题不要心急,慢慢来。

 

2.collectd并不是最好的数据收集工具,在官网上看到的推荐都是

 

当然没有最好的工具,只有最适合的,弄懂一种工具之后,其他的就顺风顺水。

 

最后,祝大家身体健康,提前……咳咳,欢迎交流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值