Skip to content

Latest commit

 

History

History
384 lines (280 loc) · 8.99 KB

File metadata and controls

384 lines (280 loc) · 8.99 KB

企業向け導入ガイド

はじめに

このガイドは、企業環境でKomonを導入する際の参考情報を提供します。

重要: Komonは「個人開発者・小規模環境向けの軽量アドバイザー」として設計されています。大規模なエンタープライズ監視システムではありません。


Komonの位置づけ

Komonが得意なこと

  • ✅ 軽量(メモリ約30MB)
  • ✅ 簡単な導入(10分)
  • ✅ やさしい日本語メッセージ
  • ✅ 既存監視ツールとの併用
  • ✅ 個人サーバ・開発サーバの見守り

Komonが不得意なこと

  • ❌ 複数サーバの集中管理
  • ❌ リアルタイム監視(5分間隔が基本)
  • ❌ 高度なアラート設定
  • ❌ ダッシュボード・可視化
  • ❌ チーム開発フロー

既存ツールとの比較

機能 Komon Zabbix Prometheus Datadog
軽量性 ⭐⭐⭐⭐⭐ ⭐⭐ ⭐⭐⭐ ⭐⭐
導入の簡単さ ⭐⭐⭐⭐⭐ ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐
複数サーバ管理 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
リアルタイム性 ⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
日本語対応 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐ ⭐⭐⭐
コスト 無料 無料 無料 有料

推奨する使い方:

  • Komonは「補助的な見守りツール」として使用
  • 本格的な監視は既存ツール(Zabbix等)を併用

導入シナリオ

シナリオ1: 開発サーバの見守り

対象:

  • 社内の開発サーバ(5〜10台)
  • 本番環境ではない
  • 軽量な監視で十分

導入方法:

  1. 各サーバにKomonをインストール
  2. Slack通知を設定
  3. cron/systemd-timerで5分間隔実行

メリット:

  • 開発者が気づきやすい(Slack通知)
  • 導入が簡単(10分/台)
  • 軽量で開発作業に影響しない

シナリオ2: 個人サーバの見守り

対象:

  • 社員が個人で管理するサーバ
  • 会社の監視システムの対象外
  • 自己責任で運用

導入方法:

  1. 個人でKomonをインストール
  2. 個人のSlackまたはメールに通知
  3. 週次レポートで健全性確認

メリット:

  • 会社の監視システムに頼らない
  • 個人の責任範囲が明確
  • 軽量で気軽に使える

シナリオ3: 既存監視ツールの補助

対象:

  • Zabbix等の既存監視ツールを使用中
  • 「やさしい日本語」での通知が欲しい
  • 開発者向けの補助的な情報が欲しい

導入方法:

  1. 既存監視ツールはそのまま維持
  2. Komonを追加で導入
  3. Komonは「気づき」を与える役割

メリット:

  • 既存システムを変更しない
  • 開発者が理解しやすい通知
  • 段階的な導入が可能

複数サーバでの運用方法

Komonは複数サーバの集中管理機能を持ちませんが、以下の方法で運用できます:

方法1: 各サーバで独立実行(推奨)

サーバA: Komon → Slack #server-a
サーバB: Komon → Slack #server-b
サーバC: Komon → Slack #server-c

メリット:

  • シンプル
  • サーバ間の依存がない
  • 障害の影響範囲が小さい

デメリット:

  • 設定ファイルの管理が煩雑
  • 統一的な管理が難しい

対策:

  • Ansible等で設定ファイルを配布
  • Git管理で設定を統一

方法2: ログ共有ディレクトリ方式

サーバA, B, C → 共有ディレクトリ(NFS等)
管理サーバ: Komon → 共有ディレクトリを監視 → Slack

メリット:

  • 管理サーバで一元管理
  • 設定ファイルが1つ

デメリット:

  • 共有ディレクトリの設定が必要
  • ネットワーク障害の影響を受ける

方法3: SSHベース(将来検討)

管理サーバ: Komon → SSH経由で各サーバを監視 → Slack

メリット:

  • 管理サーバで一元管理
  • 各サーバにKomonをインストール不要

デメリット:

  • SSH接続の管理が必要
  • セキュリティリスク
  • 現在は未実装

セキュリティ考慮事項

機密情報の管理

環境変数の使用:

# settings.yml
notifications:
  slack:
    webhook_url: "env:KOMON_SLACK_WEBHOOK"
