Rundeck のデータベース設定(MySQL)

目的

ジョブ管理ツールのRundeckはデフォルトでH2 Databaseが組み込まれ、これがリポジトリDBとして設定されています。ただ、ジョブの数や実行回数が増え、ログが溜まってくるとGUIでの動作が重くなってくるらしい・・・

そのため、リポジトリDBをH2 DatabaseからMySQLの管理に変更したい。
MySQL Community EditionはOSSで無料で使用することができるし、RundeckのマニュアルでもExampleとして載っているので安心できる。
(同じOSSであるPostgreSQLでも代替可能とは思います。)

環境

OS:CentOS7
MySQL:Ver. 15.1
Rundeck:Ver. 3.0.13

MySQLのインストール

まずはMySQLをyumコマンドでインストールします。

#インストール
$ sudo yum install mysql-community-server

 

もし、オフライン環境で構築する場合は以下のURLからファイルをダウンロードして、rpmでインストールすることもできます。

https://dev.mysql.com/downloads/installer/

 

RDB Datasourceの設定

次に、MySQLにRundeck用のDBを用意し、このDBにアクセスできるユーザー名とパスワードを設定します。

# Rundeck用DB作成
  mysql> create database rundeck;
  
# アクセス用アカウント作成
 mysql> GRANT ALL ON rundeck.* to 'rundeckuser'@'localhost' identified by 'rundeckpassword'; 


次にRundeckのrundeck-config.propertiesのファイルを編集し、デフォルトのH2 DatabaseからMySQLへ接続先DBの設定を変更します。
以下の「追加」と書いてある部分が設定部分です。

#configファイル設定
$ vim /etc/rundeck/rundeck-config.properties
  #dataSource.url = jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;MVCC=true 

#Comment
  rundeck.v14.rdbsupport=true #追加
  dataSource.url = jdbc:mysql://myserver/rundeckdb?autoReconnect=true
  dataSource.username = rundeckuser
  dataSource.password = rundeckpassword
  dataSource.driverClassName=com.mysql.jdbc.Driver #追加
  rundeck.log4j.config.file = /etc/rundeck/log4j.properties

#rundeck再起動
$ systemctl restart rundeckd

ちゃんと起動できているか確認します。しばらく待って、runが表示され続けていれば大丈夫です。

$systemctl status rundeckd


さらに、上記のあと、クライアント端末からブラウザを起動し、Rundeckのサーバーにアクセスしてログインできれば問題なく成功していると考えて大丈夫かと思います。

注意点

上記設定中にハマってしまった箇所があります。

私の環境ではデフォルトのrundeck-config.propertiesファイル内に、以下の記述がなく、これらを追加しないとうまく動きませんでした。

rundeck.v14.rdbsupport=true
dataSource.driverClassName=com.mysql.jdbc.Driver

最終的には気づいたのですが、気づいて追記するまでに、かなり時間と労力を費やしてしまいました。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です