作成者別アーカイブ: uraku

Zabbix 3.0で行った設定のみをバックアップする

OSSのサーバー監視ツール Zabbix はMySQL(やPostgreSQLなど)にデータを保存するのでDBのダンプ(とzabbix_server.conf)を取得しておけば概ねのバックアップが可能ですが、ログデータ(ヒストリ、トレンド)が巨大なデータになりがちです。おそらくログ系のテーブル以外をバックアップする事でコンパクトなバックアップにする事が出来る物と思われます。

ただ、Zabbix公式のドキュメントにはデータベースの中身の構造についての内容が見当たりません。

Database Schemas – Zabbix.org
https://www.zabbix.org/wiki/Database_Schemas

真偽不明な情報としては上記がZabbix 2.4のER図になります。これを参考にZabbix 3.0.10をインストールした状態のDBと見比べてみると、いくつかのテーブルで追加カラムが有る他、以下のテーブルが増えています。

  • application_discovery
  • application_prototype
  • item_application_prototype
  • opinventory
  • screen_user
  • screen_usrgrp
  • slideshow_user
  • slideshow_usrgrp
  • sysmap_user
  • sysmap_usrgrp

結構な数のテーブルが増えていますが、いずれも設定系のテーブルであり、ログ系のテーブルではないものと思われます。つまり以下のようなmysqldumpコマンドを投げれば設定のみをバックアップする事が出来る物と思われます

mysqldump -u [ユーザー名] -p –single-transaction –hex-blob \
–ignore-table=[DB名].alerts \
–ignore-table=[DB名].history \
–ignore-table=[DB名].history_uint \
–ignore-table=[DB名].history_str \
–ignore-table=[DB名].history_text \
–ignore-table=[DB名].history_log \
–ignore-table=[DB名].trends_uint \
–ignore-table=[DB名].trends \
–ignore-table=[DB名].auditlog \
–ignore-table=[DB名].auditlog_details \
–ignore-table=[DB名].events 
[DB名] | gzip > [ファイル名].gz

バイナリデータ(中身は画像)を含んだテーブルが有るので –hex-blob を付けておいてください。また、ファイル名は取得時刻が秒単位で分かるようにしておいた方がいいでしょう(後述)。

例: zabbix_configuration_only_backup_20170817_151515.sql.gz

復旧時の注意点

上記コマンドで取得したダンプデータですが、まっさらなZabbixに設定を投入するなら良いのですが、例えばZabbix画面上で設定変更を色々と行い、元に戻したいといった用途に使用しようとすると、ログに残ったアイテムIDなどでつじつまが合わなくなってくる可能性が有ります。安全を期すためには「itemid」カラムのあるテーブルに注意する必要が有ります。

データが欠けても良いのであれば、バックアップを取った時点以降のログデータを吹き飛ばすのが一番簡単だと思います。clockカラムにUNIXタイムの形式で日付が入っているので、それ以降のデータを飛ばします。

DELETE FROM alerts WHERE clock >= [UNIX時間];
DELETE FROM events WHERE clock >= [UNIX時間];
DELETE FROM history WHERE clock >= [UNIX時間];
DELETE FROM history_uint WHERE clock >= [UNIX時間];
DELETE FROM history_str WHERE clock >= [UNIX時間];
DELETE FROM history_text WHERE clock >= [UNIX時間];
DELETE FROM history_log WHERE clock >= [UNIX時間];
DELETE FROM trends_uint WHERE clock >= [UNIX時間];
DELETE FROM trends WHERE clock >= [UNIX時間];

DELETE audit_d FROM auditlog_details AS audit_d
LEFT JOIN auditlog USING(auditid)
WHERE auditlog.clock >= [UNIX時間];

DELETE FROM auditlog WHERE clock >= [UNIX時間]

auditlog_detailsはauditlogに関連しており、単体ではclockカラムを持っていないのでdetailsの方を先にDELETEする必要が有ります。これらDELETE分をzabbix-serverが停止した状態で実行し、その後バックアップのダンプデータをDBに流し込みます。

最後に

