休日に限って発生するサーバハード障害対応!今回は仕事中でしたが、仕事納めの日。
Google 等のデータセンターでの故障率が 8% という記事を以前見た事があります。HDD 300 本程度のサーバとすると 8% で 年間 24 本。弊社でも同様と%値ですので、Google が出した故障率はあっていそうです。
でもメーカー発表の値は 0.1% ~ 1%、多くて 3% 程度。ホント、差がありすぎる。
今回の RAID5 の 1 本障害、よりによって構成している RAID の他の HDD にもミディアムエラーが見受けられる点と、物理的には 1 台だけど、仮想環境なので複数の OS 障害に発展する可能性が高い状況。
心臓がドキドキバクバク、手も震える対応でした。
最低限 HotSpare か、RAID6 はほしいところだ。
仕事納めの日に、なんて日だ。
リビルド完了を待って無事1本交換、完了。
場所や名称などは書くことはできませんがデータセンターの排熱を利用して沸かした足湯設備のあるデータセンターが日本に存在します。
お取引先様にお邪魔させて頂いた際にデータセンター見学+足湯体験をさせて頂きました。
眺めも素晴らしいですね。
足湯なのでのぼせる事も無いですしサーバルームで冷えた体を温めるのに最適です。
仮眠室やシャワーのあるデータセンターは多いですが`寛げる`データセンターは素晴らしいですね。
先日壊れたと思っていたM/B。その影響でHDDへのアクセスがおかしくなりHDDを認識しなくなったけど、CrystalDiskInfoを常駐させていた時には全く正常稼働していて、起動するともちろん正常。SATAポートを変更したところ、調子がいい。このSATAポート変更でスピーカーから雑音も消えたUSB3.0へのアクセスも調子よくなった。
これは意外な発見でした。
ある日ふとGoogle Play ストアを開くと
Google Play プロテクションという表示が出ていました。
これは何なのだろうと調べてみたところ、どうやらGooglePlayにアンチウィルス機能が搭載されたようです。
Playストアへ公開されている、いないにかかわらず、インストール時のアプリの確認と、端末にインストールされているアプリを定期的にすべてスキャンする機能を持っているようです。
Google Playストアは、iOSのAppStoreと違い、アプリの内容まで確認する審査がありません。
それがPlayストアやAndroidのいいところでもあるのですが、その分アプリ内に有害な動作が巧妙に隠された状態でアップロードされた場合、検知されずに公開されてしまう事態も起きていました。
「Google Play」にマルウェア含む多数のアプリ–100万回以上ダウンロードされる – Cnet Japan
GooglePlayに標準でセキュリティ機能が実装されたのも、現状を鑑みたGoogleの対応策だと思われます。
ただ、このGoogle Playプロテクションですが、セキュリティソフトのテストではまだ他のセキュリティソフトよりも検出率が低いのが現状とのこと。
Androidのセキュリティ、Google Playプロテクトのマルウェア検出性能は不十分?
もうしばらくは、サードパーティーのセキュリティソフトが手放せなそうです。
最近、また偏頭痛が起こるようになってしまいました。
確かにここ数日急に寒くなり、昨日は少し雪がちらついたりと、あまり良くないお天気だったからしょうがないのかもしれません。
と、いうことで、今日はそんな偏頭痛が起こる時期を予測してくれるというアプリをご紹介。
「頭痛ーる」というアプリで、Android・iOSの両方に対応しています。
最近アップデートをしたようで、デザインが少し変わっていました。
公式サイトはこちらから。
アプリをインストールしていなくても、こちらのサイトからでも気圧の変化を確認することができます。
また、Twitter公式アカウントもあるそうなので、こちらをフォローしても良さそうです。
頭痛ーる:気圧予報で体調管理・頭痛対策(@terunekootenkiさん)|Twitter
https://twitter.com/terunekootenki
札幌、仙台、東京、名古屋、大阪、福岡の6か所の翌日の予報を配信しています。
起動直後の画面はこんな感じ。
気圧の上がり下がりをグラフで表されており、かつ、上の画面のように「やや注意」「OK」などが表示されています。
これなら天気に関する基礎知識などがなくても、偏頭痛が起こりそうなタイミングがわかりやすいです。
また、片頭痛が起こりそうな天気の時は、プッシュ通知も送られてくるので、わざわざ毎日アプリを起動して確認する必要もなし!
また、直近の変化だけでなく、下記のように今日・明日・明後日の気圧や天気などがわかるページもあります。
これなら気圧だけでなく、お天気アプリとしても使えそうですね。
さらには、こんな感じでお天気についての基礎知識が掲載されているページもあります。
トップページにいる博士とマロの会話形式で書かれているので、楽しく読めます。
時間があるときにでも、全部読んでみたいですね。
偏頭痛が起こりそうな時期を予測できる「頭痛ーる」アプリの紹介でした。
偏頭痛持ちの方は是非インストールしてみてはいかがでしょう。
この度、CpointLabの記事ページにいいねボタンをコッソリ設置しました。
これです。
各記事ページの文末に表示されているかと思います。
著者の励みになりますので、少しでも”この記事いい!”と感じていただけましたら是非クリックしていただければ幸いです。
ちなみにこちら、社長にはナイショでつけています。
ある日ボタンが突然無くなりましたら察してください。(笑)
何卒何卒…
Amazon Echo が届いてから、息子も妻も毎日のように利用している。ほとんどは音楽とラジオですが、ログを見るとクッキングタイマーだったり、ドラムの練習だったり計算させたり。その他の機能も使っているようです。
そんな AI スピーカーですが、シマンテックのブログに使う上で事前に知っておくべき記事がでてました。
わかっていることばかりですが、使っている方は、ぜひ読んでおいた方がよいね。
会社のラジオが壊れてしまったので、Google Home や Amazon Echo とかあったらよいかな?とか思ったりもしたが、音声操作か使わんだろうな。人がたくさんいるのに、シーンとしたオフィス、嫌いじゃないし。たまには良いね。昔はかちゃかたしてたのに、いまはノートPCなのでさらに静かだ。
昨日もPHPExcelについての記事を書きましたが、本日も引き続き同じネタについてまとめ。
当初はグラフ入りテンプレートを使ってグラフを描写する予定でしたが、思っていた以上に「複雑なグラフ」のボーダーラインが低く、どうしても作りたいグラフが消されてしまうので、プログラムでグラフ作成をすることにしました。
ライブラリ導入から、現在のシート選択の部分は割愛します。
やっていることは意外と単純で、まず、グラフの表示範囲や参照先のセルを指定します。
//グラフ描画設定 $options = [ 'title' => 'グラフタイトル', 'topPos' => 'A3', //描画するグラフの左上の位置 'bottomPos' => 'I24', //描画するグラフの右下の位置 'labelPos1' => $sheet.'!$B$2', //グラフのデータラベル 'xAxisRange' => $sheet.'!$A$3:$A$12', //グラフのx軸の値の範囲 'dataValueRange1' => $sheet.'!$B$3:$B$12' //実際のデータ範囲 ]; なお、$sheet は、現在アクティブなエクセルのシートを指定します。
実際にグラフを書いているのは下記のコード。
// グラフのデータラベル設定 $dataSeriesLabels = [ new PHPExcel_Chart_DataSeriesValues('String', $options['labelPos1'], null, 1) ]; // グラフのX軸項目設定 $xAxisTickValues = [ new PHPExcel_Chart_DataSeriesValues('String', $options['xAxisRange'], null, 10) ]; // グラフの系列設定 $dataSeriesValues = [ new PHPExcel_Chart_DataSeriesValues('Number', $options['dataValueRange1'], null, 10) ]; // グラフ描画設定 $series1 = new PHPExcel_Chart_DataSeries( PHPExcel_Chart_DataSeries::TYPE_BARCHART, // 横棒グラフ PHPExcel_Chart_DataSeries::GROUPING_CLUSTERED, // plotGrouping range(0, count($dataSeriesValues)-1), // plotOrder $dataSeriesLabels, // plotLabel $xAxisTickValues, // plotCategory $dataSeriesValues // plotValues ); $series1->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_BAR); // プロットエリアの設定 $plotarea1 = new PHPExcel_Chart_PlotArea(null, [$series1]); // グラフ内での凡例のポジション設定 $legend1 = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_BOTTOM, null, false); // y軸のラベル設定 $yAxisLabel1 = new PHPExcel_Chart_Title(''); // タイトルがある場合、タイトルの設定 $title1 = new PHPExcel_Chart_Title($options['title']); // グラフ作成 $chart1 = new PHPExcel_Chart('chart1', // グラフの名前 $title1, // グラフタイトル $legend1, // 凡例 $plotarea1, // グラフのプロットエリア false, // 表示されているセルだけをプロット 0, // 空白セルをどうするか null, // x軸のラベル null // y軸のラベル ); // グラフがワークシートのどこに描画されるかの設定 $chart1->setTopLeftPosition($options['topPos']); $chart1->setBottomRightPosition($options['bottomPos']); //ワークシートにグラフの追加 $objWorksheet->addChart($chart1);
こちらのコードでは横棒グラフを作成しています。
表示位置やタイトルを任意で決められるので、なかなか自由度は高めですね。
作成できるグラフの種類も豊富で、棒グラフ以外にも、折れ線グラフやレーダーチャート、あとは設定名的に察するに、バブルチャートなんかも使えそうでした。
…が、よく使うのは棒グラフ・折れ線グラフ・円グラフぐらいかな。
便利&簡単なPHPExcelですが、若干ハマっている箇所もあり、どうしても縦軸の項目名とグラフの凡例が正しく表示されません…。
データ自体は指定してあるので、設定が間違っているのだと思っています。
もし、この不具合がわかる方いらっしゃいましたら、どうぞコメントでご指摘をお願い致します。
今日は一日ログを見て過ごしました。
ぼけーっと見ることも、これがまた重要で、広い範囲をみてコンピュータがどう考えているのか傾向を掴み、会話するのです。
絞り込み。また、ぼけーっと見て、絞込、追い込みに入ります。
情報セキュリティで有名な方も、ログをみることが大好きで、一日中ログを見ていることもあると言っていました。
それくらい重要なデータということです。
以前、「【PHP】PHPExcelを使うときにセルの書式設定を変更する方法」という記事を投稿しましたが、本日の記事は、またこの PHPExcel について。
今回は、PHPExcelでテンプレートファイルを使う際に、グラフが入っていた場合の処理についてまとめです。
今回参考にした投稿はこちら。
PHPExcelでテンプレートファイルからグラフを作ってみよう – Qiita
https://qiita.com/tutida/items/2d163ed7662bb499a082
やりたいことがすべて書いてありました…!
早速、コードを書いていきますが、PHPExcelオブジェクト生成から、シートの選択まではこんな感じ
// PHPExcelオブジェクトを生成する $book = new PHPExcel(); $objReader = PHPExcel_IOFactory::createReader('Excel2007'); // 読み込むテンプレートファイルにグラフが含まれていることを宣言 $objReader->setIncludeCharts(TRUE); // テンプレート読み込み $book = $objReader->load('テンプレートのエクセルファイルのパス'); $book->setActiveSheetIndex(0); // カレントシート選択 $sheet = $book->getActiveSheet();
上記のコードで重要なのは、5行目の「読み込むテンプレートファイルにグラフが含まれていることを宣言する」、という
$objReader->setIncludeCharts(TRUE);
上記の記述です。
この一行を入れないと、読み込んだテンプレートファイルからグラフが消えてしまいます。
また、読み込み時だけでなく、下記のようにエクセルファイルの出力・保存の時にも同じ記述を入れる必要があります。
// ファイル名 $filename = 'PHPExcel-sample.xlsx'; $writer = PHPExcel_IOFactory::createWriter($book, 'Excel2007'); // 書き出すエクセルファイルにグラフが含まれていることを宣言 $writer->setIncludeCharts(TRUE); $writer->save("/tmp/".$file); File::download("/tmp/".$file, $file);
こんな感じ。
出力時にも、エクセルファイルにグラフが含まれていることを宣言する5行目の記述を必ず入れましょう。
ただ、グラフを扱う際には注意が必要で、あまり複雑な指定をすると、グラフが含まれていることを宣言していてもグラフが消える場合があります。
現に、私もそれで悩まされています。
グラフ入りのテンプレートを入れる場合は、極力簡単でシンプルなものを使うようにしましょう。
なお、グラフが消える・簡略化される条件は下記のようなものがあげられるとのこと。
…かなり簡単なものしか扱えなさそうですね。
これならいっそ、テンプレートから読み込まず、PHPExcelでグラフを作成したほうがいいかもしれません。
ゼロからグラフを作成する方法については、冒頭で挙げた投稿を書かれた方が記事を挙げているので、こちらが参考になるかと思います。
PHPExcelでゼロからグラフを書いてみよう – Qiita
https://qiita.com/tutida/items/643baa8832beedd53499