PowerPoint プレゼンテーション

Similar documents
PowerPoint プレゼンテーション

スライド 1

スライド 1

スライド 1

勉強会の流れ Google API の概要 デモ curl で実際に体験 Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 2

MIRACLE MH for SNMP サポート SLA( サービスレベルアグリーメント ) ML-CS-0747 本書は サイバートラスト株式会社 ( 以下 サイバートラスト ) が MIRACLE MH for SNMP サポート ( 以下当サポートサービス ) の内容について説明するものである

アジェンダ はクラウド上でも十分使えます 1. の概要 とは の導入事例 で利用される構成 2. をクラウドで使う クラウドサービスの分類 Amazon Web Services による構成例 2

アジェンダ Fluentd 入門 可視化ツールの紹介 事例 copyright 2016 SRA OSS, Inc. Japan 2

ハピタス のコピー.pages

Copyright 2008 All Rights Reserved 2

相続支払い対策ポイント

150423HC相続資産圧縮対策のポイント

Congress Deep Dive

Zabbix で PostgreSQL を監視! pg_monz のご紹介 Zabbix Conference Japan 年 11 月 20 日 SRA OSS, Inc. 日本支社マーケティング部

新バージョン! Zabbix 2.2 と検証結果のご紹介 SRA OSS, Inc. 日本支社山本博之 Copyright 2013 SRA OSS, Inc. Japan All rights reserved. 1

Microsoft PowerPoint - OSS運用管理勉強会資料_ a.pptx

Releases080909

HinemosのHatohol連携のご紹介 -OSSの運用統合ソフトウェア Hatohol はとほる NECソリューションイノベータ 中村桂一

9 WEB監視

初心者にもできるアメブロカスタマイズ新2016.pages

- 2 Copyright (C) All Rights Reserved.

Copyright 2017 JAPAN POST BANK CO., LTD. All Rights Reserved. 1

% 11.1% +6.% 4, % %+12.2% 54,16 6.6% EV7, ,183 Copyright 216 JAPAN POST GROUP. All Rights Reserved. 1

日本 PostgreSQL ユーザ会第 28 回しくみ + アプリケーション勉強会 Zabbix を使って PostgreSQL を監視してみよう 2014 年 2 月 1 日 TIS 株式会社中西剛紀 (Yoshinori Nakanishi)

P. 2 P. 4 P. 5 P. 6 P. 7 P. 9 P.10 P.12 P.13 P.14 P.14 P.15 P.17 P.18 P.20 P P P P P.25 P.27 P.28 Copyright 2016 JAPAN POST BA

Copyright All Rights Reserved. -2 -!

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ)

untitled

PowerPoint プレゼンテーション

Microsoft Word - 最終版 バックせどりismマニュアル .docx

FUJITSU Cloud Service for OSS 「システム監視サービス」ご紹介資料

よくある問題を解決する~ 5 分でそのままつかえるソリューション by AWS ソリューションズビルダチーム

目次 はじめに... 2 無料トライアルのサインアップ方法... 3 トライアル環境へのアクセス 参考情報

! Copyright 2015 sapoyubi service All Rights Reserved. 2

