======================== hive 内 zabbixの利用 ======================== リポジトリサーバではサーバと Swarm サービスを監視する Zabbix が稼働しています。 監視内容 ================================= hive 内 zabbix では、以下の状態が発生するとイベントが発生します。 このイベントをメールや Slack などに通知することによって、障害の発生や予兆を検知できます。 - プロセス数が上限の80%を超えると警告 - CPU使用率が5分間継続して90%を超えると警告 - メモリ使用率が5分間継続して90%を超えると警告 - スワップの使用率が5分間継続して50%を超えると警告 - メモリ残量が5分間継続して5Mbytes を切ると警告 - ロードアベレージが5分間継続して1.5 を超えるとと警告 - サーバの時刻が60秒以上ずれると警告 - サーバのZabbixエージェントが3分以上にわたって応答がない場合は警告 - サーバの再起動が行われると警告 - ディスクI/Oの応答時間が15分間に渡って20msを超えている場合は警告 - マウントしているファイルシステムの使用率が80%を超えて、かつ残量が10Gを切ると警告 - マウントしているファイルシステムのinodeの残量が5分間継続して20%を切ると警告 - ネットワークインタフェースのエラー率が5分間継続して2%を超えると警告 - ネットワークインタフェースのリンクダウンがあると警告 - サービスに対応するコンテナが落ちていると警告 - サービスに対応するコンテナが再起動すると警告 - ボリュームの使用率が30分間継続して90%を超えると警告 - DRBDの同期状態が崩れると警告 - Standalone型コンテナの内部サービスが落ちていると警告 - Standalone型コンテナの内部サービスが再起動すると警告 - リポジトリサーバに送られてくるログの中に monitor_error 属性で指定された文字列が含まれていると警告 - SE Linux で設定されたポリシーに違反したアクセスがあると警告 - /etc/passwd の内容が変更されると警告 Slack に通知する ================================= Zabbix のイベントを Slack に通知するための、設定手順を示します。 slack 側の設定 --------------------------------- 1.Application を作成 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ slack に Application を作成してください。 `Slack の Your Apps `_ の「Create New App」でアプリケーション「hive_builder_zabbix」を作成してください。この名前は任意のもので構いません。 2.Bots を追加 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Basic InformationのAdd features and functionalityでBotsを選択してください。 3.OAuth & Permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 左メニュー「Features」-「OAuth & Permissions」を選択してください。 「Scopes」で Add an OAuth Scope を実行して chat: writeを追加してください。 4.Access Token コピー ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 「Bot User OAuth Access Token」の Token 文字列をコピーしておいてください(後ほど Zabbix に設定する)。 hive-builder 設定 --------------------------------- 1.メディアタイプを作成 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 「Administration」-「Media Types」で(標準添付の)「Slack」を開き、「Parameters」で以下3点を修正してください。 - 「bot_token」に、前項でコピーした Token を入力 - 「channel」に、通知先のチャネル名を入力 - 「zabbix_url」に、「http://127.0.0.1:10052/」を入力 .. note:: zabbix_url は slack に通知されるメッセージに「Open in Zabbx」というリンクで埋め込まれます。 プロキシサーバなどを使用して hive内 zabbix に外部からアクセスできるようにしている場合は zabbix_url にその URLを設定するほうが良いでしょう。 参考:https://qiita.com/migaras/items/bc0dde421af9650d109c