あくまでDBのテーブルのカラム名などから推測してバックアップをしているので、この方法には何かしら不具合が含まれる可能性が有ります。非公式なバックアップ方法なので、自己責任でのご利用の程お願いします。

また、あくまでZabbix 3.0.10時点でのテーブル内容を参考にしているので、3.2等ではそのまま動かない事も有るかと思います。

なお、Zabbixの有償サポートに入っているユーザーであれば、公式で(おそらくより高機能な)設定のみのバックアップと復元が可能なようです。整合性をチェックをするような記載も有るので、この方法のようにデータを飛ばす必要も無いのかもしれません。ミッションクリティカルな用途で使うなら、サポートの有るツールを使った方がいいでしょう。

Zabbix設定バックアップツール | Zabbix Enterprise
http://enterprise.zabbix.co.jp/solutions/3661


ブログをAzure WebAppsからAmazon Lightsailに移設してみた。良い所と引っかかった所など

無料版のAzure WebAppsはそれなりに良い物だったのですが、いかんせんスペック不足過ぎており、上位のプランにアップしようと思うといきなり数千円からという価格になってくるため、AWSのAmazon EC2よりもお安く使えるAmazon Lightsailに移設してみました。

EC2(AWSにおけるIaaSなクラウドサーバ)とLightsail(AWSにおけるVPS)の違いは以下のようになっております。

Amazon EC2

  • 完全従量課金で1時間単位の課金。
  • ネットワーク使用量についても従量課金。
  • スケールアップ、スケールダウンがいつでも自由にできる。
  • ディスクの拡張も比較的容易。
  • オートスケーリングを用いたスケールアウト、スケールインも(動かすプログラムが対応していれば)簡単。
  • VPCでの様々なネットワーク制御。
  • IAMによる細かな権限制御。

Amazon Lightsail

  • マシン自体は月額定額制の固定料金(5ドル~)。スナップショットについては容量に応じた従量課金。
  • ネットワーク使用量に比較的大きめ(1TB~)の無料枠有り。
  • ディスク容量はプランごとに固定。
  • スケールアップする場合はスナップショット作成からの新マシン作成となる。
  • EC2のコンパネとは色々と勝手が異なる。EC2のVPCとも異なるのでVPC関連で出来る事でLightsailでは出来ない事が多々ある。
  • 中身はEC2のt2インスタンス(のような物)だと思われる。ハイエンドな性能は求められない。
  • 他のVPSサービスとは異なり、EC2と同じ「Amazon Linux」が使える。

今回はt2.nanoベースと思われる月額5ドルのプランにしてみました。nanoインスタンスはCPUクレジットに不安が残るものの、今のところ明らかにAzure WebApps 無料プランよりは快適に動いています。

以下、移設の中で引っかかった所をまとめておきます。

LightsailのDNS機能はRoute53側でネームサーバーの変更が必要

LightsailにはAmazon Route53とは別のDNS管理機能が有り、一般的なVPSサーバを建てるための設定が全てLighsail側で完結するようになっているのですが、ここでRoute53でドメインを取得しているとひと手間必要になります。

Route53で新規取得したドメインは自動でNSレコードやSOAレコードがRoute53側に設定されますが、LightsailのDNS管理機能を使うにはここでネームサーバの指定をLighsailのDNS機能のネームサーバーへ変更してやる必要が有ります。

考えてみれば当たり前なのですが気づくのに結構時間がかかりました。ネームサーバの指定は例えばGoogle Plubic DNSのキャッシュ フラッシュ機能でもフラッシュ出来ないので、結構な時間変更の反映を待つ形になります。仕方が無いのでRoute53側でも一次的なAレコードを追加しました。

今思うとドメイン関連は、Route53だけで完結させても良かった気がします。

WordPressのサイトURL変更

昔SQLでパパっと変更すればOKだったような気がしますが、実際にはテキストではない形でデータを持っている部分も有りダメという情報を見かけました。

サイト URL の変更 – WordPress Codex 日本語版
https://wpdocs.osdn.jp/%E3%82%B5%E3%82%A4%E3%83%88_URL_%E3%81%AE%E5%A4%89%E6%9B%B4