Zabbix パートナー会とは (1) 日本国内の Zabbix パートナーが集う会 北は東日本計算センターさんから 南は九電ビジネスソリューションズさんまで 日本国内の Zabbix パートナー企業 33 社 ( 参照 :

商用監視ソフトウェアユーザの Zabbix 移行へ朗報 Zabbix Event Viewer のご紹介 【本邦初公開】

スライド 1

DTD Reference Guide

untitled

Copyright Qetic Inc. All Rights Reserved. 2

APEX Spreadsheet ATP HOL JA - Read-Only

- 2 Copyright (C) All Rights Reserved.

Arcserve Replication/HA r16.5 のご紹介 Arcserve Japan 第 1.6 版 1

intra-mart Accel Platform — IM-BloomMaker プログラミングガイド   初版  

WagbySpec7

how-to-decide-a-title

スライド 1

URL AdobeReader Copyright (C) All Rights Reserved.

Zabbixを もっと使おう

健康保険組合のあゆみ_top

リバースマップ原稿2

intra-mart Accel Platform — Slack連携モジュール 利用ガイド   初版  

Oracle Enterprise Managerシステム監視プラグイン・インストレーション・ガイドfor Juniper Networks NetScreen Firewall, 10gリリース2(10.2)

BOM for Windows Ver.6.0 リリースノート

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

任意の間隔での FTP 画像送信イベントの設定方法 はじめに 本ドキュメントでは AXIS ネットワークカメラ / ビデオエンコーダにおいて任意の間隔で画像を FTP サー バーへ送信するイベントの設定手順を説明します 設定手順手順 1:AXIS ネットワークカメラ / ビデオエンコーダの設定ページ

PowerPoint プレゼンテーション

Fujitsu Standard Tool

BOM for Windows Ver

P. 2 P. 4 P. 5 P. 6 P. 7 P. 8 P. 9 P P.11 P.13 P.15 P.16 P.17 P.17 P.18 P.20 P.21 P.23 P P P P P P P.30 16

Cisco ViewMail for Microsoft Outlook クイックスタートガイド (リリース 8.5 以降)

アラートの使用

KiwiSyslogServer/KiwiLogViewer製品ガイド

Office 365 とのドメイン間フェデレーション

◎phpapi.indd

用意するもの Crystal Signal Pi 本体 Raspberry Pi 第一世代 Model B+ 以降 microsd カード microusb ケーブル 2017 年 12 月 19 日 インストール方法 Raspbian のインストール microsd カードに Raspbian を

ArcGIS for Server での Web マップの作成方法

PowerPoint プレゼンテーション

20 180pixel 180pixel Copyright 2014 Yahoo Japan Corporation. All Rights Reserved.

untitled

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

新製品 Arcserve Backup r17.5 のご紹介 (SP1 対応版 ) Arcserve Japan Rev. 1.4

PowerPoint Presentation

製品概要

レプリケーションについて レプリケーション元に設定したメイン機の共有フォルダーと レプリケーション先に指定した予備機の共有フォルダーを同期し 同じ状態に保ちます (LAN 環境により遅延が発生します ) 遠隔地へのレプリケーションにより メイン機側での災害 事故によるデータ損失のリスク低減ができます

設定フロー ★印は必須の設定です

Transcription:

Zabbix 最新情報セミナー Prometheus を利用した Zabbix 応用監視 2019/7/10 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 1

Zabbix 4.2 の新機能 アイテムの保存前処理で Prometheus との連携が可能に Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 2

内容 1. Prometheus? 2. Zabbix 4.2 Prometheusとの連携 3. Zabbix と Alertmanagerの連携 Alertmanager を利用して重複通知の削除 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 3

Prometheus? Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 4

Prometheus? メトリックスベースのモニタリングシステム Go 言語で作成 Apache ライセンス 2.0 Cloud Native Computing Foundation で開発 メンテナンス CNCF の目的 オープンソースでベンダー中立プロジェクトのエコシステムを育成 維持して このパラダイムの採用を促進したいと考えてます 私たちは最先端のパターンを民主化し これらのイノベーションを誰もが利用できるようにします Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 5

成熟度 6 プロジェクト 17 プロジェクト 15 プロジェクト Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 6

Prometheus のアーキテクチャ Prometheus サーバ AWS EC2 Azure DNS File scraping discovery evaluation WEB API HTTP Push GCP GCE OpenStack Kubernetes 監視対象の自動登録 HTTP Pull metrics HTTP PromQL Alertmanager exporter 監視対象 Pushgateway HTTP PUSH Prometheus WEB UI 可視化 通知 バッチジョブ Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 7

サーバと exporter について Prometheus サーバ discovery evaluation scraping WEB API HTTP Pull metrics exporter メトリックスを収集するエージェント 収集したいメトリックスごとに exporter を導入 Ex) http,postgresql,node 各 exporter は異なるポート番号で HTTP リクエストを待ち受け exporter 監視対象 Pushgateway HTTP PUSH バッチジョブ Prometheus サーバは定期的に HTTP リクエストを発行して exporter で公開されているメトリックスを収集 exporter 側の設定で公開するメトリックスを定義 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 8

exporter の種類 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 9

