mito’s blog

IT技術メインの雑記。思い立ったが吉日。

Zabbix

Zabbixで正規表現を使ったトリガーによるsyslog監視を行う(更新版)

この記事は、Zabbix Advent Calendar 2020 - Qiitaの23日目のエントリです。 目的 今年の4月ごろに書いた、正規表現を使ったsyslog監視のトリガーの記事のアクセスが多かったので、丁寧に書きおなしてみました。 Zabbixのバージョンは5.2ですが、4.0でも設定…

Zabbix5.2の新機能「収集済みデータの分析による障害検知」を試してみた

この記事は、エーピーコミュニケーションズ Advent Calendar 2020 と Zabbix Advent Calendar 2020 の10日目のエントリです。 収集済みデータの分析による障害検知とは 新たに利用できるトリガー関数は、蓄積した長期間の監視データを解析し、通常時とは異な…

「Ansible × Zabbix」通信断復旧時の自動ログ取得をREST APIで改善する

概要 ZabbixでNW機器を監視し、通信断が復旧したらAnsibleでログを自動取得します。 昨日の記事では、Ansible側に監視対象機器のIPアドレスを設定しており、使いまわすような設定ではありませんでした。 「Ansible × Zabbix」通信断が復旧したときのログ取得…

「Ansible × Zabbix」通信断が復旧したときのログ取得を自動化する

概要 ZabbixでNW機器を監視し、通信断が復旧したらAnsibleでログを自動取得します。 NW機器はcsrとし、show running-configとshow logを取得します。 環境 Software Versions AWX(Ansible) 13.0.0 Zabbix 5.0 1.Zabbixの構築 先日の記事の環境を使用します。…

【Zabbix5.0 × Redmine】障害チケットを自動起票する

やったこと Zabbix5.0で追加されたRedmineのWebhookを使って、障害チケットを自動起票させました。 スクリプトを書く必要がなく、とても便利でした。 環境 Versions OS Zabbix5.0 Amazon Linux 2 Redmine3.4 centos7.7 1.Zabbixの構築 先日の記事の環境を使…

zabbix4.0しか触っていないので、zabbix5.0を構築してNW機器を監視してみた

やったこと zabbix5.0が4.0からどのくらい変わったのか気になるので、NW機器の監視設定を入れるところから触ってみました。 触ってみた感想としては、新機能以外は4.0の知識で特に悩まず設定できます。 ユーザーインターフェースは変更され、メニューが左サ…

【Zabbix4.0】監視間隔のカスタマイズで、監視アイテムの取得タイミングをそろえる

やりたいこと トラフィックの取得タイミングをそろえたい。 例えば、複数の機器のトラフィックを3分間隔で取得するとき、Zabbixサーバのスペックや機器数などにより、トラフィック取得時のXX分がそろうとは限りません。 Zabbix上ではそれで問題ないのですが…

snmptrapコマンドでlinkDown/LinkUPを疑似的に発生させ、Zabbixのsnmptrap設定を確認する

やりたいこと 本番環境でsnmptrapの設定を確認したい。 まとめ まず、zabbix serverにsnmtrapの設定を行います(手順は過去記事を参照) 次に、snmptrapコマンドを実行し、ifIndex10のLinkDownを疑似的に発生させます。 snmptrapコマンド LinkDown snmptrap -v…

【Zabbix4.0】正規表現を使ったトリガーで、syslogを効率的に監視する

※Zabbix5.2を元に、丁寧に書いた更新版を投稿しました。Zabbix4.0でも設定出来ます。 mitomito.hatenablog.jp やりたいこと syslogを、対応が必要なログ(既知・未知)、対応が不要なログ(既知)の3種類に分けて管理、検知したい。 まとめ Zabbixには、設定に正…

【Zabbix4.0】snmptrapのLinkDown/LinkUpをインターフェースごとに監視する

やりたいこと snmptrapのLinkDown/LinkUpをインターフェースごとに障害条件式LinkDown、復旧条件式LinkUpとして監視したい。 また、機器のどのインターフェースがDownしたのか一目で分かるようにしたい。 まとめ トリガーのタグ設定とsnmptt.confの修正によ…

【Zabbix4.0】ローレベルディスカバリのフィルタで、特定のインターフェースのみを監視する

やりたいこと 作成・管理するテンプレート数を出来る限り少なくします。 その上で、機種(インターフェース数)の違いを吸収でき、さらに使用しているインターフェースのみ監視するテンプレートを作ります。 手動で設定する場合、機種ごとに監視アイテム(≒テン…

【Zabbix4.0】トラフィック送受信量(bps)を取得するときの設定

やりたいこと トラフィックの送信量、受信量(bps)を取得したい。 まとめ MIBには、トラフィックの送信量、受信量(bps)のOIDはありません。 その為、以下の送信・受信したPacketの総バイト数のOIDを取得し、1秒毎の差分、かつbitに変換します。 OID MIB 説明 …

【Zabbix4.0】ホストごとに閾値の異なるトラフィック監視を、マクロを使って効率的に実現する その2

やりたいこと トラフィック監視の閾値はホスト単位、ホストグループ単位、共通の3パターンがあります。 以下のようにそれぞれ役割がありますので、柔軟に設定できるようにします。 単位 トラフィック閾値 役割 ホスト 7GBps 一時的に適用したい ホストグルー…

【Zabbix4.0】ホストごとに閾値の異なるトラフィック監視を、マクロを使って効率的に実現する その1

やりたいこと トラフィック監視のテンプレートを効率的に作成できること。 ホストごとに、トラフィックの閾値を柔軟に変更できること。 まとめ ホストマクロ、テンプレートマクロ、グローバルマクロは、以下の優先順位で適用されます。 優先順位 高 ホストマ…

【Zabbix4.0】ログ監視で障害名(トリガー名)に検知したログを載せる

やりたいこと syslogの監視にて、errorなどを含むログを検知したら、障害名(トリガー名)にログを載せる。 要約 テンプレート「Template Linux Log」にある、トリガー「Log message Error in /var/log/messages on {HOST.NAME}」の名前を「{ITEM.VALUE}」に変…

【Zabbix4.0】障害通知を他システムへ連携しようとして、改行コードでハマった話

やりたいこと Zabbixで検知した障害を他システムに連携し、チケットとして管理する。 要約 アクションのデフォルトメッセージに含まれる改行コードCRLFにより、スクリプトのcurlコマンドが意図した通りに動かなかった。 デフォルトメッセージ内の改行は必要…