DatadogでOpenStackをモニターする

DatadogモニタリングをSaaSで提供しているサービスですが、OpenStackと接続出来るIntegrationが提供されています。今回はOpenStack Integrationを利用して、DatadogからOpenStackをモニターします。

Datadogについて

DatadogはSaaSベースで提供されていますモニタリングサービスです。各種アプリケーションや、サービスに対応したIntegrationが提供されており簡単にメトリックの追加を行うことが出来ます。PythonベースでIntegrationを自作する事も出来ます。

Datadogの利用開始

Datadogは以下サイトでサインアップをすると無料枠で利用出来ます。

https://www.datadoghq.com/

サインアップ後の画面を進めると、Datadog Agentのインストール画面が出てきます。利用するOSを選択して、Datadog Agentのインストール方法を確認します。CentOSであれば、ワンライナーでインストールからDatadog Agentの起動が行われます。このスクリプトはYumレポジトリの登録と、Datadog Agentのインストール後にDatadog Agentの設定を行ってくれます。Agentをインストールすると自動的にDatadogのサービスに対してデーターが送信されます。AgentのステータスはCent OSであれば以下のコマンドで確認が可能です。内部的には複数のサービスが動作しているため、こののコマンドでの正常動作の確認は必須です。

service datadog-agent info

Agentの設定

OpenStack Integrationの設定

/etc/dd-agent配下にDatadog Agentの設定が格納されています。OpenStackと接続するにはIntegrationのyamlファイルを設定します。モニターに専用のIDと、最小限のRoleを設定したい場合は以下を参考にします。

http://docs.datadoghq.com/integrations/openstack/

サンプルのYamlファイルがconf.d配下に保存されているので、まずは以下のコマンドでコピーします。

# cp /etc/dd-agent/conf.d/openstack.yaml.example /etc/dd-agent/conf.d/openstack.yaml

コピーした後は以下の項目を設定します。オプション設定はコメントアウトされています。必須の設定はコメントアウトされてません。

# keystoneのアドレスとポートを指定します。
keystone_server_url: "http://localhost:5000"
# NOVA APIのバージョンを指定します。Defaultは2.1です。
nova_api_version: 'v2'
# モニターするHypervisorのIDを指定します。NOVA_APIがv2の場合は必須
hypervisor_ids:
     - 2
# プロジェクトを指定します。
auth_scope:
   project:
       name: admin
       domain:
           id: default
# 認証情報を指定します
user:
    password: password
    name: admin
    domain:
        id: default

次にRabbitMQの設定が必要との事なので、RabbitMQの設定を行います。

RabbitMQ Integrationの設定

まずはYamlファイルをコピーします。

# cp /etc/dd-agent/conf.d/rabbitmq.yaml.example /etc/dd-agent/conf.d/rabbitmq.yaml

RabbitMQは認証情報等がDefultの場合はコピー後変更せずに使用します。認証情報等変更している場合は必要に応じて設定変更を行います。設定後はDatadog Agentを再起動します。

service datadog-agent restart

再起動後はinfoで正常起動を確認します。OpenStack等のIntegrationの不具合もこのinfo画面に表示されます。

service datadog-agent info

次にダッシュボードを設定します。

ダッシュボードの設定

ダッシュボードリストにOpenStackとRabbitMQを登録します。左のメニューから[Integrations] > [Integration]を選択します。Integration一覧が選択されるためOpenStackの[Available]>[Install]ボタンをクリックします。[Configuration]タブをクリックして、最下部の[Install Integration]を選択します。5分ほどすると[Dashboards]>[Dashboard List]でOpenStackとRabbitMQのOverviewが選択出来るようになっています。選択すると以下のような画面が表示されましたのでIntegrationが成功されている事がわかります。

160128-0001

必要に応じてMonitorsからアラームを設定したり、Metricsからメトリックを個別に見ることも出来ます。

まとめ

DatadogはMackerelに比べると、多くのプラグインが開発済みで、各種Notification機能等を細かく作りこまれている印象です。AgentはMackerelはGoで書かれたバイナリなので依存関係も関係ないですが、DatadogのAgentはPyhtonベースなので依存関係も多少あります。DatadogのAgentをOpenStackの上で動かすとなるとこの依存関係が少し気になる所ですので外部のサーバーからOpenStackをモニターした方が良いのかもしれません。その代わりにPythonでIntegrationの拡張が簡単に出来るのは嬉しい所です。

1/29 追記

Datadog AgentはシステムのPythonを利用せずに独自のPythonを使っているとの事です。確かにpsで見ると/opt/datadog-agent/embedded/bin/pythonでプロセスが起動されています。という事でDatadogはPythonですが、依存関係に影響に及ぼさないためMackerelと同様に安心して利用出来ます。

広告
DatadogでOpenStackをモニターする

DatadogでOpenStackをモニターする」への3件のフィードバック

  1. Datadog Agentは、システムpythonを使っていません。隔離されて、/opt/datadog−agent/emmbedded以下にインストールされています。pythonに関しては、全てがクローズドな環境で動いています。

    いいね

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中