月: 2015年11月

Macで写真Appの写真やビデオをiPadやiPhoneに同期する方法。

MacBookAirの容量が128GBしか無くて娘の写真が入りきらないので
半年くらい前に外付けHDDに写真Appのデータを外出しして運用してました。

で、最近iPadAirを導入したのでベストな動画だけでもiPadAirにいれて持ち運びたいなぁー
と思ってやり方を調べました。

基本的はやり方は写真AppでiPadに同期したい写真や動画を集めたアルバムを作成し、
それをiTunes経由でiPadに同期させるという手順。

Appleのサイトは以下

コンピュータから iOS デバイスに iTunes を使って写真を同期する
https://support.apple.com/ja-jp/HT201313

で、上記のサイトをみながらやってみたけど何故か「選択したアルバム」のラジオ
ボタンが選択出来ず、「すべての写真とアルバム」しか選択できない・・・。

しばらく悩んでいると「システムフォトライブラリ」という文字に気がつく。
「システムフォトライブラリ」ってなんだ?

「写真」でシステムフォトライブラリを指定する
https://support.apple.com/ja-jp/HT204414

これだ!多分!外付けに写したから外れてたんだな!

写真の環境設定

すると、iTunes側で・・・

アルバム選択

選択できた!!!

で、無事に選択したアルバムだけがiPadに同期されました。

あと。。「写真」っていうアプリ名だと検索しづらくないですか?

OpenVZで「Cannot allocate memory」が出た件。

OpenVZで「Cannot allocate memory」が出た件。

開発環境でエラーが出てると報告を受ける。

$ ls
ls: error while loading shared libraries: /lib/libpthread.so.0: cannot apply additional memory protection after relocation: Cannot allocate memory

メモリって出ているけどfreeで見た感じはメモリを使いきっているわけでは無かった。

OpenVZなのでゲスト側で以下を叩いて確認。

# cat /proc/user_beancounters

kmemsizeでfailcntが出ていた。

どうもkmemsizeのリミットが14MBでそこでひっかかっている様子。

kmemsizeとは?
OS カーネルによって割り当てられるスワップ不可のメモリサイズ(バイト)。
これには、コンテナプロセスと関連付けられたすべてのカーネル内部データ構造が含まれます(ネットワークバッファは除く)。
これらのデータ構造はサーバ RAM の最初のギガバイトに常駐するため、”low” メモリと呼ばれます。

いくつに設定していいのかわからなかったので調査。

takeのとりあえず社長日記 やっとこさOpenVZ本番運用開始。
http://blog.y2ji.co.jp/archives/51826799.html

上記ブログでメモリ1GBにつき128MBくらいということなので、
今回は3GBのメモリを割り当てているので384MBを割りあててみることに。

元が14MBだったので大幅増量。大丈夫か・・・?

CPIでは32MBとという記事も見つけた。
まつぼ x Web kmemsize
http://matsu.teraren.com/blog/2010/04/22/kmemsize/

まぁしかし開発環境なので大幅に増やしてみる。

ホスト側で。

# vzctl set 175 --kmemsize 384M --save

ゲト側で確認。

# cat /proc/user_beancounters
       uid  resource           held    maxheld    barrier      limit    failcnt
      175:  kmemsize       15109212   15679488  402653184  402653184        313

limitが384MBに上がっている。

エラーも出なくなったのでしばらく様子見。。

ローカルにインストールしているJIRAが落ちた際の対応

ローカルにインストールしているJIRAが落ちた際の対応

JIRAをローカルインストールして使ったいたらいきなりJIRAが落ちた。

ログファイルを探してみてみると↓こんなエラーが・・・。

ログファイルの場所:/opt/atlassian/jira/logs/catalina.2015-11-19.log

11 19, 2015 3:16:57 午後 org.apache.catalina.startup.ContextConfig processAnnotationsFile
重大: Unable to process file [/opt/atlassian/jira/atlassian-jira/WEB-INF/classes/com/atlassian/jira/scheme/DefaultSchemeFactory.class] for annotations
java.io.FileNotFoundException: /opt/atlassian/jira/atlassian-jira/WEB-INF/classes/com/atlassian/jira/scheme/DefaultSchemeFactory.class (システム中のファイルを開きすぎです)
        at java.io.FileInputStream.open0(Native Method)
        at java.io.FileInputStream.open(FileInputStream.java:195)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2032)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2026)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2026)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2026)
        at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2026)
        at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1291)
        at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:876)
        at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:374)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
        at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

