1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

New Relic InfrastructureでOpenStackのインフラを監視する(その2)

Posted at

今回のゴール

OpenStack上で仮想資源を作った際に、New Relic Infrastructreではどんな風に見えるのか?を見ていきます。今回は物理と仮想ネットワークを中心に確認してみます。

前提

cloud imageのアップロード

OpenStack上にcloud imageをアップロードしておきます。何でもいいのですが今回はUbuntu14を使います。

[root@honoka ~]# glance image-list
+--------------------------------------+-------------+
| ID                                   | Name        |
+--------------------------------------+-------------+
| b77d7a67-a68f-42fe-af7f-b5ceec6fc126 | cirros      |
| be54e3ba-9f3f-4d37-9a22-e5dc689e795f | Ubuntu14.4  |
| 2e47061d-8e32-4be6-99ac-9dc23e5071fd | Ubuntu16.04 |
+--------------------------------------+-------------+
[root@honoka ~]#

インターフェース情報

前回(その1)の最後の状態から始めます。

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP qlen 1000
    link/ether 00:0c:29:3c:92:39 brd ff:ff:ff:ff:ff:ff
    inet {サーバのIP} brd {ブロードキャストアドレス} scope global ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe3c:9239/64 scope link
       valid_lft forever preferred_lft forever
3: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether 92:c4:e8:c3:05:97 brd ff:ff:ff:ff:ff:ff
4: br-tun: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether 12:0c:03:90:fb:43 brd ff:ff:ff:ff:ff:ff
5: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether 00:0c:29:3c:92:39 brd ff:ff:ff:ff:ff:ff
    inet {サーバのIP} brd {ブロードキャストアドレス} scope global br-ex
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe3c:9239/64 scope link
       valid_lft forever preferred_lft forever
6: br-int: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN
    link/ether ca:9b:55:3f:de:4e brd ff:ff:ff:ff:ff:ff
#

ovs-vsctl show で仮想マシンとハイパーバイザー外部と通信できるよう、ens160がbr-exに割あたっていることを確認しておきます。

前準備

OpenStack上にcloud imageをアップロードしておきます。何でもいいのですが今回はUbuntu14を使います。

# source admin-openrc
# glance image-list
+--------------------------------------+-------------+
| ID                                   | Name        |
+--------------------------------------+-------------+
| b77d7a67-a68f-42fe-af7f-b5ceec6fc126 | cirros      |
| be54e3ba-9f3f-4d37-9a22-e5dc689e795f | Ubuntu14.4  |
| 2e47061d-8e32-4be6-99ac-9dc23e5071fd | Ubuntu16.04 |
+--------------------------------------+-------------+
#

仮想資源作成

仮想ネットワークの作成はコマンドで行いました。外部ネットワークと内部ネットワークの接続確認がしやすいからです。こちらを参考にさせて頂きました。
RDO Neutron ネットワークの設定

ルータの作成

# neutron router-create router1

仮想ネットワークの作成

外部ネットワークはadminテナントに所属し、プライベートネットワークはservicesに所属させることにします。

# openstack project list
+----------------------------------+----------+
| ID                               | Name     |
+----------------------------------+----------+
| a9621341aecb44e49110c456b75045b8 | admin    |
| b39b2ab8bdec41bfa1062d29b21357b6 | services |
+----------------------------------+----------+
#
# neutron net-create public --router:external --tenant-id a9621341aecb44e49110c456b75045b8
# neutron net-create demo-net --shared --tenant-id 30f2cc33d5f8405895e5558b077a86c6
#

ネットワークサブネットの登録

# neutron subnet-create --name public_subnet --enable_dhcp=False \
--allocation-pool=start=172.16.0.115,end=172.16.0.119 --gateway=172.16.0.253 public 172.16.0.0/24

# neutron subnet-create --name demo-net_subnet --enable_dhcp=True \
--allocation-pool=start=192.168.1.100,end=192.168.1.254 --gateway=192.168.1.1 \
--dns-nameserver 8.8.8.8 demo-net 192.168.1.0/24

