设为首页 收藏本站
查看: 2080|回复: 0

[经验分享] graphite+grafana监控openstack和ceph

[复制链接]

尚未签到

发表于 2017-10-31 16:23:50 | 显示全部楼层 |阅读模式
本文环境:CentOS 7.3.1611,openstack+ceph
架构图如下,服务端部分可以分开也可以部署在同一台主机上:
f6eca30fda44e334cce9b5a3956d3578.png-wh_500x0-wm_3-wmp_4-s_1121111994.png
一、添加epel源和base源,安装carbon和whisper,whisper用于存储监控的数据,类似rrd文件那样固定大小:
1
yum install python-carbon python-whisper



编辑whisper存储规则,以下是自己写的规则:

1
vi /etc/carbon/storage-schemas.conf



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
[carbon]
pattern = ^carbon\.
retentions = 60:90d

[vms]
pattern = ^instances\.
retentions = 60s:30d,1h:180d,1d:2y,30d:10y

[cluster]
pattern = ^servers\..*\.CephCollector\.ceph\.mon\..*\.cluster\.
retentions = 60s:30d,1h:180d,1d:2y,30d:10y

[CephStats]
pattern = ^servers\..*\.CephStatsCollector\.
retentions = 60s:30d,1h:180d,1d:2y,30d:10y

[cpu]
pattern = ^servers\..*\.cpu\.
retentions = 60s:30d,1h:180d,1d:2y,30d:10y

[diskspace]
pattern = ^servers\..*\.diskspace\.
retentions = 60s:30d,1h:180d,1d:2y,30d:10y

[iostat]
pattern = ^servers\..*\.iostat\.
retentions = 60s:30d,1h:180d,1d:2y,30d:10y

[loadavg]
pattern = ^servers\..*\.loadavg\.
retentions = 60s:30d,1h:180d,1d:2y,30d:10y

[memory]
pattern = ^servers\..*\.memory\.
retentions = 60s:30d,1h:180d,1d:2y,30d:10y

[network]
pattern = ^servers\..*\.network\.
retentions = 60s:30d,1h:180d,1d:2y,30d:10y

[default_1min_for_1day]
pattern = .*
retentions = 60s:1d



注:监控字段可以在diamond的日志(/var/log/diamond/archive.log)或者grafana查看。
60s:30d,1h:180d 就是30天内的数据保存间隔为60秒,一个月到半年的保存间隔为1小时,规则是按顺序匹配,不是最长匹配,所以 default 规则一定要放最后,default设定为那么小只是为了不存储不需要的数据,diamond监控的字段太多,不需要全部存储。
carbon配置:
1
vi /etc/carbon/carbon.conf



[cache]部分,MAX_UPDATES_PER_SECOND(每秒钟最大更新条数)和MAX_CREATES_PER_MINUTE(每分钟最大创建文件数,diamon客户端首次推送数据的时候才会创建whisper数据文件)可能需要调整一下。
启动carbon-cache:
1
systemctl start carbon-cache



二、客户端安装diamond
(1)每个被监控的客户端都需要安装agent程序
在python官网上有,附链接:https://pypi.python.org/pypi/diamond/4.0.515
解压后 python setup.py install 即安装完成。
(2)配置
1
2
3
cd /etc/diamond
cp diamond.conf.example diamond.conf
vi diamond.conf



# Graphite server host
host = 127.0.0.1 #填上carbon-cache服务器IP,本机的话可以不修改。
[[default]]
hostname = test-node1
# 60秒推送一次数据
interval = 60
(3)配置监控项,diamond可以监控的项目很多,包括ceph、libvirt、mysql、haproxy、nginx等等等等
1
diamond-setup



基本上一直按回车就可以,由于项目太多,用setup也是繁琐,直接把需要监控的项目放到/etc/diamond/collectors/就可以,具体内容可以参照diamond-setup生成的配置文件。
(4)启动
1
/etc/init.d/diamond start



至此,监控的服务端和客户端已经部署好,接下来的是部署用于展示的web服务,可以使用 graphite-api + Grafana,也可以 graphite-web,graphite-web是基于django的,需要安装的东西也是一大堆,而且用户体验远远不及Grafana这个专业展示软件。
三、安装 graphite-api
graphite-api的作用只是向grafana提供访问whisper数据的接口。
(1)安装
1
yum install graphite-api



(2)配置
graphite-api默认启动 127.0.0.1:8888,故需要外部调用或者使用其他服务端口的话,修改/etc/sysconfig/graphite-api的GRAPHITE_API_ADDRESS=0.0.0.0或者GRAPHITE_API_PORT
配置文件 /etc/graphite-api.yaml 使用默认即可。
(3)启动
1
systemctl start graphite-api



四、安装grafana

grafana是个很流弊的画图软件,支持很多种数据源,展示图形也很多种。
官网下载地址:https://grafana.com/grafana/download
(1)yum本地安装,自动安装依赖包:
1
yum localinstall grafana-4.4.1-1.x86_64.rpm



(2)安装mysql-server并创建数据库:
由于我的grafana直接装在openstack的控制节点上,已经安装好了mysql-server,直接创建数据库:

1
2
3
CREATE DATABASE grafana ;
GRANT ALL PRIVILEGES ON grafana.* TO 'grafana'@'127.0.0.1' IDENTIFIED BY 'grafana';
FLUSH PRIVILEGES;



mysql在这里只是储存grafana的用户信息,dashboard信息等,不会保存监控的数据。
监控的数据是直接调用graphite-api接口读取whisper数据文件。
(3)配置文件:/etc/grafana/grafana.ini
配置url、mysql连接信息,禁止检查更新、自动发送"使用计数"给grafana,登录界面不使用用户注册功能。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[server]
root_url = http://0.0.0.0:3000
[database]
type = mysql
host = 127.0.0.1:3306
name = grafana
user = grafana
password = grafana
[analytics]
reporting_enabled = false
check_for_updates = false
[security]
[snapshots]
external_enabled = false
[users]
allow_sign_up = false



(4)启动 grafana :
1
/etc/init.d/grafana-server start



五、配置监控
(1)浏览器登录 grafana,默认初始用户名密码是admin/admin,在grafana.ini可配置。
(2)添加数据源:Data Sources ->Add data sources,输入自定义名称,Type选择【graphite】,url为graphite-api的地址和端口,默认本机8888端口即 【http://localhost:8888】,Access选择【proxy】,其他不填,点击保存并测试连接【Save&Test】,正常返回为绿色背景提示文字
"Success
Data source is working"
(3)至此,全部部署完成,直接在页面上添加dashboard->添加panel->编辑panel即可。
附上监控图两张:

20f1055351084162657bed0f146202fe.png-wh_500x0-wm_3-wmp_4-s_2787219330.png
40c75ed8abd741f9d9cb7d851066ba98.png-wh_500x0-wm_3-wmp_4-s_2134676386.png


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-406351-1-1.html 上篇帖子: ceph环境下 测试磁盘在写入时cache盘的占用情况 下篇帖子: graphite+grafana监控openstack和ceph
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表