「Too many open files」のエラーだと思うのでそれ関連で調べてみる。

Linux サーバでの「Too many open files」対策について
http://d.hatena.ne.jp/akishin999/20130213/1360711554

上記のサイトにたどり着いた。

今回のサーバはOpenVZで運用している「CentOS6.5」でulimitは↓の状態でした。

# ulimit -n
1024

ブログにあるとおり「/etc/sysconfig/init」の最後に追記する方法を実行。

ulimit -n 65536

で、OSをリブート。

# ulimit -n
65536

変わった!

ローカル環境なのでとりあえずこれでOK。JIRAも快調に動いてます。

MySQL Workbench 6.3でSynchronize Modelしようとしたらエラー

MySQL Workbench 6.3でSynchronize Modelしようとしたら以下のエラーが出て
テーブルなどを作成できなかった。

Executing SQL script in server
ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘COMMENT ”’ at line 5

調べてみると以下のページが見つかった。

MySQL Forums :: MySQL Workbench :: MySQL Workbench Synchronize error 1064 (COMMENT”)
http://forums.mysql.com/read.php?152,635281,635281#msg-635281

どうも既知の問題らしく、次のメンテナンスリリースでfixされる模様。

それまでは手動で不必要なCOMMENT部分を削除してねということらしい。

コメントを記載していないなら全部のCOMMENTをざっくり取り去ればOK。

次のメンテナンスリリースは日付は決まってないけどそんなに時間かからない
そうなので、とりあえず気長に待つしかなさそう。。
※元の記事が2015/09/25

サーバ証明書切り替えでのフィーチャーフォンへの影響

サーバ証明書切り替えでのフィーチャーフォンへの影響

SHA-2に切り替えて実際に影響が出たので各キャリアの案内を
まとめておく・・・。

影響を受ける機種が大量にあるので、実質SHA-2の証明書は
現状フィーチャーフォンでは駄目ってことになるのでは・・・。

■docomo
サーバ証明書の切り替えによるドコモ ケータイへの影響について
https://www.nttdocomo.co.jp/info/notice/pages/150715_00.html

■softbank
SoftBank 3G(携帯電話)をご利用のお客さまへ サーバ証明書切り替えによる影響のご案内
http://www.softbank.jp/mobile/info/personal/news/support/20150715a/

■au
<重要なお知らせ> auケータイをご利用のお客さまへ、サーバ証明書切り替えによる影響について
http://www.kddi.com/important-news/20150715/

■Y!mobile
Y!mobile ケータイをお使いのお客さまへ ~サーバ証明書切り替えによる影響について~
http://www.ymobile.jp/info/2015/15071501.html

■総務省
サーバ証明書の切り替えによる影響について
http://www.soumu.go.jp/main_sosiki/joho_tsusin/security/enduser/security01/12.html

対応案としては・・・。
フィーチャーフォン専用のサイトを別途作ってSHA-1でできるだけ
延命を図って、非対応のフィーチャーフォンがなくなるまで我慢するみたいな。

※延命を図ろうとしても大体2016年の12月31日までが限度っぽい。

新しいフィーチャーフォンだけを対象としたほうがよさそうだな。。

■シマンテックのSHA-2のSSLサーバ証明書のテストページ
https://ssltest-sha2int.jp.websecurity.symantec.com/

テストページのQRコード
sha2check

 

ZabbixからSlackに通知する

ZabbixからSlackに通知する

いまさらながら社内でSlackが流行りだしています。

というわけで、練習がてらzabbixからの障害通知をslackに出してみる。

以下のスクリプトを利用。
ericoc/zabbix-slack-alertscript
Zabbix Slack AlertScript
https://github.com/ericoc/zabbix-slack-alertscript

設定もほぼそのまま。

で、実際に障害を起こしてみるとこんなメッセージが!

slack_zabbix

簡単にできた!

実験用にCentOS7にyumでPHP7を入れる

実験用にCentOS7にyumでPHP7を入れる

# yum -y install epel-release

Remi’s RPM repository

Maintained Enterprise Linux (RHEL / CentOS / Other clones)
Enterprise Linux 7 – repository auto-configuration package : remi-release-7.rpm

↑のremi-release-7.rpmをインストール

# wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# rpm -Uvh remi-release-7.rpm 

あとはremi-php70を有効にして探せばOK。
このとき「php70」として探す必要がある。

# yum search --enablerepo=remi-php70 php70
# yum install --enablerepo=remi-php70 php70
# systemctl restart httpd.service
# php70 -v
PHP 7.0.0RC6 (cli) (built: Oct 28 2015 09:52:05) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies

これだと「/opt/remi/php70」にインストールされてます。
SCLコマンドも一緒に入るので、以下でシェルで起動します。

# scl enable php70 bash 
# php -v
PHP 7.0.0RC6 (cli) (built: Oct 28 2015 09:52:05) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies

クイック認証SSLでスキップ申込サービスの条件からApacheが消えていた件

若干はまったのでメモ。

グローバルサインのクイック認証SSLでスキップ申込サービスの
条件からApacheが消えていた。

スキップ申込サービスとは
https://jp.globalsign.com/service/ssl/feature/skip.html

そんなことは知らずに管理画面からSSLの更新をスキップ申込み
で申請してみると・・・。
※というか管理画面側から更新の申請をする際にはそんなこと気づかない。

2015年8月31日(月)で証明書解凍ツールの提供が終わっていた・・・。

証明書解凍ツールの提供終了とスキップ申込サービスの利用推奨環境の変更について
https://jp.globalsign.com/information/important/detail.php?no=1434428276

どうすればいいのかわからないのでとりあえず電話して聞いてみたところ、
Apache系はもうスキップ申込みサービスが使えないから毎回csrを貼って
申込みをしないといけないということが発覚。

ただもうスキップで申込みしてしまった旨を伝えると、証明書再発行
をすればいいということなので再発行の申請。

SSLサーバ証明書FAQ:CSRの生成方法
https://jp.globalsign.com/support/ssl/list.php?cat=csr

ただこの再発行の画面でもCSRか、スキップを選択させられるけど
スキップのところに対して注意書きがないので間違えないように・・・。

再発行して通常通りに更新設定すれば完了。

SSLサーバ証明書FAQ:証明書のインストール方法
https://jp.globalsign.com/support/ssl/list.php?cat=install

【NVR500】IP電話に無言電話がかかってきた件

IP電話に無言電話がかかってくる件

作業メモ。

以前も会社のIP電話に無言電話が沢山かかってくることがあったけど、
その時は「NVR500」のアップデートをしたらかかってこなくなった。

でも今日また沢山無言IP電話がかかってくるようになった
今日のは大体4分毎にかかってきたようだ。

これはSIP SPAMとかいうらしい。

以下のサイトを参考に「NVR500」の設定変更を行った。

■不正SIPパケット宛の着信をフィルタリングする方法(YAMAHAルータ編)
http://qiita.com/y-ken/items/c4e01525bff178557492

設定したらパッタリと止んだ。

AWSで無料枠を利用していたつもりなのに請求が来ていた件

AWSから「Amazon Web Services Billing Statement Available」ってメールが来て
びっくりしたのでメモ。

無料枠内で利用していたはずなのに以下の項目で請求が・・・。

Elastic IP Addresses

$0.005 per Elastic IP address not attached to a running instance per hour (prorated)

よくわからなかったので調査。

【AWSの説明ページ】

◆EC2の料金ページにElastic IP アドレスの金額が書かれている。
http://aws.amazon.com/jp/ec2/pricing/

◆AWS 請求情報とコスト管理:予想外の料金の回避
http://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/checklistforunwantedcharges.html#checkelasticipaddresses

Elastic IP アドレス
実行中のインスタンスに関連付けられた Elastic IP(EIP)アドレスを無料で 1 つ取得できます。追加の EIP をそのインスタンスに関連付ける場合は、追加の EIP 毎に時間あたり(比例計算)の料金が請求されます。追加の EIP は Amazon VPC でのみ利用可能です。

Elastic IP アドレスを効率的に使用するため、これらの IP アドレスが実行中のインスタンスに関連付けられていない場合や、停止しているインスタンスやアタッチされていないネットワークインターフェイスに関連付けられている場合は、時間毎に小額の料金が課金されます。

これは分かりにくい。。

結局停止していたインスタンスにElastic IPを関連付けたままにしていたので小額の料金が発生した模様。

調べてみると過去に同じようなことになっている方を発見。

◆AWSのインスタンスを全部落としていても料金が発生する
http://www.fwoabw.info/entry/2015/02/20/post-6031

◆AWS ElasticIP 料金 ご注意
http://norinoritakanori.blog90.fc2.com/blog-entry-58.html

◆[サーバー構築]AmazonEC2無料枠 見落としがちなルール
http://d.hatena.ne.jp/akihito_sado/20120607/p1

みんな気をつけて運用してるんですね・・・。