サーバと Pushgateway Prometheus サーバ discovery evaluation メトリックスを PUSH したい場合に利用 バッチジョブ等の実行結果を Pushgateway に PUSH scraping WEB API Pushgateway では PUSH された最新値を保存 HTTP Pull metrics Prometheus サーバからは Pushgateway に対してデータを PULL する exporter 監視対象 Pushgateway HTTP PUSH バッチジョブ Prometheus サーバに対して直接メトリックスを PUSH できない サーバはメトリックスを Pull するだけ 安定性に貢献 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 10

WEB UI と PromQL Prometheus サーバ discovery evaluation Prometheus サーバが WEB UI を提供しているが 1 度きりのグラフ作成 ダッシュボードとしては Grafana を利用 scraping WEB API Grafana は HTTP を利用してサーバからメトリックスを取得 PromQL でデータの選択 集計 HTTP PromQL 多数から絞り込んで少数のデータを参照例 ) パーティションの利用率を知りたい part_usage 各パーティションの利用率 (/,/var,/home,/data) part_usage{part= /var } /var の利用率 Prometheus WEB UI 可視化 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 11

ディスカバリ自動登録 Prometheus サーバ discovery evaluation scraping WEB API AWS EC2 GCP GCE OpenStack Azure DNS File Kubernetes 監視対象の自動登録 定期的に Prometheus がサービスディスカバリを行い監視対象を自動登録 EC2 のインスタンスのディスカバリを行う設定 - job_name: ec2sd' ec2_sd_configs: - region: xxx access_key: yyy secret_key: zzz port: 9100 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 12

評価と通知 Prometheus サーバ discovery evaluation Scraping 処理とは別処理でメトリックスの評価をおこなう PromQL によりメトリックに対して計算式を定義し新たなメトリックスを定義することもできる 閾値を定義して Alertmanager に HTTP で Push scraping WEB API HTTP Push Alertmanager Alertmanager が受け取ったデータはラベルが定義されており ラベル別に整理 集約ができる ラベル service : database があるアラートは管理者に通知ラベル env : staging は通知を行わないラベル alertname : httpd_down のアラートは 5 分ごとにまとめて WEB 管理者へ通知 通知 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 13

2.Zabbix 4.2 Prometheus との連携 X Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 14

exporter から metrics を取得 exporter HTTP メトリクス名 { ラベル名 = ラベル値, } メトリクス値 Prometheus の metrics を HTTP エージェントで取得 解析可能に Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 15

exporter の種類 Zabbix で使える! Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 16

Prometheus パターンの実例 1 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 17

Prometheus パターンの実例 2 1 つのメトリクスを特定できるようなパラメータ設定が必須 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 18

Prometheus パターンの実例 3 < ラベル名 >= ~ < ラベル値の正規表現 > も可能 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 19

Prometheus から JSON の設定 取得した Prometheus のメトリクスを JSON へ変換 JSON に変換したいメトリクスを < メトリクス名 >{< ラベル名 >=< ラベル値 >, }==< 値 > で指定 ( 組み合わせ自由 ) Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 20

Prometheus から JSON の実例 1 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 21

Prometheus から JSON の実例 2 [ { "name":"node_cpu_seconds_total", "value":"664924.22", line_raw":"node_cpu_seconds_total{cpu= "0 ",mode= "idle "} 664924.22 r", "labels":{"cpu":"0","mode":"idle"}, "type":"counter", "help":"seconds the cpus spent in each mode. r }, ] Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 22

Prometheus から JSON の実例 3-1 JSON へ変換して LLD ルールに活用 [ { "name":"node_cpu_seconds_total", "value":"664924.22", line_raw":"node_cpu_seconds_total{cpu= "0 ",mode= "idle "} 664924.22 r", "labels":{"cpu":"0","mode":"idle"}, "type":"counter", "help":"seconds the cpus spent in each mode. r }, ] Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 23

Prometheus から JSON の実例 3-2 プロトタイプを依存アイテムで設定保存前処理で LLD マクロを使用 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 24

