Jump to: navigation, search

Difference between revisions of "Main Page/cobbler"

 
(34 intermediate revisions by the same user not shown)
Line 1: Line 1:
Hi:
+
其他功能
 +
1、使用远程桌面软件直接连接虚拟机
 +
(1)设置虚拟机远程连接协议
 +
模板页面->选择模板编辑->图像下拉框选择连接方式,vnc协议或者spice协议
 +
(2)登录服务器,使用virsh dumpxml 虚拟机id查看远程连接的ip地址和端口
 +
(3)使用远程桌面软件,输入虚拟机的远程协议ip地址和端口,即可远程连接虚拟机
 +
远程桌面软件地址请参见xxx
  
I have deployed a RDO havana version's openstack environment for a period.
 
  
By chance I tested APIs of ceilometer, in the first I defined a new meter like meter_test, then used 'ceilometer sample-list -m yjmeter' command to check the result.
+
D:\git\kimchi-openstack\kimchi-openstack\src\kimchi\osinfo.py:43
I found that the query cost about 13 seconds, why it was so slow with one record?
+
'modern_update': dict(common_spec, disk_bus='scsi',
 +
                                        nic_model='virtio',
 +
                              sound_model='ich6')
  
Now that RDO used mongodb as default DB for ceilometer, I logging into it and found that the meter collection had about 2,700,000 records. Maybe the mass records slowed the query.
+
if distro in modern_version_bases[arch]:
 +
        if LooseVersion(version) >= LooseVersion(
 +
                modern_version_bases[arch][distro]):
 +
            if arch == 'x86':
 +
                params.update(template_specs[arch]['modern_update'])
 +
            else:
 +
                params.update(template_specs[arch]['modern'])
 +
        else:
 +
            params.update(template_specs[arch]['old'])
  
Take production environemnt into account, If there are 100 hosts , each host contains 30 VM.
+
                                'window': '0'},
CeilometerI use default configuration of 11 compute pollsters and the pipeline interval is 600s.
 
Then one day system will generate 4,752,000 record, the formula is: 11(meter) * 30(VM) * 6(system run pollsters 6 times an hour) * 24(a day) * 100(host) = 4,752,000 records.
 
 
 
For above case I think it is necessary to restrict number of records by some mechanism, below are my immature idea:
 
1. Make restriction on max supported records by time or number of samples, discard old records.
 
2. Providing API to delete samples by resource_id or some other conditions, so the third integration system may call this API to delete related samples when delete a resource.
 
3. Running period task of accounting on raw samples, using 1min samples to generate 5min statistics samples, using 5min statistics to generate 30min statistics samples, and so on. Every period of sample has individual data table and has resriction on max supported records .
 
 
 
I am not a ceilometer programmer and I apologize if I am missing something very obvious.
 
Can you give me some help to make me clear about them and how to implement my requirement?
 
 
 
Thanks
 
 
 
Hi
 
 
 
I have a requirement of monitoring VMs, if a VM's meter like cpu_util become too high, then system generate an alarm for this VM with meter information.
 
 
 
I have tested alarm function of ceilometer, below are commands I used to create alarm object with meter and resource id or not:
 
ceilometer alarm-threshold-create  --name alarm1 --meter-name cpu_util --period 60 --evaluation-periods 1 --statistic avg --comparison-operator gt --threshold 1 -q resource_id=757dadaa-0707-4fad-808d-81edc11438aa
 
ceilometer alarm-threshold-create  --name alarm1 --meter-name cpu_util --period 60 --evaluation-periods 1 --statistic avg --comparison-operator gt --threshold 1
 
 
 
I have the following question:
 
If I have to define alarm object for every VM and every meter?
 
Take 100 VM and 2 meter cpu_util, memory_util as an example, I will have to define 100*2 alarm objects for them.
 
I think if I just define alarm object with meter not but VM(resource_id), then alarm evaluator will count all VM's meter.
 
 
 
Another question produced by question above: I know that alarm evaluator will process alarm object one by one, so too many alarm object may result in performance problems too.
 
 
 
I am not a ceilometer programmer and I apologize if I am missing something very obvious.
 
Can you give me some help to make me clear about them and how to implement my requirement?
 
 
 
Thanks
 

Latest revision as of 11:18, 21 October 2014

其他功能 1、使用远程桌面软件直接连接虚拟机 (1)设置虚拟机远程连接协议 模板页面->选择模板编辑->图像下拉框选择连接方式,vnc协议或者spice协议 (2)登录服务器,使用virsh dumpxml 虚拟机id查看远程连接的ip地址和端口 (3)使用远程桌面软件,输入虚拟机的远程协议ip地址和端口,即可远程连接虚拟机 远程桌面软件地址请参见xxx


D:\git\kimchi-openstack\kimchi-openstack\src\kimchi\osinfo.py:43 'modern_update': dict(common_spec, disk_bus='scsi',

                                        nic_model='virtio',
                             sound_model='ich6')

if distro in modern_version_bases[arch]:

       if LooseVersion(version) >= LooseVersion(
               modern_version_bases[arch][distro]):
           if arch == 'x86':
               params.update(template_specs[arch]['modern_update'])
           else:
               params.update(template_specs[arch]['modern'])
       else:
           params.update(template_specs[arch]['old'])
                               'window': '0'},