|
|
楼主 |
发表于 2022-6-11 22:39:49
|
显示全部楼层
2.5)安装Gnocchi ]5 V/ }% [$ ^
M' d% w0 ?; v2 j! |
yum install centos-release-openstack-rocky( i' s+ r( G! _
4 V2 N6 t* N3 u7 w" u7 d
yum install openstack-gnocchi-api openstack-gnocchi-metricd python-gnocchiclient ceph-common -y7 j$ s& }& L! z, m. b7 L4 d5 Q& ?
% t" M) b) }6 ]+ V
2.6)编辑配置/ m* F; i& h$ P" }0 u i
- A" J9 b4 S6 f9 J# /etc/gnocchi/gnocchi.conf:服务运行参数* e5 w) \- l9 V( [$ x9 Y2 V; @
: Y: T- j$ a) R' u( o 0 l3 I$ s8 A, g
$ n0 Q. Q, ~* P% O! V+ K* A" F. ]
[DEFAULT]
6 R& A* {7 U% w M# L
; _2 Y4 L: }5 C6 Z5 X9 u% `- Udebug = true
* O' W1 N' V0 [3 G4 D1 S1 V, y R& P; W/ p1 a2 [ w
verbose = true: ~/ g _: S& b6 q: z
; R, g7 z) O) H4 ]/ C1 m2 a, L! zlog_dir = /var/log/gnocchi
& L5 G6 h& M- k0 K' D4 U8 W0 x$ t- `) q
parallel_operations = 45 y5 I. N& a! Q2 R2 a0 G8 g
' Z c$ g, ~3 i. tcoordination_url = redis://controller:6379
$ _2 e/ W5 F& N
" l3 _; c% f$ X3 k' j' E( D& F[api]
* N& ?2 m4 {! \+ ?1 ~. x
, M/ \1 ~) `# o7 d9 \# \3 z: uauth_mode = keystone \5 \1 O5 t {: `9 O
) v7 a* e4 T- I L- y0 t! Q
host = 0.0.0.0
/ U1 o% P5 y* W7 A: x8 M# _0 `5 U. x4 r+ a9 J
port = 8041
: T4 X: X" a9 U3 `/ }; ]$ o2 v; m# K3 p% F* n0 T( z) o
uwsgi_mode = http-socket6 _) ] H! i% I( K2 f" `& b: c i
4 h8 A/ T& z7 w, {' z% U
1 S c, z: O$ T' b( s) T
8 w& z) K0 `$ g
[keystone_authtoken]2 P3 }9 D' W) a$ {
2 C8 `$ j! w# Q+ T3 P
region_name = RegionOne P* n7 y$ l% K4 B: p; u+ P
' z+ r4 J4 R) _" n3 d1 ]' w. c! nwww_authenticate_uri = http://controller:5000
9 h# e/ |. ?8 i r+ P) B0 w% Q* v6 p
auth_url = http://controller:5000/v35 a9 v7 e( F3 i5 x6 _- U9 o
* ?8 [8 ~( S* U2 O; ^# U" w9 tmemcached_servers = controller:11211( {& Q# p0 g. C. \ ^( K( H8 J; D
0 u, o6 J8 E2 g2 R; vauth_type = password
+ @$ r7 t# S7 h) @# E: o5 h8 U; D+ p, A1 Z$ r: Z2 ]- \5 f
project_domain_name = default/ O! z. E; S9 n+ H2 \" r- s
6 H3 ^4 ~$ ^/ l0 B+ u V: M
user_domain_name = default2 U! V7 k3 _; o; s, }
6 N \3 p5 D' M$ Z" lproject_name = service& g8 J) @ {# ~# ~7 G1 L3 H
) s. J, z$ Y1 @4 T# {username = gnocchi
2 u1 H# R* J4 n$ D4 W' Q# w
! |7 `9 U% `# z5 ?password = gnocchi* K N, H Q( [! w& `% w( ^
$ `! ?+ R/ X: H! E4 l' v# e3 w
service_token_roles_required = true+ U ?7 g E; a8 _2 P# \% v
$ i$ u! {) | n$ X0 p2 ^2 R) b
) G9 h1 ~9 K- i
7 u3 t$ f: H0 P
[archive_policy]3 m- U& i$ f2 t) z+ n4 A
0 _6 [! G% y0 P) f0 n
default_aggregation_methods = mean,min,max,sum,std,count
: F e% x+ r1 H, ]
6 y: J L5 h+ a# F5 m* V
. n8 B: q% |3 D( f$ ^% T0 A. a4 n; t* u! h
[indexer]* u& I! W* I; }) Q% u+ B* Z
% u( o. [+ ~- W- gurl = mysql+pymysql://gnocchi:gnocchi@controller/gnocchi
+ f# b! T6 b2 y8 U/ R
* Z7 `7 n! } ]" w8 G7 f[metricd]
, K- _& |' B! i3 T3 f$ d' Y# Y0 T# ]1 w0 p3 @
workers = 4( S# i9 S( v& u, R6 [( @4 P3 [' q
& n- |+ Y. i3 U) G6 P- y
metric_processing_delay = 60
5 [6 @. x I* L! S6 p5 V9 S5 N
greedy = true3 [5 b! W* h+ s1 r2 h0 v
: {5 @0 a g/ W. ~! Xmetric_reporting_delay = 1206 D, E" z& Z9 \( f3 L# D8 X
, E+ F' B( Q& m" `0 S9 t7 {8 c) rmetric_cleanup_delay = 300. }4 r( Z+ h! U$ M- E/ T+ E
! C2 ]" x* A' w
$ G2 z4 h+ v% @5 g( A/ z1 @) a
[storage]& n! \% i0 o9 i* H0 K
) }/ n) d+ O8 }; C#driver = file1 v& E+ r% O7 O/ p, e8 u# Y
$ `1 c0 i7 g7 M$ ~! o5 w- |7 T" Y. ^: c
driver = ceph- [8 l- L4 y' P& K4 q2 [# d5 Q
8 o/ ~+ T& W* q& Z' P% A: `9 q! ]ceph_pool = gnocchi
0 H6 m& O3 W4 { N9 Y" i, g! m T
4 @1 l$ _8 C. g9 gceph_username = gnocchi
: |7 z1 Z& e( H g. B1 u. M/ E8 s' }. G5 i6 G, a! K, l! [
ceph_keyring = /etc/ceph/ceph.client.gnocchi.keyring- l; |# E( ~" E& P: m
2 z# ^# F" K; v
ceph_timeout = 30
8 ^3 n) m. W7 _5 s3 h, d6 e% m. |8 a' `! o+ x$ `5 Y5 f, i
ceph_conffile = /etc/ceph/ceph.conf
. v1 ~" N) t' A4 c3 d: }
_7 L3 X. r( J$ Z# wfile_basepath = /var/lib/gnocchi
S* i4 ^: P& B1 S( y
5 w( L7 S+ ^) J6 s" h/ V7 Bfile_subdir_len = 2( _0 m1 [* B' q6 C5 O
; F& I: }+ k, W$ b8 q8 E ( C4 M: G H( t% h, _
! [9 i0 Q; d, m
[cors]
" r" E4 E% i6 x. D
# f3 L, S. q. W' N" M8 }7 I: \* H4 l) Vallowed_origin = http://controller:3000
! j3 H) i: D5 \
, _, ]# I4 f7 [3 c+ O9 N. h & n$ b# h% Y H0 ~( S5 p+ G0 d
* o* n* G2 t' s* ?; ^/ r* n8 u' s# 初始化数据库
1 s2 g! F1 ?, H, J6 Z/ R
; ?/ B. b/ \% J. vgnocchi-upgrade! p0 V0 Q2 A& S* I J
3 r# y! O% ~# [" R. V6 `; z) W6 L
# 安装uwsgi(这里仅仅提供python2.7环境的安装方法)! t0 r1 d* J" s V9 K/ P! o
+ H( M5 ~" [1 s6 g5 J
9 t5 P' |( L, H2 ^/ D% [! ]% u2 Q4 ]) e/ J
# 1、setuptools的安装# G" [' [3 E8 C5 W! Z) k/ b! Z
6 A! N' ^6 y+ B! ?+ wwget --no-check-certificat https://pypi.python.org/packages ... tuptools-2.0.tar.gz$ g# g# T- ^" @ M3 u
$ Q' r, H6 \! a
tar zxf setuptools-2.0.tar.gz2 I0 A$ f5 h$ J( k0 G: I
4 q; T' G# g* W
cd setuptools-2.0
! ]. [2 n5 L+ F# @- P {/ b8 E# u5 r: Q" f$ V4 E
python setup.py install
6 Q# _7 i+ T5 b! m; W5 ?
( l5 j! M* p% J1 s! x# 2、pip的安装$ G8 k' }' G; ?: k' [$ Q$ R
, W0 q, ?. x2 |( ?2 ?wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate1 x3 k& I0 o7 i" E7 z" X; S
7 p2 K# I% V1 Jtar -xzvf pip-1.3.1.tar.gz. I; o5 l& L. C8 z/ c
" l% x* b9 x3 u- V1 ~$ F
cd pip-1.3.17 i2 i6 S7 X8 ^$ B; M
, F4 N: J r. d8 W0 |2 S& d
python setup.py install
+ z+ d. v9 T+ D$ f4 S
6 I2 ?; z2 Q& ?. h$ L3 D1 s# 3、修改环境变量
4 X. ]6 ^/ t+ o0 v4 ?& T. t, h5 X: l0 [. i, p
# vi /etc/profile2 w% |8 ^" I$ d
) e0 {- ^( d$ @1 e0 N- f8 P
# 在最后的export PATH一行的最后面添加:* f) ^' [3 Q w) H3 L
4 f% H- M* r6 Qexport PATH=$PATH:/usr/bin
- k' T q! k* g# p1 b0 Y! w; D: B2 K3 w: h, ^
# 4、安装依赖包5 u3 \+ J8 ?4 |; T7 f6 x$ J
8 v5 a0 i& Q( O$ `, t; {7 d
yum install gcc* libssl-devel libffi-devel python-devel build-essential libxml2-devel libxslt1-devel" w- Y. Y+ f' N! @
" D* f q; i4 g2 [+ ^
# 5、安装uwsgi" ?, N. ~3 w* E" C" H: J
2 T/ M5 \: K' L' Z! S! cpip install uwsgi% v% ]( y6 l/ G0 F+ W3 o, D. y
2 Q2 H5 r3 V3 m/ g, d
: A) {8 a% V0 I h
# q; j' j& P- p8 @1 |4 p# 启动服务 j# y3 V) c) S6 C ^0 c
3 ]) s4 r" P1 ^! C8 Tsystemctl restart openstack-gnocchi-api.service openstack-gnocchi-metricd.service8 _2 p0 p* h# z7 o
}0 C/ Z) q0 m2 @9 o' A1 ]6 c
systemctl status openstack-gnocchi-api.service openstack-gnocchi-metricd.service
1 j6 S5 h! a& T& L3 R" asystemctl enable openstack-gnocchi-api.service openstack-gnocchi-metricd.service5 C$ y/ Q( v5 V) p3 P
- r( Z" ~9 l* A6 C0 g6 O2.7)验证使用
5 @$ y6 s( y) L3 M
3 S2 y; h6 n; W; a+ y" s2 `# 查看归档策略# I1 W, E2 U! `) L
( H/ {" y" ^; N M5 K
openstack metric archive-policy list+ V2 I! d( f3 \4 ^8 s% N
8 @/ q* G+ x( s% U
归档策略指定计量数据的聚合计算方式,包括聚合方法(mean、min、max、sum、std、count),和计量数据的统计时间粒度、数据点数。根据时间粒度和统计点数可以确定计量的时间跨度,根据一个数据点的大小在0.05 bytes~8.04 bytes,就可以确定一个metric需要使用的存储空间大小。Gnocchi内置了bool、low、medium、high四种归档策略。
8 u8 T) \0 z( s9 m4 j2 P0 l# ~, N3 P* Q2 x9 g) }
# 归档策略的作用单位是计量项(metric)。查看归档策略规则
& o L" v8 m1 {0 a! U+ B/ Y, [: b; J" K4 D; _+ {
openstack metric archive-policy-rule list; J- v5 }0 z" C% t3 N; d; ?/ S
7 f4 M% Y; o2 A5 d1 M) a默认规则将所有metric关联到low策略,metric使用通配符匹配。# k, d, d9 x5 \7 N* n, B
+ s& r" z* h l. q! m* u |* l: T$ t
# 查看资源列表
! j( \5 s! p O6 E' l3 p0 z; s! @5 l8 J% C% P7 f
openstack metric resource list8 e0 q# O. W2 `! B) X
5 N# u* V7 l( t/ @. h
资源对于OpenStack各个项目中的逻辑资源,比如实例、端口、镜像、卷等。由于还没有对接Ceilometer,所以列表为空。在Ceilometer章节部分可以看到最终结果。
: f/ @1 v! U' G# I! V% ~! _
4 M; I# g% j( v1 o. p5 S# 查看metric列表
! `( l7 P+ |7 q; B) z. o1 ?1 u
5 \! ~+ G% N! k' s3 t! ^openstack metric list! w( E5 L# i# A2 A2 o
4 h" J8 o% ^1 |/ j lMetric是资源统计的基本单位,一个资源会有多个metrics,比如实例资源有cpu_util、memory.usage、disk.root.size等。( {+ Q3 B/ {- O, r
; o: T k4 k* }( ?
# 查看计量数据
) r0 p- J2 a- z, V3 I3 T" Q0 J3 |/ L
openstack metric measures show {metric_uuid}4 J2 y& G5 P8 L4 [ h
) O2 [- O I7 b
Measures就是Gnocchi中最终保存的计量数据,即每个metric的数据点。 |
|