ゲートウェイの設定

neutron router-gateway-set router1 public

外部ネットワークと内部ネットワークの接続

# neutron router-interface-add router1 subnet=demo-net_subnet

仮想ルータが作られたことを確認

# ip netns
qrouter-f3e74f75-0fb6-4797-acdb-b553f7c874e6
qdhcp-d137a5f0-171c-481e-9761-81b12bf71b09
#
# ip netns exec `ip netns|grep qrouter` ip r
default via 172.16.0.253 dev qg-38c8b13d-d4
172.16.0.0/24 dev qg-38c8b13d-d4  proto kernel  scope link  src 172.16.0.117
192.168.1.0/24 dev qr-db18e68a-8a  proto kernel  scope link  src 192.168.1.1
# ip netns exec `ip netns|grep qrouter`  ping -c 3 -I qg-38c8b13d-d4 172.16.0.117
# ip netns exec `ip netns|grep qrouter`  ping -c 3 -I qr-db18e68a-8a 192.168.1.1
# ip netns exec `ip netns|grep qrouter`  ping -c 3 -I qg-38c8b13d-d4 8.8.8.8

インスタンス起動

仮想マシンの作成はHorizonから行いました。Ubuntu14をsmallで起動。鍵をopenstack.pemとして取得します。
Floating IPを172.16.0.118として割り当てました。

仮想マシンへのログインと外部通信ができることを確認

仮想マシンへのアクセスには鍵が必要です。openstack.pemの権限設定も必要です。

# ssh -i openstack.pem ubuntu@172.16.0.118
ubuntu@ubuntu14:~$
ubuntu@ubuntu14:~$
ubuntu@ubuntu14:~$ sudo apt-get update

仮想資源作成後

最初と比較して仮想ネットワーク資源が加わったことが確認できます。

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP qlen 1000
    link/ether 00:0c:29:3c:92:39 brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.120/24 brd 172.16.0.255 scope global ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe3c:9239/64 scope link
       valid_lft forever preferred_lft forever
3: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether 92:c4:e8:c3:05:97 brd ff:ff:ff:ff:ff:ff
4: br-tun: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether 12:0c:03:90:fb:43 brd ff:ff:ff:ff:ff:ff
5: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether 00:0c:29:3c:92:39 brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.120/24 brd 172.16.0.255 scope global br-ex
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe3c:9239/64 scope link
       valid_lft forever preferred_lft forever
6: br-int: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN
    link/ether ca:9b:55:3f:de:4e brd ff:ff:ff:ff:ff:ff
22: qbr4cd007cd-86: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP
    link/ether e6:d7:db:a5:3b:45 brd ff:ff:ff:ff:ff:ff
23: qvo4cd007cd-86@qvb4cd007cd-86: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast master ovs-system state UP qlen 1000
    link/ether de:dc:ec:6f:f7:5d brd ff:ff:ff:ff:ff:ff
    inet6 fe80::dcdc:ecff:fe6f:f75d/64 scope link
       valid_lft forever preferred_lft forever
24: qvb4cd007cd-86@qvo4cd007cd-86: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast master qbr4cd007cd-86 state UP qlen 1000
    link/ether e6:d7:db:a5:3b:45 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::e4d7:dbff:fea5:3b45/64 scope link
       valid_lft forever preferred_lft forever
25: tap4cd007cd-86: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast master qbr4cd007cd-86 state UNKNOWN qlen 500
    link/ether fe:16:3e:48:06:a0 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc16:3eff:fe48:6a0/64 scope link
       valid_lft forever preferred_lft forever
#

Infrastructureでの見え方

物理基盤側からみたネットワークが表示されることがわかります。仮想マシンから外部にpingを打ち続けるとOVSのインターーフェースなどに通信が流れている状態が確認されました。さすがにOpenStack上のネットワーク名で表示されるわけではありませんが、負荷順にグラフが表示されますので障害の可視化・早期特定に貢献しそうです。

09.jpg

今回は以上です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?