.. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ====================== Use OSProfiler in Zun ====================== This is the demo for Zun integrating with osprofiler. `Zun `_ is a OpenStack container management services, while `OSProfiler `_ provides a tiny but powerful library that is used by most OpenStack projects and their python clients. Install Redis database ---------------------- After osprofiler 1.4.0, user can choose mongodb or redis as the backend storage option without using ceilometer. Here just use Redis as an example, user can choose mongodb, elasticsearch, and `etc `_. Install Redis as the `centralized collector `_ Redis in container is easy to launch, `choose Redis Docker `_ and run:: docker run --name some-redis -p 6379:6379 -d redis Now there is a redis database which has an expose port to access. OSProfiler will send data to this key-value database. Change the configure file ------------------------- Change the /etc/zun/zun.conf, add the following lines, change the to the real IP:: [profiler] enabled = True trace_sqlalchemy = True hmac_keys = SECRET_KEY connection_string = redis://:6379/ Then restart zun-api and zun-compute (Attention, the newest version of Zun has move zun-api service to apache2 server. You can't restart the service just in screen. Use "systemctl restart apache2" will work) Use below commands to get the trace information:: $ zun --profile SECRET_KEY list # you will get a for trace $ osprofiler trace show --connection-string=redis://:6379 --html Troubleshooting --------------- How to check whether the integration is fine: Stop the Redis container, then run the command:: zun --profile SECRET_KEY list In the zun-api log, will see "ConnectionError: Error 111 connecting to :6379. ECONNREFUSED." That means that osprofiler will write the trace data to redis, but can't connect it. So the integration is fine. /etc/zun/api-paste.ini file changed (change the pipeline) need to re-deploy the devstack.