# 環境変数設定
export KOMON_SLACK_WEBHOOK="https://hooks.slack.com/services/..."

ファイルパーミッション:

# 設定ファイル(機密情報を含む)
chmod 600 settings.yml

# 通知履歴(個人情報を含む可能性)
chmod 700 data/notifications/
chmod 600 data/notifications/*.json

# ログファイル
chmod 600 log/*.log

ネットワークセキュリティ

Webhook URLの検証:

  • HTTPSのみ許可
  • 内部IPアドレスへのアクセスを防ぐ(SSRF対策)

ファイアウォール設定:

  • Komonは外部からのアクセスを受け付けない
  • 送信のみ(Slack/Email通知)

脆弱性管理

依存パッケージの更新:

# 定期的に更新
pip install --upgrade komon

# 脆弱性スキャン
pip install safety
safety check

セキュリティアップデート:

  • GitHub Releasesで通知
  • CHANGELOG.mdで確認
  • 重大な脆弱性は7日以内にパッチリリース

トラブルシューティング

通知が届かない

Slack通知:

  1. Webhook URLが正しいか確認
  2. 環境変数が設定されているか確認
  3. ネットワーク接続を確認
  4. ログファイルでエラーを確認
tail -20 log/main.log

メモリ使用量が多い

Komonは約30MBですが、以下の場合は増加します:

  • 通知履歴が多い(最大100件で自動削減)
  • ログファイルが大きい

対策:

# 通知履歴のクリア
rm data/notifications/queue.json

# ログローテーション
sudo journalctl --vacuum-time=7d

cron/systemd-timerが動かない

cron確認:

# cronログ確認
sudo tail -20 /var/log/cron

# cron設定確認
crontab -l

systemd-timer確認:

# タイマー状態確認
systemctl status komon.timer

# ログ確認
journalctl -u komon.service -n 20

運用のベストプラクティス

定期的なメンテナンス

月次:

  • Komonのバージョン確認
  • 依存パッケージの更新
  • ログファイルのクリーンアップ
  • 通知履歴の確認

四半期:

  • 設定ファイルの見直し
  • 閾値の調整
  • 不要な通知の削減

年次:

  • Pythonバージョンの確認(EOL確認)
  • OSバージョンの確認
  • セキュリティ監査

設定ファイルの管理

Git管理:

# 設定ファイルをGit管理
git init
git add settings.yml
git commit -m "Initial settings"

# 機密情報は環境変数化
# settings.ymlには環境変数参照のみ記載

Ansible管理:

# ansible/playbook.yml
- name: Deploy Komon settings
  hosts: all
  tasks:
    - name: Copy settings.yml
      copy:
        src: settings.yml
        dest: /path/to/komon/settings.yml
        mode: '0600'

通知の最適化

通知疲れを防ぐ:

  • 3段階閾値を活用(warning/alert/critical)
  • 通知頻度制御を有効化(60分間隔)
  • 段階的通知メッセージを活用

重要な通知を見逃さない:

  • Slackチャンネルを分ける(#server-alert, #server-info)
  • 緊急度に応じて通知先を変える
  • 週次レポートで全体を把握

サポート・問い合わせ

コミュニティサポート

企業向けサポート

現在、有償サポートは提供していません。

代替案:

  • GitHub Issuesで質問(公開)
  • コミュニティからの回答
  • ドキュメントの充実化

カスタマイズ・開発

Komonはオープンソース(MIT License)です。

企業での利用:

  • ✅ 商用利用可能
  • ✅ 改変可能
  • ✅ 再配布可能
  • ✅ 社内標準化可能

カスタマイズ例:

  • 社内向けの通知メッセージ変更
  • 独自の検出ロジック追加
  • 社内システムとの連携

まとめ

Komonは「軽量・シンプル・やさしい」を重視した個人開発者向けツールです。

企業での利用に適している場合:

  • ✅ 開発サーバの見守り
  • ✅ 個人サーバの管理
  • ✅ 既存監視ツールの補助

企業での利用に適していない場合:

  • ❌ 本番環境の主要監視システム
  • ❌ 複数サーバの集中管理
  • ❌ リアルタイム監視

推奨する使い方:

  • Komonは「補助的な見守りツール」として使用
  • 本格的な監視は既存ツール(Zabbix等)を併用
  • 開発者が気づきやすい「やさしい通知」を活用

更新履歴

  • 2025-11-30: 初版作成