解读先电2.4 iaas-install-aodh.sh 脚本

本文详细介绍了如何使用bash脚本快速安装并配置OpenStack的Aodh组件,包括服务创建、用户管理、数据库设置、认证配置及监听器、通知器和评估器的启动。涉及的关键步骤包括数据库迁移、API接口和告警服务配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash

source /etc/xiandian/openrc.sh
source /etc/keystone/admin-openrc.sh

yum -y install openstack-aodh-api openstack-aodh-evaluator openstack-aodh-notifier openstack-aodh-listener openstack-aodh-expirer python2-aodhclient

openstack user create --domain $DOMAIN_NAME --password $AODH_PASS aodh
openstack role add --project service --user aodh admin
openstack service create --name aodh --description "Telemetry Alarming" alarming

openstack endpoint create --region RegionOne alarming public http://$HOST_NAME:8042
openstack endpoint create --region RegionOne alarming internal http://$HOST_NAME:8042
openstack endpoint create --region RegionOne alarming admin http://$HOST_NAME:8042

mysql -uroot -p$DB_PASS -e "create database IF NOT EXISTS aodh;"
mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'localhost' IDENTIFIED BY '$AODH_DBPASS' ;"
mysql -uroot -p$DB_PASS -e "GRANT ALL PRIVILEGES ON aodh.* TO 'aodh'@'%' IDENTIFIED BY '$AODH_DBPASS' ;"

crudini --set /etc/aodh/aodh.conf DEFAULT log_dir /var/log/aodh
crudini --set /etc/aodh/aodh.conf DEFAULT transport_url rabbit://$RABBIT_USER:$RABBIT_PASS@$HOST_NAME
crudini --set /etc/aodh/aodh.conf api auth_mode keystone
crudini --set /etc/aodh/aodh.conf api gnocchi_external_project_owner service					#配置gnocchi外部项目拥有者为service
crudini --set /etc/aodh/aodh.conf database connection mysql+pymysql://aodh:$AODH_DBPASS@$HOST_NAME/aodh

#配置 keystoner认证
crudini --set /etc/aodh/aodh.conf keystone_authtoken www_authenticate_uri http://$HOST_NAME:5000
crudini --set /etc/aodh/aodh.conf keystone_authtoken auth_url http://$HOST_NAME:5000
crudini --set /etc/aodh/aodh.conf keystone_authtoken memcached_servers $HOST_NAME:11211
crudini --set /etc/aodh/aodh.conf keystone_authtoken auth_type password
crudini --set /etc/aodh/aodh.conf keystone_authtoken project_domain_name $DOMAIN_NAME
crudini --set /etc/aodh/aodh.conf keystone_authtoken user_domain_name $DOMAIN_NAME
crudini --set /etc/aodh/aodh.conf keystone_authtoken project_name service
crudini --set /etc/aodh/aodh.conf keystone_authtoken username aodh
crudini --set /etc/aodh/aodh.conf keystone_authtoken password $AODH_PASS

#配置服务单元凭证
crudini --set /etc/aodh/aodh.conf service_credentials auth_url http://$HOST_NAME:5000/v3
crudini --set /etc/aodh/aodh.conf service_credentials auth_type password
crudini --set /etc/aodh/aodh.conf service_credentials project_domain_name $DOMAIN_NAME
crudini --set /etc/aodh/aodh.conf service_credentials user_domain_name $DOMAIN_NAME
crudini --set /etc/aodh/aodh.conf service_credentials project_name service
crudini --set /etc/aodh/aodh.conf service_credentials username aodh
crudini --set /etc/aodh/aodh.conf service_credentials password $AODH_PASS
crudini --set /etc/aodh/aodh.conf service_credentials interface internalURL


#创建监听端点
cat >/etc/httpd/conf.d/20-aodh_wsgi.conf<<- EOF

Listen 8042
<VirtualHost *:8042>
    DocumentRoot "/var/www/cgi-bin/aodh"
    <Directory "/var/www/cgi-bin/aodh">
        AllowOverride None
        Require all granted
    </Directory>

    CustomLog "/var/log/httpd/aodh_wsgi_access.log" combined
    ErrorLog "/var/log/httpd/aodh_wsgi_error.log"
    SetEnvIf X-Forwarded-Proto https HTTPS=1
    WSGIApplicationGroup %{GLOBAL}
    WSGIDaemonProcess aodh display-name=aodh_wsgi user=aodh group=aodh processes=6 threads=3
    WSGIProcessGroup aodh
    WSGIScriptAlias / "/var/www/cgi-bin/aodh/app"
</VirtualHost>

EOF


#同步数据库
mkdir /var/www/cgi-bin/aodh 
cp /usr/lib/python2.7/site-packages/aodh/api/app.wsgi /var/www/cgi-bin/aodh/app 
chown -R aodh. /var/www/cgi-bin/aodh 
su -s /bin/bash aodh -c "aodh-dbsync" 

systemctl restart openstack-aodh-evaluator openstack-aodh-notifier openstack-aodh-listener 
systemctl enable openstack-aodh-evaluator openstack-aodh-notifier openstack-aodh-listener 
systemctl restart httpd memcached



——aodh-evaluator:告警条件触发计算模块
——aodh-notifier: 负责告警通知
——aodh-listener 监听模块
——aodh-api:aodh启动模块

Aodh服务简析:https://blog.youkuaiyun.com/energysober/article/details/80632767 和 https://blog.youkuaiyun.com/JackLiu16/article/details/79963085

注:Ceilometer 功能分成三部分,即采集、存储、告警。 Ceilometer主要负责数据采集,其中Gnocchi 提供数据存储服务,Aodh 提供告警服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

‘秋歌:

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值