|
|
楼主 |
发表于 2022-6-11 22:39:49
|
显示全部楼层
2.5)安装Gnocchi- M! {, Q) ^( a# p
. b' G, |" X6 @
yum install centos-release-openstack-rocky- r) L2 m; o6 w6 m3 F- @; m
* U% d2 w7 N& ]8 w6 @yum install openstack-gnocchi-api openstack-gnocchi-metricd python-gnocchiclient ceph-common -y
: T) R% m8 H0 z2 y2 }# Z4 R4 Q0 [ @/ P' a: K$ Q: g' L
2.6)编辑配置
. s$ m: t) z6 H# E# z8 E) T3 C0 ]; p5 C) t0 ]. E/ D
# /etc/gnocchi/gnocchi.conf:服务运行参数% {3 h6 w& |: B. n1 j+ x1 S
8 x8 e1 Z5 k9 ~+ c& N# P
, R) v2 W" k9 c! f0 ?' N1 f( D; q. r+ G$ D
[DEFAULT]' r* j, O' g( z: Q# u8 S8 F3 a
2 D3 X) g7 o) o' Y! Q: L$ ?
debug = true: p4 I5 s1 E; s5 f$ m3 O4 r1 e
( J5 X: ?# ^0 ~- pverbose = true
1 f( J6 A* h/ N* N1 e/ u( V, R8 h7 x2 x7 H4 g6 I$ F+ G. ^1 o4 J
log_dir = /var/log/gnocchi8 c3 T; O7 Z/ T( L3 q4 C
! E9 e; |- {/ `" w( j9 j
parallel_operations = 4
, Y$ U9 Z2 x T/ n4 n4 a3 y, D$ M/ C6 Y, p I1 o! R: l" G9 M* u
coordination_url = redis://controller:6379
7 e' J4 z' R# l6 z5 L. R6 Y8 d' _7 E; y' h( o$ g, o1 D1 H1 A
[api]
4 l9 R* F0 r3 I) e& ~4 I
! Q" b* ~* d# V; F% lauth_mode = keystone* W" z. L0 S) p" w7 C; V: |
+ I) c: J; a* u' k, q1 w! o+ dhost = 0.0.0.0
0 T$ j) H# } z0 `: Q1 R( e; M& s7 b9 T6 I5 x: `
port = 8041
; l5 G3 S/ n8 m: E
( s/ }) r8 T2 a/ |1 @9 Ruwsgi_mode = http-socket
3 u: K+ C" `2 u2 I- r. I9 q( e
9 z# W, Q h) n& f' L4 _/ ?3 k
5 y" M8 ?0 b) E4 k* o6 |( i
2 R4 i' o, V8 X. w1 O1 |8 W/ d[keystone_authtoken]" B! r+ ~. T2 X* i% f6 k9 h* a
* f3 a ?; C6 j, @region_name = RegionOne& P6 ]' j% H- @5 p! }% N; K) I% e5 I1 A
* p- L$ h$ q: Rwww_authenticate_uri = http://controller:50001 O* [4 a+ e; R# o5 n
- o6 `. Y9 U9 s& ], O1 @% nauth_url = http://controller:5000/v3; c# U( f( x* e
, r& L5 X3 J2 Xmemcached_servers = controller:11211
- `: J5 t: U! q3 N
4 Y* i2 x! F* i1 `" i, U) lauth_type = password& @: u* T W( \+ T1 J
- b! V) ?7 P* [& [1 [8 oproject_domain_name = default, N4 e' P7 L l4 D' ]; V
0 R% p6 J9 Q" \
user_domain_name = default
3 C8 G% D+ K& A& H+ k! N. d' G# w' ?" \
project_name = service
2 Q5 Q% h# l3 I8 {( M8 B1 K; W. ]+ B* F& i
username = gnocchi
: \# Q( Y2 [3 M. i8 z* ?
. V& Z+ ^# |* x+ D7 O; m l& K2 Zpassword = gnocchi1 o0 h" Z: o0 f0 ^
0 E/ \& s0 A' I" U2 G6 O! R$ Jservice_token_roles_required = true/ X5 u% v3 {9 ^9 v1 S/ \
" N7 t, r2 _) h3 Z
* {: s% x* R. w$ w: g% `7 o
z' K4 W# v1 G; s. v[archive_policy]
9 h& X; z8 z7 d( ?+ V8 z" M5 v2 a( z( j) S
default_aggregation_methods = mean,min,max,sum,std,count
) X4 _. j% \1 {
r+ A* y* S7 k3 E4 L/ [ . C2 o2 ^+ P/ L# r% X6 c! W& v& n
1 Z$ J( a. d' M: M- G! A ~
[indexer]0 b W& ^6 f! `3 j- ]" d1 d' M
+ l4 e; Y1 n3 }7 r( B
url = mysql+pymysql://gnocchi:gnocchi@controller/gnocchi. V; ?+ g; b# h) w
) l. N8 D4 ~5 N- N: f/ w6 R[metricd]
3 @" |5 X7 O7 K: S' A# K+ c8 Z! g& Y. a4 {
workers = 4) _7 G, z5 r4 |# g
7 e- w8 ^6 E8 d3 ~: r) G) ~$ }metric_processing_delay = 605 I/ M1 ?; z( h" p; R2 x
7 T' f( D! I1 G" G; T
greedy = true
2 _- x5 h# @5 h4 D! s
# ]! \3 U( d5 t+ zmetric_reporting_delay = 120$ y% Z7 N1 _% ~4 H
3 u# D1 a/ d& K; _ _, E4 @
metric_cleanup_delay = 300
+ r ?$ W3 C3 v% h( [! j: D3 K
7 M4 k' D5 ]5 L 3 P: c, v3 q( q; h0 R
+ @3 n4 g) \5 u9 I1 _ ?+ G/ Z, Z[storage]
, ]/ D2 i9 D8 _# I% R2 |( b k9 n- C9 z! d7 X/ ^. n3 ?( v- q
#driver = file
c8 y5 g7 _. T s9 F) S
( V/ O" K$ p# ddriver = ceph
) s, d8 K3 _' c; S: R% a) _2 [4 }! Z) Y2 H8 [% Z! Y
ceph_pool = gnocchi+ e# }$ c( _- E8 X8 V3 p6 _ z
# h7 z6 C* e& v9 g2 n
ceph_username = gnocchi6 \$ k# |1 l# r; H$ @ K1 S
9 k/ ]0 n, ^& \& O [ceph_keyring = /etc/ceph/ceph.client.gnocchi.keyring
& U b* G8 S- I) k
1 O4 {- J; P0 P5 Rceph_timeout = 30
% N8 K. J/ e( `5 P& O& N2 i0 d z& u5 M
ceph_conffile = /etc/ceph/ceph.conf
7 a/ S: y n5 b0 v
0 k2 M' X! S/ ?, g$ G' n2 Ofile_basepath = /var/lib/gnocchi' q1 n1 Y& S6 Q2 S7 _0 t, R. K
# Y2 E) v1 i8 ^" h" b: v* G/ V
file_subdir_len = 27 L9 h/ B- N& l0 L/ v6 W" F
+ j8 a- U$ @0 a2 f
. @7 l( v# S$ F
7 @( l: w( ]3 e a! {8 m[cors]0 S0 s1 Z1 P3 f1 I/ B" q
1 e* d) m3 f' b J
allowed_origin = http://controller:3000
0 d: f6 m9 F8 Z( K: a. V6 a1 V: z7 }: Y" d
5 @: g# r+ Y0 {
$ E* K; @; b5 T
# 初始化数据库
3 A$ v N5 |1 t6 }: Z
. k6 x J) B: R6 N/ {gnocchi-upgrade( Y- X8 A/ ], z" p# E; l2 t
5 b1 V9 p4 m1 W) g
# 安装uwsgi(这里仅仅提供python2.7环境的安装方法)
/ K$ `# Y' q& a% C }" M+ {
1 w c, G) q* @8 Q {. d" u( X' t 3 Z8 k0 _8 I& Z, b ]" l! c
4 |" t+ g" s# U1 R4 i0 v# 1、setuptools的安装 R4 \4 w% o' b+ G8 j* Z
- z% L: e v& y, S) c
wget --no-check-certificat https://pypi.python.org/packages ... tuptools-2.0.tar.gz+ J0 u! w5 L1 t+ M6 d. \9 n7 A
8 J5 M) e6 F8 x8 P5 n# S5 `tar zxf setuptools-2.0.tar.gz
% j; k$ x7 l) K' ^. b# l6 i% c4 a* P" D
cd setuptools-2.0
& [7 R* c% [/ ~7 h9 J* `7 I, x5 C7 F; { J% E
python setup.py install$ b/ ~: f4 J/ d$ e) q* R
, g3 f l. S, {" Q1 R# l* u
# 2、pip的安装
2 A- T: Z( ]( U( A8 e6 h. I7 s6 T3 v) O- J
wget https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate
! V! s4 I* }, I. e
) e7 `+ v! Q# ftar -xzvf pip-1.3.1.tar.gz- @5 \/ k( r# t% G ^: o: m6 A
, g o9 |$ L: D# [1 @! u3 |cd pip-1.3.13 v8 ~3 f0 ~7 K/ z1 ^
0 H, D0 |, ~1 Z$ K0 `- |python setup.py install
/ {% {0 N4 V: v9 v/ [0 g. ~' X% d4 @
# 3、修改环境变量
& x- x3 C" t' l- ^7 g4 y, ?7 u
" k O) G3 B8 {& t! V( e# vi /etc/profile
# Z' F7 b {( A' D, u) ^6 k/ |. w" X% M8 F/ @- _
# 在最后的export PATH一行的最后面添加:6 f% A; t4 G) R. W' O2 U
- O+ N; I) G3 `5 W5 s1 y, N
export PATH=$PATH:/usr/bin
4 q0 W+ b- m! N% Q
+ K6 _4 T8 Y0 [' q5 s4 \- I# 4、安装依赖包, e6 a0 U" r7 L. h
& l, T/ j5 x+ z! ^( {) N# [yum install gcc* libssl-devel libffi-devel python-devel build-essential libxml2-devel libxslt1-devel8 A$ k8 J" H# m4 m V; K: x( V0 [+ q
$ q4 P% y# ]$ G2 S0 \" M; z- F
# 5、安装uwsgi: B9 J1 `( y! F ~ J/ X8 h+ v
$ I- _4 A# \7 z7 w# ~4 {# f, A3 D* x
pip install uwsgi
# Q" l, y5 p) ?5 w3 F$ Q
: c3 ^. ?( z. c( P
p8 E) D$ M3 r5 D2 z5 p; Q( `7 n! ]) _3 D% R6 V# _2 Y2 ?
# 启动服务
$ D e. A6 D: ^) U+ f8 _8 S. S" F* r" U3 v
systemctl restart openstack-gnocchi-api.service openstack-gnocchi-metricd.service# B8 E$ c/ t$ j9 g# P% s v
$ h. [3 _3 h+ J6 T" Jsystemctl status openstack-gnocchi-api.service openstack-gnocchi-metricd.service
7 X6 H; c) Z1 Ssystemctl enable openstack-gnocchi-api.service openstack-gnocchi-metricd.service6 F9 F& N, C2 Y/ N& p" ]
% Z; }8 T) z) p9 a( q8 [3 `2.7)验证使用
- ~6 l0 d. m# ?# u. Z* B+ m& y* X( x
# 查看归档策略
* ?- x, J$ g F/ J# `) X4 O. V; b
# A4 ^" W) J" E3 copenstack metric archive-policy list' n& |6 a5 O. @. A
$ _$ S4 r9 h8 }# C8 O$ _
归档策略指定计量数据的聚合计算方式,包括聚合方法(mean、min、max、sum、std、count),和计量数据的统计时间粒度、数据点数。根据时间粒度和统计点数可以确定计量的时间跨度,根据一个数据点的大小在0.05 bytes~8.04 bytes,就可以确定一个metric需要使用的存储空间大小。Gnocchi内置了bool、low、medium、high四种归档策略。2 K* Q0 W; \7 p' y
$ `& `. D6 x' J* V& ^# 归档策略的作用单位是计量项(metric)。查看归档策略规则' r/ ^* R$ p1 F. @
) v& j$ M/ I! A, l `
openstack metric archive-policy-rule list+ \' d+ s1 p" `' b
: `! m) X8 K' `& l7 v" w默认规则将所有metric关联到low策略,metric使用通配符匹配。. {9 u7 w- a: a+ l- j+ p
7 h2 s5 o0 `4 }9 P1 c. X+ o# 查看资源列表
! y0 G+ G# c( g6 C2 J7 b! C0 n9 ~7 w5 A/ R4 M) o4 L4 F+ `$ A
openstack metric resource list1 r, H% h( a. R# @6 P, l; A% I
$ O' N5 r. S" W$ M+ x+ H
资源对于OpenStack各个项目中的逻辑资源,比如实例、端口、镜像、卷等。由于还没有对接Ceilometer,所以列表为空。在Ceilometer章节部分可以看到最终结果。
: K, U- r3 S# e( I! K
+ [- v: I$ m i: l. j5 c# 查看metric列表1 W% e- ~4 M; u8 J& Y* b
9 {. N3 ^0 }1 L- ]; b& eopenstack metric list9 U' M3 v' b% W7 l& h: h
9 T% `+ u# w) ` H1 c. K) CMetric是资源统计的基本单位,一个资源会有多个metrics,比如实例资源有cpu_util、memory.usage、disk.root.size等。
; {6 F( l. k# @: m2 X
j8 _7 E6 b# i3 t# 查看计量数据
3 b# c4 c, J7 |1 y
1 b/ M! X$ n8 D6 lopenstack metric measures show {metric_uuid}5 ]+ G' u9 |9 Z$ w
# P. R' i! p1 s; j
Measures就是Gnocchi中最终保存的计量数据,即每个metric的数据点。 |
|