Red(mine|Mica) を監視してる話

[Redmine Advent Calendar 2024](https://adventar.org/calendars/10311) の 14日用の記事です。


## 自宅でRedMica(devel)、Redmine(trunk) を利用中

![画像1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63464/23b1a6d2-9dfb-5dc9-59c8-6f1d0c9a58f3.png)

この記事に辿り着いている方は当然ながら、Redmine/RedMicaがお好きだと思います。

転職してから仕事ではRedmineを使わなくなりましたが、今さらRedmineの無い生活は考えられないのでプライベートで相変わらず利用中です。

大好きなので常に最新にしたいんです。
ということでRed(mine|Mica)を ~~ストーキング~~ 監視しています。

# これまでの経緯
- 2021/2 バージョン監視を開始
  - https://twitter.com/ryouma_nagare/status/1359128213662781445
- 2022/11 サイト監視を開始
  - https://twitter.com/ryouma_nagare/status/1590988002503036930
- 2024/1 前田さんから [redmine_github_adapter](https://github.com/farend/redmine_github_adapter) を提案され利用開始
  - https://twitter.com/g_maeda/status/1745636987686863308

# 現在の ~~ストーキング~~ 監視対象

## 本体リポジトリ

Zabbixで監視

| 対象 | 監視項目 |
|:----------------|:----------------|
|[RedMica](https://github.com/redmica/redmica)|バージョン監視（/15分）|
|[Redmine](https://svn.redmine.org/redmine/trunk/)|バージョン監視（/15分）|

以下のコマンドで取得
```
curl https://svn.redmine.org/redmine/trunk/lib/redmine/version.rb -s |grep -E '(MAJOR |MINOR |TINY  )' | awk -F'= ' '{print $2}'  | xargs | sed -e 's/ /./g'
curl https://raw.githubusercontent.com/redmica/redmica/master/lib/redmine/version.rb -s | sed -n '/module RedMica/,$p' | grep -E '(MAJOR |MINOR |TINY  )' | awk -F'= ' '{print $2}'  | xargs | sed -e 's/ /./g'
```


## Webサイト

Zabbixで監視

| 対象 | 監視項目 |
|:----------------|:----------------|
|[redmine.tokyo](https://redmine.tokyo/a)|HTTPステータス（/1時間）|
|[redmine.org](https://redmine.org)|HTTPステータス（/1時間）|

以下のコマンドで取得
```
curl https://redmine.org -I -s -k -m 30 -L | grep HTTP | awk '{print $2}' | tail -n 1
curl https://redmine.tokyo -I -s -k -m 10 -L | grep HTTP | awk '{print $2}' | tail -n 1
```
## プラグインリポジトリ

redmine_github_adapter に登録
※Rails7に対応していないためリポジトリタブから一覧表示は不可だが、リポジトリの履歴自体は検索結果から確認可能

| 対象 |
|:----------------|
|[redmica_ui_extension](https://github.com/redmica/redmica_ui_extension)|
|[redmine-view-customize](https://github.com/onozaty/redmine-view-customize)|
|[redmine-view-customize-scripts](https://github.com/sk-ys/redmine-view-customize-scripts)|
|[redmine_banner](https://github.com/agileware-jp/redmine_banner)|
|[redmine_code_review](https://github.com/haru/redmine_code_review)|
|[redmine_full_text_search](https://github.com/clear-code/redmine_full_text_search)|
|[redmine_github_adapter](https://github.com/farend/redmine_github_adapter)|
|[redmine_issue_assign_notice](https://github.com/onozaty/redmine_issue_assign_notice)|
|[redmine_issue_templates](https://github.com/agileware-jp/redmine_issue_templates)|
|[redmine_issues_panel](https://github.com/redmica/redmine_issues_panel)|
|[redmine_message_customize](https://github.com/ishikawa999/redmine_message_customize)|
|[redmine_theme_changer](https://github.com/haru/redmine_theme_changer)|
|[redmine_wiki_lists](https://github.com/tkusukawa/redmine_wiki_lists)|
|[redmine_work_time](https://github.com/tkusukawa/redmine_work_time)|
|[redmine_xlsx_format_issue_exporter](https://github.com/two-pack/redmine_xlsx_format_issue_exporter)|
|[vividtone_my_page_blocks](https://github.com/vividtone/redmine_vividtone_my_page_blocks)|


# 監視構成
![画像1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63464/058a55ba-29ef-7f7c-f297-6041c3a76ed1.png)

Zabbixのトリガ変化はすべてRedMicaにチケット起票しています。
本体のバージョンや、サイトの状態が変わると
- Slackに通知します
- Raspiが光ります
- ~~アップデート用のplaybook を実行します~~
  - Redmine6.0のリリースが近くなったタイミングで、Redmineが起動しなくなることが多くなったので自動アップデートは止めて手動に変更

# おかげで

**Redmineの現在の状態が一目で見られて嬉しい**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63464/0fb5d875-ddc5-dff5-48c5-e57a35093978.png)

**RedMica/Redmineの履歴が確認できて嬉しい**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63464/222b13f2-b218-edfc-7d62-ed66a1a46327.png)

# まとめ
## メリット
- 人柱ビリティがあがる
- 前田さんがリリースTweetをしたときには、すでに自環境のアップデートが完了している
- 楽しい


## デメリット
- たまにバグを踏む
  - Tweetネタになったり、情報共有できるのでメリットとも言える
- 最新に追従しすぎて起動しなくなることがある
- 手段と目的を間違って、監視がメインになっている
- 最新にしないと落ち着かない。
  - **記事を書いている間にRedmine/RedMicaともバージョンがあがったため、スクリーンショットを何度も取り直した**


とはいえ、最新を追うのは楽しいので、これからも監視し続けます！