上記を参考にwp-login.phpに一次的に

update_option('siteurl','http://example.com/');
update_option('home','http://example.com');

を記載する形で対応しました。

動かない301リダイレクト系プラグイン

WordPressはサイト移設時に行う301リダイレクトについてもプラグインがいくつか有り、移行元サイトの方で「Simple 301 Redirects」「Redirection」等を試してみたのですが、なぜか動かない。もしかしてHTTPヘッダの送出ではなく.htaccessファイルを作るなど、Apacheであること前提のプラグインだったりするんでしょうか?(未確認)

仕方が無いので(Azure WebAppsはIISなので)web.configを編集して対応しました。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
 <rewrite>
 <rules>
 <!--
 もともとWordPressを動かすために書いてあったURLリライトルール
 -->
 <rule name="Redirect All" stopProcessing="true">
 <match url="(.*)"/>
 <action type="Redirect" url="http://www.sodo-shed.com/{R:1}" redirectType="Permanent"></action>
 </rule>
<!-- 以下略

これで問題なく新サイトへのパス指定を維持したリダイレクトが動いています。最初からこれでよかったですね。

OOM Killerで死ぬMySQL

最初からメモリが少ない(一番下の月額5ドルのプランは512MB)事が分かっているので、
innodb_buffer_pool_size=64M
にするなど相当にしょっぱい設定にしていましたが、それでもMySQLが起動しません。スワップ領域を追加する事で起動するようになりました。

Amazon EC2, mysql aborting start because InnoDB: mmap (x bytes) failed; errno 12
https://stackoverflow.com/questions/10284532/amazon-ec2-mysql-aborting-start-because-innodb-mmap-x-bytes-failed-errno-12

に記載の方法で追加(以下引用)。

Run dd if=/dev/zero of=/swapfile bs=1M count=1024
Run mkswap /swapfile
Run swapon /swapfile
Add this line /swapfile swap swap defaults 0 0 to /etc/fstab

私は1024MBではなく2048MBでスワップを作成しました。一度の接続数が10に満たないサイトですが、以下のようなメモリ使用状況になります。vm.swappinessは20に設定しています。

$ free -m
            total used free shared buffers cached
Mem:           89  473   16     33      41     85
-/+ buffers/cache: 345  143
Swap:        2047  336 1711

月額10ドルのプランではメモリが1GB有るので、お試しでも512MBはちょっと……という方はそちらを選ぶといいと思います。

CPUクレジット残高の確認方法が無い

前述のようにt2系インスタンス(と同じような制御の物)を使っている可能性が高いのですが

Amazon Lightsailのベンチマーク – 稲葉サーバーデザイン
https://inaba-serverdesign.jp/blog/20161208/aws_lightsail_benchmark.html

t2系では重要なCPUクレジットバランス(CPUクレジット残高)を確認する方法が、すくなくともマネジメントコンソール上では見当たりません。CloudWatch側のメトリクスにも有りません。

t2系インスタンスはクレジットが枯渇しそうでないか、だけを見ればCPUについて今のスペックが適切かどうかが分かりますが、それが無いのでサーバー監視の設定は何かしら別で用意した方がよさそうです。

まとめ

他にも何かあったような気がしますが、CPUクレジット以外については当たり前と言えば当たり前に必要になる対応なので、逆にそれ以外は特殊なことは無く、EC2でAmazon Linuxを立ち上げるような気持ちではるかに格安なサーバーを建てる事が可能でした。価格重視だと国内VPSにも種類は多いですが、AWSである事、VPC間接続でEC2 VPCとの接続が可能である事、その他AWSで提供されるサービスとの親和性、Amazon Linuxが使えることなどにメリットを感じるならなかなか良いんじゃないでしょうか。


THE IDOLM@STER CINDERELLA GIRLS 5th LIVE TOUR Serendipity Parade!!! の感想

大ボリュームだったシンデレラガールズの全国ツアーも、先日2017年8月13日をもって千秋楽を迎えました。