Pushgateway との連携 Pushgateway も Exporter として機能 Pushgateway HTTP PUSH cat <<EOF curl --data-binary @- http://pushgateway.example.org:9091/metrics/job/s ome_job/instance/some_instance # TYPE some_metric counter some_metric{label="val1"} 42 # TYPE another_metric gauge # HELP another_metric Just an example. another_metric 2398.283 EOF バッチジョブ Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 25

Prometheus Federationとの連携 Federation Prometheusサーバ自身がExporterとして機能 Prometheus Prometheus Prometheus サーバ サーバ サーバ HTTP エージェント オンプレ-クラウド連携 -部分参照 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 26

3. Zabbix と Alertmanager の連携 X 対象 : Zabbix 3.2( 障害の手動クローズ ) 以降 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 27

Alertmanager が受信するデータ 1 [ 障害発生 ] Prometheus サーバから Alertmanager(AM) へ次の形式のデータを POST [ { "labels": { alertname : <requiredalertname>, <labelname> : <labelvalue>,... }, "annotations": { "<labelname>": "<labelvalue>", }, startsat : <rfc3339>, endsat : <rfc3339>, "generatorurl": "<generator_url>" }] 赤文字 : 必須緑文字 : 自由定義 青文字 : 省略可 Labels の内容が変わると違う通知データと解釈 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 28

Alertmanagerが受信するデータ 2 [障害復旧] Prometheusサーバから Alertmanager(AM)へ次の形式のデータをPOST [ { "labels": 赤文字 必須 { alertname : <requiredalertname>, <labelname> : <labelvalue>, 緑文字 自由定義... }, "annotations": { "<labelname>": "<labelvalue>", }, 青文字 省略可 startsat : <rfc3339>, endsat : 2019-07-04T09:28:21.835576682+09:00, "generatorurl": "<generator_url>" }] endsatで指定した時刻に 同じlabelsのイベントが復旧する Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 29

Zabbix と Alertmanager の連携 1 [ 障害発生 ] Zabbix のアクションから curl で POST [{ "labels":{ }, "alertname":"{event.name}", "hostname":"{host.name}", "severity":"{event.severity}", evnetid":"{event.id}", "itemkey":"{item.key}", "annotations":{ "lastvalue":"{item.value} }, "generatorurl": "http://zabbixurl/zabbix/tr_events.php?triggerid={trigger.id}&eventid ={EVENT.ID}" }] Zabbix のマクロを利用 EVENT.ID を渡すことで labels がユニークになる ITEM.VALUE など変動する値は annotaions に入れる Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 30

Zabbix と Alertmanager の連携 2 [ 障害復旧 ] 復旧時のアクションから POST [{ "labels":{ }, "alertname":"{event.name}", "hostname":"{host.name}", "severity":"{event.severity}", evnetid":"{event.id}", "itemkey":"{item.key}", "annotations":{ "lastvalue":"{item.value} }, endsat : アクション発報時刻を埋め込む, "generatorurl": "http://zabbixurl/zabbix/tr_events.php?triggerid={trigger.id}&eventid ={EVENT.ID}" }] Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 31

Zabbix の準備 Alertscript の作成 /usr/lib/zabbix/alertscripts/sendtoalertmanager.sh #!/bin/bash url="$1" messageorg="$2" fixends=`date "+%Y-%m-%dT%H:%M:%S.%N%:z"` proxy=${3-""} if [[ "$proxy"!= '' ]]; then proxy="-x $proxy" fi message=${messageorg/:endsat:/$fixends} return=$(curl $proxy -H "Content-Type: application/json" -d "${message}" $url) :endsat: というパラメータがあれば date コマンドで作った日時を埋め込む スクリプトの定義 第 1 引数 Alertmanager の URL 第 2 引数 デフォルトのメッセージ Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 32

Zabbix の準備ユーザにメディアを登録 AlertmanagerのURLを指定 http://alertmanager:port/api/v2/alerts Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 33

Zabbix の準備アクションの定義 未使用 POST されるデータ Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 34

Zabbix の準備実行内容の定義 [ 重要 ] 障害中は AM に定期的に通知する設定 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 35

Zabbix の準備アクションの定義 未使用 endsat : :endsat: Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 36

