component と Zabbix の template (1) Core Component Component Zabbix template Compute(Nova) Nova compute Nova api Nova cert Nova conductor Nova consoleauth Nova novncproxy Nova xvpvncproxy OpenStack_icehouse_Nova_compute OpenStack_icehouse_Nova_api OpenStack_icehouse_Nova_cert OpenStack_icehouse_Nova_conductor OpenStack_icehouse_Nova_consoleauth OpenStack_icehouse_Nova_novncproxy OpenStack_icehouse_Nova_xvpvncproxy Image Service(Glance) Glance OpenStack_icehouse_Glance Identity(Keystone) Keystone OpenStack_icehouse_Keystone Networking(Neutron) Neutron server Neutron dhcp-agent Neutron openvswitch-agent OpenStack_icehouse_Neutron_server OpenStack_icehouse_Neutron_dhcp_agent OpenStack_icehouse_Neutron_ovs_agent Object Storage(Swift) Swift account Swift object Swift container Swift proxy OpenStack_icehouse_Swift_account OpenStack_icehouse_Swift_object OpenStack_icehouse_Swift_container OpenStack_icehouse_Swift_proxy ※その他 MySQL や Rabbit MQ の監視も
Zabbix の template (3) Component の監視内容について • そんなに特別なことはしていない • 各 Component の process の有無、port の check、daemon のメモリ使用量等 • 例えば Nova の API (openstack) の監視項目 さすがにそれだけだと芸がないので・・ • Keystone の監視においては token がきちんと取れるかどうかのチェック • Swift においては 認証→コンテナ作成→オブジェクト作成→オブジェクト削除→コンテナ削除 • Zabbix Server から external script で監視している 11 14-7-24 監視項目名 Item Key Network - Port {$NOVA_API_PORT_OS} is in LISTENING state net.tcp.listen[{$NOVA_API_PORT_OS}] Simple - Port {$NOVA_API_PORT_OS} is accepting connection(s) net.tcp.service[tcp,,{$NOVA_API_PORT_OS}] Process - Number of {$NOVA_API_PROCESS} processes proc.num[python,{$NOVA_API_USER},,{$NOVA_API_PROCESS}] Process - Memory used by {$NOVA_API_PROCESS} proc.mem[python,{$NOVA_API_USER},,{$NOVA_API_PROCESS}]
User Data の内容は instance 作成時に指定することができる これを利用して・・・ User Data 内で chef が起動するようにしておき、 どの role を適用するか Instance 作成時に指定する • 例えば web サーバーを作成する場合 • web 用の chef role を適用し、Zabbix サーバーへ API で Host を登録後に web 監視用の template を適用させるといったことが可能 • こういった仕組みを利用することで base となる image は最小限のものだけでよくなる 14 14-7-24 Web 用 image DB 用 image Cache 用 image … Base image + User Data (web) Base image + User Data (db) Base image + User Data (cache) …