今回のライブは、これまでのライブ以上に人によって感想の「細かい部分」が違っているように思います。Twitterなどでも色々な感想やらその他さまざまな物が流れてくるので、自分自身の感想が自分自身の物でなくなってしまう前に書き残しておきたいと思います。

まず、ツアー全体を通して、これは悪い意味ではないと先に断っておきますが「大きな感動」は用意されていないライブでした。例えばサプライズ出演的な物は無く、アニメ版終了後の総決算でも有りません。新しいボイス付きの発表も有りません。これは3rdや4thとは大きく異なります。

では、何が有ったかというと、実現したユニットとその楽曲によりこれまで以上に横のつながりの増えた演出や楽曲、ただただパフォーマンスとかつてない出演メンバー数で魅せてくる、「ライブ内容」で盛り上げてくれる「ライブ」でした。

何かの節目でなくてもこれだけの大ボリュームが有る。ひたすら楽しませてくれる。とても良いと思います。5thはひたすらに「楽しい」ライブツアーでした。

もちろん、ただ楽しくて終わったわけではありません。立花理香さんのSSA day1での挨拶からも、シンデレラの「難しい部分」はキャスト・スタッフその他関係者の皆様の方がよっぽど分かっている事を再確認しますし、そうした中でここまで良いツアーに出来たのは本当にそれぞれの尽力が有ったんだろうなと感じます。

1公演1公演が次が更に凄いものになるような、一人一人がより良くするために本当に考えてきた部分も、曲中の演出、トークの割り振り、衣装など様々な所から感じられました。

他の各キャストからも、演じるキャラクターとの向き合いについて語ってくれた椎名法子役の都丸ちよさんや依田芳乃役の高田憂希、悔いはないがまだまだ満足していないと言い切る五十嵐裕美さんや、これからも高みを目指す松井恵理子さんらなど、様々な思いが有りました。シンデレラを初期から支える五十嵐さんの「アイマスですよアイマス」コールは、全くもって古参ではない私にも感慨深いものが有りました。

それらが有ってこれだけ「楽しかった」で終われるライブになったのは本当に良かったと思います。どの曲のどの部分が、を語ってもいいけど、とにかく楽しかったのです。それでいて何かの節目でも何でもない、これからの事をしか考えていない、明るい内容。

ここで楽曲面に触れておくと、これまでにない鮮烈なデビューと共に宮城やSSA公演で圧の有るパフォーマンスを見せてくれた早坂美玲役の朝井彩加さんの∀NSWER、SSA公演ではインディヴィジュアルズフルメンバーとはならず星輝子役松田颯水との2人での登場でしたが、これまでにも迫力の有る歌唱を見せていた松田颯水さんにも対抗できる勢いを感じました。森久保乃々の加わったインディヴィジュアルズの本当の「強さ」を見られる日が楽しみですね。

そして青木瑠璃子さん、安野希世乃さんによる「Jet to the Future」はロックザビートのこれまでの歩み、これからの繋がりを熱く熱く突き抜けたパフォーマンスで魅せてくれました。

他のロック系な曲とはまた違う盛り上がりを見せる千菅春香さんによる「One Life」は、どこか孤高さを感じさせる曲とステージ、張り詰めた歌声、それらが会場に押し寄せてくるような感覚は相当に体に響いてきました。

SSA day1公演では幕張以上に「よしのん」になった高田憂希さんによる「祈りの花」、衝撃的な程に完璧にアイドルとしての輝きを放つ中島由貴さんの「追い風Running」、完成をみた「ニャンと☆スペクタクル」、ついに大型ライブへの出演がかなった原田ひとみさんによる「アップルパイ・プリンセス」、熱量凄まじい「熱血乙女A」。サマプリと「サマカニ」の強さ。まだまだいくらでも有るのですがこれ以上は結局長々とした感想になってしまいます。

