CentOS 6.6にSensuインストール(監視サーバ側)

  • 26
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

以下はChef/Puppetを使わずにCentOS 6.6にインストールする手順。

下記手順をもとに進める。
http://sensuapp.org/docs/0.16/guide

SSL証明書

http://sensuapp.org/docs/0.16/certificates

SSL証明書/認証局作成

# cd /tmp
# wget http://sensuapp.org/docs/0.16/tools/ssl_certs.tar
# tar xvf ssl_certs.tar
ssl_certs/
ssl_certs/sensu_ca/
ssl_certs/ssl_certs.sh
ssl_certs/sensu_ca/openssl.cnf
# cd ssl_certs
# ./ssl_certs.sh generate

RabbitMQインストール

http://sensuapp.org/docs/0.16/rabbitmq

erlangインストール

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# yum install erlang

RabbitMQインストール

# rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
# rpm -Uvh http://www.rabbitmq.com/releases/rabbitmq-server/v3.2.1/rabbitmq-server-3.2.1-1.noarch.rpm

RabbitMQ server起動

# chkconfig rabbitmq-server on
# service rabbitmq-server start

SSL設定

# mkdir -p /etc/rabbitmq/ssl
# cp -a sensu_ca/cacert.pem /etc/rabbitmq/ssl/
# cp -a server/cert.pem /etc/rabbitmq/ssl/
# cp -a server/key.pem /etc/rabbitmq/ssl/

RabbitMQ SSL設定

# vi /etc/rabbitmq/rabbitmq.config
/etc/rabbitmq/rabbitmq.config
[
    {rabbit, [
    {ssl_listeners, [5671]},
    {ssl_options, [{cacertfile,"/etc/rabbitmq/ssl/cacert.pem"},
                   {certfile,"/etc/rabbitmq/ssl/cert.pem"},
                   {keyfile,"/etc/rabbitmq/ssl/key.pem"},
                   {verify,verify_peer},
                   {fail_if_no_peer_cert,true}]}
  ]}
].

RabbitMQ再起動。

# service rabbitmq-server restart

Sensu用のRabbitMQ vhost作成

# rabbitmqctl add_vhost /sensu

Sensu用のRabbitMQユーザ作成・パーミッション付与

rabbitmqctl add_user sensuの後は適宜任意のパスワードを指定すること。

# rabbitmqctl add_user sensu rabbitmq-sensu-password
# rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"

RabbitMQ web management console 有効化

https://www.rabbitmq.com/management.html

# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
  mochiweb
  webmachine
  rabbitmq_web_dispatch
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.

RabbitMQ再起動。

# service rabbitmq-server restart

管理アカウント作成。
※ユーザ名・パスワードは適宜変更すること
https://www.rabbitmq.com/man/rabbitmqctl.1.man.html#User%20management
https://www.rabbitmq.com/man/rabbitmqctl.1.man.html#set_user_tags

# rabbitmqctl add_user admin rabbitmq-admin-password
Creating user "admin" ...
...done.
# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
...done.

ブラウザから下記にアクセスすれば、RabbitMQ web management consoleにアクセス可能。
http://<Server IP>:15672/

Redisインストール

http://sensuapp.org/docs/0.16/redis

Redisインストール

# yum install redis

Redis起動

# chkconfig redis on
# service redis start

Sensuインストール

http://sensuapp.org/docs/0.16/packages

リポジトリ設定ファイル作成

# vi /etc/yum.repos.d/sensu.repo
/etc/yum.repos.d/sensu.repo
[sensu]
name=sensu-main
baseurl=http://repos.sensuapp.org/yum/el/$releasever/$basearch/
gpgcheck=0
enabled=1

sensuインストール

# yum install sensu

Sensu設定

Sensu用のSSL証明書ファイル配置ディレクトリ作成

# mkdir -p /etc/sensu/ssl

作成済みのSSL証明書ファイルを/etc/sensu/ssl配下にコピー

# cp -a client/cert.pem /etc/sensu/ssl/
# cp -a client/key.pem /etc/sensu/ssl/

/etc/sensu/conf.d/rabbitmq.json作成

  • user/password -> Sensu用のRabbitMQユーザ作成・パーミッション付与で設定したもの
# vi /etc/sensu/conf.d/rabbitmq.json
/etc/sensu/conf.d/rabbitmq.json
{
  "rabbitmq": {
    "ssl": {
      "cert_chain_file": "/etc/sensu/ssl/cert.pem",
      "private_key_file": "/etc/sensu/ssl/key.pem"
    },
    "host": "localhost",
    "port": 5671,
    "vhost": "/sensu",
    "user": "sensu",
    "password": "rabbitmq-sensu-password"
  }
}

/etc/sensu/conf.d/redis.json作成

# vi /etc/sensu/conf.d/redis.json
/etc/sensu/conf.d/redis.json
{
  "redis": {
    "host": "localhost",
    "port": 6379
  }
}

Sensu API設定

/etc/sensu/conf.d/api.json作成

※user/passwordは適宜変更すること

# vi /etc/sensu/conf.d/api.json
/etc/sensu/conf.d/api.json
{
  "api": {
    "host": "localhost",
    "port": 4567,
    "user": "admin",
    "password": "sensu-api-admin-password"
  }
}

Sensu clients設定

/etc/sensu/conf.d/client.json作成

  • name -> Sensuサーバのホスト名
  • address -> SensuサーバのIPアドレス

※name/addressは適宜変更すること

# vi /etc/sensu/conf.d/client.json
/etc/sensu/conf.d/client.json
{
  "client": {
    "name": "Sensu-Server",
    "address": "127.0.0.1",
    "subscriptions": [ "all" ]
  }
}

Sensu起動

# chkconfig sensu-server on
# chkconfig sensu-client on
# chkconfig sensu-api on
# service sensu-server start
# service sensu-client start
# service sensu-api start

Dashboard