Alertmanager の設定全体 global: smtp_smarthost: smtpserver:25' smtp_from: 'alertmanager@sraoss.co.jp' smtp_require_tls: false resolve_timeout: 5m グローバル設定 SMTP の設定など route: receiver: mailtouser group_wait: 30s group_interval: 5m repeat_interval: 4h group_by: [alertname,hostname] routes: - match: severity: Disaster group_wait: 5s デフォルト設定 ルーティングの設定どういう条件で誰に通知するか? receivers: - name: mailtouser email_configs: - to: someone@sraoss.co.jp' send_resolved: true 通知先の設定 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 37

Alertmanager の設定 global global: smtp_smarthost: smtpserver:25' smtp_from: 'alertmanager@sraoss.co.jp' smtp_require_tls: false resolve_timeout: 5m 障害が発生し Prometheus サーバが AM に通知データを POST したあとは 同じラベルをもったデータを Prometheus が定期的に AM にデータを送る resolve_timeout 時間 (default:5m) データが届かないと回復したとみなす Zabbix からは ステップ を利用して定期的に AM にデータを送る 障害アクション ステップ resolve_timeout の時間を増やして Zabbix のステップ実行間隔も増やすした方がよい Alertmanager 復旧アクション 時間 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 38

Alertmanagerの設定 route: receiver: mailtouser repeat_interval: 4h group_wait: 30s group_interval: 5m group_by: [alertname,hostname] routes: - match: severity: Disaster group_wait: 5s 子ルートの定義 Zabbixの重要度[致命的な障害]の ケースでは group_waitを30秒から 5秒に上書きしている例 route group_wait default:30s) 最初の通知を受信してから発報ま で待つ時間 しばらく待って通知をマージ group_interval(default:5m) 通知をまとめる時間間隔 group_by 指定したラベルで通知を集約 repeat_interval(default:4h) 再通知を行う時間 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 39

Alertmanagerの設定 receivers: - name: mailtouser email_configs: - to: someone@sraoss.co.jp' send_resolved: true receiver send_resolved (deafult: false) 障害回復通知を受け取るかどうか - name: sendtoslack slack_configs: - api_url: 'https://hooks.slack.com/services/xxxx/yyyy/zzzz' channel: '#notification' send_resolved: true title: '{{ if eq.status "firing" }}[障害発生]{{else}}[障害回復]{{end}} {{.GroupLabels.alertname }}' http_config: proxy_url: 'http://proxyurl:proxy-port' Slack通知例 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 40

通知時系列 Labels{ alertname : DB エラー ","hostname": server1, eventid : X } Zabbix から発行された通知 障害復旧 X=1 X=2 X=3 X=4 ( 注 ) 図示していませんがステップ間隔で再送されています 時間 Alertmanager group_wait group_interval 1 通目 2 通目 X=1 X=2 X=1 X=2 X=3 X=4 メール送信された内容 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 41

Labels{ alertname : DB エラー ","hostname": server1, eventid : X } Zabbix から発行された通知 障害 復旧 X=3 X=4 X=1 X=5 時間 Alertmanager group_interval group_interval 2 通目 3 通目 X=1 X=2 X=3 X=4 X=1 X=2 X=3 X=4 X=5 メール送信された内容 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 42

Labels{ alertname : DB エラー ","hostname": server1, eventid : X } Zabbix から発行された通知 障害 復旧 X=1 X=5 X=2 X=3 X=4 X=5 時間 Alertmanager 3 通目 group_interval 4 通目 group_interval X=1 X=2 X=3 X=4 X=5 X=2 X=3 X=4 X=5 メール送信された内容 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 43

実際のメール内容 AlertManager の UI へ Zabbix のイベント障害画面へ Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 44

通知の Silence( ミュート ) 機能 Alertmanager の UI から通知の抑止ができる 指定時間内に特定のラベルがある場合には通知をしない Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 45

Alertmanager クラスタ Labels の内容が同じであれば同じ通知データ Alertmanager Alertmanager 互いの Alertmanager が連携して通知を抑止 Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 46

まとめ Prometheus と連携することで監視メトリックスを効率よく取得できる Alertmanager を使うと通知の集約ができる Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 47

ご清聴ありがとうございました Copyright 2019 SRA OSS, Inc. Japan All rights reserved. 48