今回のツアーでは全体的にキャスト陣のキャラクターの表現が変わっているようにも感じられ、よりキャラに近づいているように感じられる部分も有れば、捉え方によってはキャラから離れているようにも見える部分も有りましたが、それらはSSA day1にて「自然体」「寄せる事を頑張るだけでなく中の人としても楽しむ」といった話があり納得感が有りました。アイマスのライブ、これからも続いていくコンテンツとしてとてもポジティブな方向性だと思います。

この辺りでライブ事態に関する内容は締めくくろうと思うのですが、なぜ今回感想が多岐にわたるように感じられるかというと、見る側にしても演じる側にしても立場が増えてきたのではないかなと思います。これだけキャストが増えた中で担当が出ているか、ソロ曲が有るのか、ユニット曲は多いのか少ないのか、まだ声が無いのか、ソロ曲が無くてもユニットとしてどんどん出てきて欲しい人、どうしてもソロ曲が欲しい人、今ツアーが初参加の人、シンデレラを長く支えてきた人、ついに全メンバーが揃ったユニット、キャラクターとの向き合い方もキャストそれぞれに違いが有り違いは有ってもそれぞれのスタンスでキャラの事を考えている、これまで以上にお互いに居る場所に違いが有るのかもしれません。

良くも悪くもパフォーマンスで魅せるライブとなり、周辺情報の提供が少な目に感じられたのも、見た側の何か考える余地を増やしているのかもしれません。

でも、私はやっぱりそういった中でこれだけの要素がまとまり、多メンバー、大きなトラブルもなく、ひたすら「楽しい」ライブとして終演を迎えられたのは良かったと思います。到底簡単に出来る物ではなくキャスト・スタッフ・関係各社あっての「奇跡の大行進」でした。

これからも「難しい部分」は沢山有ると思います。CDの進捗であったり、自担当の扱いであったり、いろいろあるかもしれませんし、明確な担当が居ないPもファンも自称しないタイプの私(※1)のような人には分からない、と思われる部分も有るかもしれませんが、ひとまず「楽しかった」事を書き残しておきたかった。

村上巴や藤原肇ら5人のこれから出会えるボイス、今後活躍の場を広げてほしい今井加奈や佐城雪美、浅利七海に思いをはせたり、楽曲についてもこれまで以上に様々なジャンルであったり、キャラの魅力を深堀りするような物であったり、鮮烈なサウンドであったり(※2)を求めつつも、ひとまず筆をおきます。皆様ほんとうにお疲れ様でした。

※1: キャラクターやストーリーも良いのですが、やっぱり私は楽曲がこのコンテンツの魅力として第一です。

※2: 個人的にはもっと暗い曲であったり、ダウナーに聞ける曲が出てきてほしくも有ったりしますが、シンデレラには合わないしなかなか期待しづらいだろうなとも思います。


ペイントの代わりに搭載されるペイント3Dの「2D機能」

Windows 10 でお亡くなりになると話題の「ペイント」ですが、代わりに搭載されている「ペイント3D」の「2D機能」への言及をあまり見かけないのでちょっと紹介してみようと思います。

基本機能

線を入れる、文字を入れる、切り抜く、図形等の基本的な機能はもちろんありますので、日ごろのペイントの用途は満たします。

ペン

文字入れ。斜めにも出来る。

切り抜き(トリミング)

雑コラに使えそう……で使えないマジック選択

3Dで画像全体を選択(Ctrl+A)しマジック選択を選ぶと背景から対象の物だけをいい感じに切り取れる(かもしれない)マジック選択が利用できます。込み入った画像だとなかなかいい感じにはなりませんが、選択範囲の追加、削除で調整していくことができます。切り取った後は自由に移動したり、3Dっぽく角度を付ける事が可能です。元の場所はペイント3Dによって自動で埋め立てられます。

代わりと言っては何ですが、自由選択機能(いわゆる投げ縄)がペイント3Dには有りません。これは今後のアップデートで載せてほしいものです。

ステッカー

Twitterアプリから画像投稿をする際に使えるアレみたいなものです。使い道は何とも言えませんがステッカーが貼れます。

他にもペイント3Dのメイン?機能である3D関連の機能が有ります。この辺は興味がある方はどうぞという感じで。以上、ペイント3Dの2D機能でした。