|
|
楼主 |
发表于 2022-6-11 22:39:49
|
显示全部楼层
2.5)安装Gnocchi$ ^* }1 ]% u0 l& v
+ h" P' _& |9 ~5 [& D
yum install centos-release-openstack-rocky
1 V+ k/ Z6 E5 ]- f
3 H2 Y+ r, n7 P, \7 q, X# _yum install openstack-gnocchi-api openstack-gnocchi-metricd python-gnocchiclient ceph-common -y
) k% q% S2 o( a+ M- Z4 ^( R5 X8 v3 [6 L7 d
2.6)编辑配置, r: R7 C0 E! g" Z
; W3 l, W' z# G8 }
# /etc/gnocchi/gnocchi.conf:服务运行参数+ O* @ }1 {" ?# [; A' g
9 X9 {/ N4 M% ~# }( S8 ?7 A
# I% h9 ]+ y. ~
# @: |4 Y9 |8 N7 v6 F
[DEFAULT]
: B& `' L6 S1 m/ Y# \& U4 n5 l
+ @% f* ^+ G" Idebug = true3 Y3 d, E% ]9 F& [( ~" V6 w' o
$ _! \* z9 h) p8 l/ l; i, ~8 Qverbose = true6 ~8 H/ y+ ]- E5 X% T
2 u$ _- d( u' E5 Y* r
log_dir = /var/log/gnocchi
' c* [) [( d9 V, E( w' }" F" `8 C, @5 ~" d! b: q" a- S
parallel_operations = 4+ A# q6 L4 [6 T$ L9 z( k
( V- y6 q5 o& o1 `coordination_url = redis://controller:63798 j. O; X- W4 @1 R( k
1 x& x5 Q1 O$ z7 B. E
[api]
2 A4 i- ^ M$ Q1 A3 b
+ E9 n/ G! V w1 X2 m! p1 pauth_mode = keystone
) v* u1 s/ P0 b% O; ^8 M1 n4 {
- e+ P6 ^" {" }& Z$ a7 ohost = 0.0.0.0
2 f2 [9 }9 ?! s. R/ z- B* Q
7 `. b, V$ j! uport = 8041
0 a; V& V1 }1 g( ]6 F. f1 T
! m4 `* D8 ~* X6 r; l8 X' _uwsgi_mode = http-socket
" P9 G5 [4 L* g3 T( S- L! P
! p; f9 [5 g* O/ d5 j 0 c2 s3 Q2 f4 ~8 a" T/ X- }; c+ F
5 `* k6 i6 j3 m6 O
[keystone_authtoken]9 E' e6 |1 |& V( o- g% ]
2 P: H- g) m( W% Y' G; F6 Kregion_name = RegionOne
# H/ [. S0 A! X3 V E# S8 z. v5 a! Y! P' H
www_authenticate_uri = http://controller:5000
+ R: F- m8 O! ^) N+ W8 P2 [3 H+ e; v5 j* r0 S% U
auth_url = http://controller:5000/v3
2 C9 s# Z2 V/ Z; b6 w% X4 Y* n. b/ V" E" s3 p, f) h
memcached_servers = controller:11211, E1 {8 B1 K2 \' f! i6 _2 r# @* R
; b9 L! l% h5 z. ^auth_type = password% Z6 { o; Q# p& W! ^
* ]& K9 ?# C& g! Uproject_domain_name = default
' e9 |6 C0 h0 O/ _" G6 l! F- J6 x. t! I) w7 \( ^; E9 b
user_domain_name = default
. b6 b' V7 }* j6 a& l' N" T, s- d4 H
project_name = service
# t4 M' I+ z3 ~
z5 o/ A% d: s1 kusername = gnocchi U9 W. e" y# C2 U
- \9 ?, g8 Z3 l4 ?' m
password = gnocchi+ l( w3 o, v; F; r
7 S u9 v2 i: n7 ^" b$ n# p& o sservice_token_roles_required = true. `6 E: r( \$ {3 M
, f: T5 u8 a( y0 C2 g
X5 I5 \" G& Z9 N1 m5 I
: |" q0 p7 h3 A# I* L9 i' q* ^4 O
[archive_policy]
5 w4 [) N7 V! L$ ^2 g
% Q& a/ H/ Y$ t1 fdefault_aggregation_methods = mean,min,max,sum,std,count8 Y/ W m7 j8 [1 q5 y$ n- G1 E$ d
* H7 d& m) \5 m% _ 9 I* t! S- W4 a1 h9 d
8 b7 Q [# u; S9 K8 X[indexer]3 e$ T! H7 H; D5 R% i0 U$ [
' h' f! r* A! |6 u2 G
url = mysql+pymysql://gnocchi:gnocchi@controller/gnocchi
! d6 l' h1 \' R# H3 \6 U) k
5 F* y% X" A+ p# u; @! \8 r0 c[metricd]( V% ]6 Q( r& k" P4 M) g( W6 }
! I9 F% r5 x T5 X7 h
workers = 4
/ S8 [: r9 n+ B! C- u) `) |7 u( u" F" X+ N5 ?
metric_processing_delay = 60
5 G, s* J! W+ V l- s7 [7 k$ Z9 w
* t0 t0 K& ?1 H/ _greedy = true
7 e" s* n# a8 X( C' g4 p
) C) p f( `7 T! b, Dmetric_reporting_delay = 1207 a9 \' r* m$ a! S" l* L
- e, `+ I0 V+ c& L& C1 ~metric_cleanup_delay = 300
+ e4 S/ L( G1 ^- p6 `2 S2 k9 G( ?3 @ t- m$ @1 F: \+ ^
/ p8 ~* G/ U' F5 I1 D: N
" g2 o1 L8 |& R. g5 @[storage]
, d$ x8 i: A3 ^1 \/ P. c
4 @! _( }, T7 e4 l#driver = file6 U+ C) L0 {$ D* [
6 @# Q6 I' N/ Y1 Y- g1 I) Odriver = ceph
; |) Q# P: v9 K. G
- m6 Y. |6 _; vceph_pool = gnocchi
+ e' q8 F9 U5 v4 s1 h- e5 F7 K9 n2 q e
ceph_username = gnocchi
7 ?) R* J! r! F) U' V# w/ {) O- v% l; J9 |
ceph_keyring = /etc/ceph/ceph.client.gnocchi.keyring
/ h0 V7 g K$ j( |# ^1 B7 d6 u! T" |- F, b, [ [& Y
ceph_timeout = 30
H! m6 [6 E) G1 n
2 I, R- g* t9 W( D0 Dceph_conffile = /etc/ceph/ceph.conf- E: o( Q. p3 h! r& a
: @% i/ v- A. c6 g9 z% R9 Dfile_basepath = /var/lib/gnocchi% H% R4 E# u' ], F B
9 M! Z( A% ~1 Yfile_subdir_len = 2
: W9 ?8 ?* {+ S7 V5 v
, ?- A' c; V! K+ X ! N( A, i& m) l1 a$ a# L
; t$ M/ L; {4 Y( k
[cors]! w4 T8 l& y6 @2 v" W4 o
( X* D3 e: i& \ Z+ U Lallowed_origin = http://controller:30003 e' Z o! r5 m
! N+ w p! |5 c* s4 o) P
% D$ D( r5 V6 K
6 c( `* ?5 b5 c B5 y# 初始化数据库
" }& t0 c6 S) s! E" W; h6 v. |) s. H9 Y2 ]2 P' ] @0 H# K
gnocchi-upgrade$ D2 f/ }6 \; V4 ]+ m! Y1 P
; p4 c( l; s: h, f. m# h# 安装uwsgi(这里仅仅提供python2.7环境的安装方法)* G( c5 i. {7 x$ ] f/ ?0 y
" v2 h0 c# B [; L: y2 m' L1 ^5 C
, I z5 D, A$ d0 ?/ |0 F9 |# Y) T T! a8 l0 A
# 1、setuptools的安装
i6 x0 S; x# d( F1 b/ k; ], k5 z& `; ~0 f
wget --no-check-certificat https://pypi.python.org/packages ... tuptools-2.0.tar.gz- e# @+ o9 Z& t1 o
# J% L# b. f% Q; ttar zxf setuptools-2.0.tar.gz
4 R) O& F- [+ i" h! e
. s/ F& V- p# O/ ~% u D: l) ~cd setuptools-2.0# U, O2 i" D4 G3 I# J, G7 W) a
1 ?$ _7 `4 M: N/ Q. l: a1 a/ Y
python setup.py install( N6 N0 w1 B& N4 Z; f# |
) P* b9 [% g5 J% O3 B
# 2、pip的安装
$ C* n5 P. b$ A8 d# ~9 X
8 d$ Z3 ]) C2 X. awget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate) o6 F: Y' `& e% G( S
6 O2 c( R2 [$ s& star -xzvf pip-1.3.1.tar.gz
$ h8 X$ G1 |6 J* Y) Y; T$ M# z$ F+ _& ^
' H6 L* @2 E% ocd pip-1.3.1$ c: d; V% ^7 H1 B5 [% I% ~
* ^( g- C( c# h1 Qpython setup.py install
. f' O9 O; v e
) O% V- r5 a5 ~; k# 3、修改环境变量
8 W+ v+ p6 Q6 O# ^1 y9 Y6 n- Z' V9 A' T- y
# vi /etc/profile
5 n1 ?5 s3 z$ [+ g U7 m, n
! b/ B( I6 n/ ]: [" ~, O# 在最后的export PATH一行的最后面添加:+ t L0 B J4 Q) d$ ?; F
; q4 a8 @" Z& g' C1 H. s
export PATH=$PATH:/usr/bin7 w$ n8 w5 r* T( g6 E; e9 a( Z
* O* J* x0 z/ @5 I
# 4、安装依赖包
0 S! Y$ G2 y/ l3 ~
1 E2 f- e# `4 N" Y7 G8 a1 Zyum install gcc* libssl-devel libffi-devel python-devel build-essential libxml2-devel libxslt1-devel3 T4 {$ Z0 X' U$ G/ c1 o
4 X3 n3 A5 t/ ?( i0 x( ~7 o# 5、安装uwsgi
- s# V2 {4 k0 u! A* ^# `
2 Z! i7 O# s" m+ }/ l+ Z8 Wpip install uwsgi
: R" n4 x/ M; Z: \7 X' l9 C
5 }# n* ~! M3 E( ]3 A ! S* _& o, W6 M% l% Q* L. i
/ ^- {' C% U D+ y$ t4 `1 n* k5 s+ L
# 启动服务8 M6 P8 w' E2 c. F9 ~- K @
5 d% U; J8 ]3 [systemctl restart openstack-gnocchi-api.service openstack-gnocchi-metricd.service
8 i# V% A4 t6 S4 {* M/ ?( I8 J O2 ?. ^$ N
systemctl status openstack-gnocchi-api.service openstack-gnocchi-metricd.service2 t: J0 P' k; O
systemctl enable openstack-gnocchi-api.service openstack-gnocchi-metricd.service
% C& X1 {4 h5 G, o8 \; ^ b' o
) v" u6 S) t4 p l0 o7 o6 w# L3 w2.7)验证使用
# Y; N e0 _" M6 y* H% w$ [; H# t0 q7 C* \& E0 F! E3 U
# 查看归档策略* l& N4 H# r6 V4 N6 h( K2 k
, c+ D; V }! t/ ^* g
openstack metric archive-policy list
, Z. f2 S1 b% g" K: @3 Z
% P! M, ^% A1 I* n7 K0 ^: g# [归档策略指定计量数据的聚合计算方式,包括聚合方法(mean、min、max、sum、std、count),和计量数据的统计时间粒度、数据点数。根据时间粒度和统计点数可以确定计量的时间跨度,根据一个数据点的大小在0.05 bytes~8.04 bytes,就可以确定一个metric需要使用的存储空间大小。Gnocchi内置了bool、low、medium、high四种归档策略。: I: T, J# z+ O$ q+ @$ X
0 {8 a* f$ ~% o9 l# 归档策略的作用单位是计量项(metric)。查看归档策略规则
: N) u( e' M& V, h! A# G7 W3 f% x, L* X3 v/ L6 o& i. k* H9 c3 p
openstack metric archive-policy-rule list- t8 |* k X8 _, ]" d% U: v" ?
' i4 M! p+ V9 u. ^
默认规则将所有metric关联到low策略,metric使用通配符匹配。
& W9 o+ q% E% ?4 J8 @$ u5 \6 L+ U
# 查看资源列表) D! I! z# y" k1 y- E
- h+ b. B/ O$ ropenstack metric resource list
; Q+ d4 A7 y2 W7 p( D" i1 E. o
% N) V7 W% V: L7 h资源对于OpenStack各个项目中的逻辑资源,比如实例、端口、镜像、卷等。由于还没有对接Ceilometer,所以列表为空。在Ceilometer章节部分可以看到最终结果。
+ ]6 m; T; H4 A5 c9 Y. ]# U. P* `8 J) Y% }) j9 \; o! q
# 查看metric列表
2 p0 y+ Z; ?7 G& a q2 `
. B3 q( [. F9 K* N8 Topenstack metric list1 h$ C+ Z1 ] U; M2 c3 l
9 z: m$ z" \! u- q1 G- U
Metric是资源统计的基本单位,一个资源会有多个metrics,比如实例资源有cpu_util、memory.usage、disk.root.size等。
8 T6 S6 t! E' M' Q9 G; O1 }2 `
# 查看计量数据3 G- o v" M- G7 | \
+ J3 o( I1 [; u2 g9 T+ P% L" ropenstack metric measures show {metric_uuid}
+ K' ~. P9 Q9 s& }3 P; C2 o% ]0 y( b! f+ z1 L5 P* Q9 s4 Y
Measures就是Gnocchi中最终保存的计量数据,即每个metric的数据点。 |
|