リソースグループの構成からDNSを紐づけます。

おおお、なんだこれ?
ドメインを取得してここに紐づければいいのかな?

随机应变 ABCD: Always Be Coding and … : хороший
リソースグループの構成からDNSを紐づけます。

おおお、なんだこれ?
ドメインを取得してここに紐づければいいのかな?

azureでMS windows serverに接続します。
Processorはxeonですね。

これから、どうしたら使えるんでしょう?
接続はわかりましたが、サーバーとしての使い方がわかりません。
全然よくわかってませんが、とりあえずIISをインストールするみたいですね。

IISを入れます。

と思ったら、memoryが少なすぎて入れられない、と警告が。
これではお話にならない、というか何もできないので、VMは一旦削除します。
あああああ、デプロイに30分かかったとおもったら、VM削除にも時間がかかりすぎる。勘弁してくれ。
あ、centos-basedも行けますね。
ただ、これだとawsでもやれるので、やはりMS severですか。
iisが入ったので、port80を開けます。

あれ、SSH:80で接続できんぞ。。。
あ、ipでiisが表示されるから、OKなのか。

メニュー多すぎてよくわからん。。。。
SSD(ソリッド・ステート・ドライブ)は高速・無音のストレージ
-> UBSメモリーと同じように、内臓しているメモリーチップにデータの読み書きを行う
HDD(hard disc drive)
-> パソコンのデータを保存、内臓ストレージ、補助記憶を担当
azureで最安のプランを選びます

IOPSは,ディスクが1秒当たりに処理できるI/Oアクセスの数
ちなみにさくらVPSのローカルが30GBなので、かなり容量が小さいイメージです。

デプロイが終わりました。

$date1 = date("Y-m-d H:i:s", strtotime("- 2 day"));
// $date2 = date("Y-m-d H:i:s", strtotime("- 1 day"));
$date2 = date("Y-m-d H:i:s");
echo $date1 ." ~ ".$date2 ."<br>";
$mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$filter = [
'date' => [ '$gte' => $date1, '$lte' => $date2]
];
$options = [
'projection' => ['_id' => 0],
'sort' => ['_id' => -1],
];
$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $mng->executeQuery('app.na007', $query);
foreach ($cursor as $document) {
// var_dump($document);
$pv[] = $document->date;
$cookie[] = $document->cookie;
$session[] = $document->session;
if(!is_null($document->referrer)){
$referrer = $document->referrer;
}
}
// var_dump($session);
$uu = array_unique($cookie);
$session = array_unique($session);
$bounce = (count($pv) - count($referrer))/ count($pv) * 100;
$exit = (count($pv) - count($session))/ count($pv) * 100;
echo "<br>Users :".count($uu)."<br>";
echo "Pageviews :".count($pv)."<br>";
echo "Bounce rate :" .sprintf('%.2f',$bounce)."%<br>";
echo "Exit rate:" .sprintf('%.2f',$exit)."%<br>";
直帰率、離脱率のところまで一通りできたので、これをAzureに載せたい。


sessionは、リクエスト毎に再setしますが、IDだけは、json.parseした値を再度setします。
var unix = Math.floor((new Date).getTime()/1E3);
var visit = "New User";
var char = "abcdefghijklmnopqrstuvwxyz123456789";
var id = "";
for(var i=0; i<10; i++){
id += char[Math.floor(Math.random()*35)];
}
if(navigator.cookieEnabled){
var all=document.cookie + ";";
var cStart = all.indexOf("_na=",0);
if(cStart == -1){
var expire = new Date();
expire.setTime(expire.getTime() + 1000*3600*24*365*2);
document.cookie="_na=NA1."+id+"."+unix+";expires=" + expire.toUTCString();
var data = '{"path":"'+location.pathname+'", "time":"'+unix+'","id":"'+id+'"}';
window.sessionStorage.setItem(['ScribeTransport'],[data]);
a.push(['cookie',id]);
a.push(['vist',visit]);
a.push(['referrer',document.referrer]);
} else {
visit = "Returned User";
a.push(['visit',visit]);
var cEnd = all.indexOf(";",cStart);
var cID = all.substring(cStart+8,cEnd - 11); //_na=NA1.0000000000.
a.push(['cookie',cID]);
var c = window.sessionStorage.getItem(['ScribeTransport']);
if(c){
d = JSON.parse(c);
var data = '{"path":"'+location.pathname+'", "time":"'+unix+'","id":"'+d.id+'"}';
window.sessionStorage.setItem(['ScribeTransport'],[data]);
a.push(['referrer',d.path]);
a.push(['avgtime',(unix - d.time)]);
}else {
var data = '{"path":"'+location.pathname+'", "time":"'+unix+'","id":"'+id+'"}';
window.sessionStorage.setItem(['ScribeTransport'],[data]);
}
}
}
a.push(['page',location.pathname]);
$(function(){
$(document).ready(function(){
var postData = {"userdata": a};
$.post(
"doubleclick.php",
postData,
function(data){
$(".box").html(data);
}
);
});
});
OK!
analytics.php
$date1 = date("Y-m-d H:i:s", strtotime("- 2 day"));
$date2 = date("Y-m-d H:i:s", strtotime("- 1 day"));
echo $date1 ."~".$date2 ."<br>";
$mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$filter = [
'date' => [ '$gte' => $date1, '$lte' => $date2]
];
$options = [
'projection' => ['_id' => 0],
'sort' => ['_id' => -1],
];
$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $mng->executeQuery('app.na007', $query);
foreach ($cursor as $document) {
// var_dump($document);
$pv[] = $document->date;
$cookie[] = $document->cookie;
if(!is_null($document->referrer)){
$referrer = $document->referrer;
}
}
$uu = array_unique($cookie);
echo "<br>Users :".count($uu)."<br>";
echo "Pageviews :".count($pv)."<br>";
$bounce = (count($pv) - count($referrer))/ count($pv);
echo "Bounce rate :" .sprintf('%.2f',$bounce)."<br>";
Bounce rateは直帰率です。

Exitは離脱率なので、uniqueなsession / PVですね。やはり、sessionのIDは必要のようです。
twitterのsessionのjsonでいう、idあたりでしょうか。
mogoDBで、
‘date’ => [ ‘$gte’ => $date1, ‘$lte’ => $date2] と
‘date’ => [ ‘$gte’ => $date1, ‘$lt’ => $date2] の検索結果が同じでずっと悩み続けていましたが、
DatasetがY-m-d H:i:sなので当たり前ですね。
<style>
.child{
display:none;
}
</style>
<ul>
<li>
<a class="toggle">サービス別</a>
<ul class="inner child">
<li><a href="#demo01">ビッグデータBI</a></li>
<li><a href="#demo01">クラウドコンピューティング</a></li>
<li><a href="#demo01">決済</a></li>
<li><a href="#demo01">CRM(顧客管理)</a></li>
<li><a href="#demo01">オープンソースソフトウェア</a></li>
</ul>
</li>
<li>
<a class="toggle">業種別</a>
<ul class="inner child">
<li>官公庁・自治体</li>
<li>教育</li>
<li>医療・ヘルスケア</li>
<li>金融</li>
<li>製造</li>
<li>流通</li>
</ul>
</li>
<li>
<a class="toggle">導入事例</a>
<ul class="inner child">
<li>NASA</li>
<li>学校法人伊藤学園</li>
<li>東京信用金庫</li>
<li>橋梁モニタリングシステム</li>
<li>充電管理システム</li>
</ul>
</li>
</ul>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
function demo01(){
$(this).next().slideToggle(300);
}
$(".toggle").click(demo01);
</script>
slide toggleで開閉します。

<style>
pannel {
width:500px;
}
#pannel > dt {
border-bottom: solid 1px white;
background-color: #00BCD4;
color: white;
cursor: pointer;
padding: 10px;
font-weight: bold;
}
#pannel > dd {
border: solid 1px Sliver;
margin: 0px;
padding: 10px;
}
</style>
<dl id="pannel">
<dt>Real-Time</dt>
<dd>active users on site</dd>
<dt>Audience</dt>
<dd>Users, New Users, Sessions</dd>
<dt>Acquision</dt>
<dd>Oorganic Search</dd>
</dl>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
$(function(){
$('#pannel > dd').hide();
$('#pannel > dt')
.click(function(e){
$('+dd', this).slideToggle(100);
})
});
</script>

collectionに4/15のdocumentが3件、4/16のdocumentが2件入っています。

‘$gte’ => $dateがそれ以上という意味らしいです。
analytics.php
$date = date("Y-m-d", strtotime("- 1 day"));
$date = date("Y-m-d");
echo $date ."<br>";
$mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$filter = [
'date' => [ '$gte' => $date]
];
$options = [
'projection' => ['_id' => 0],
'sort' => ['_id' => -1],
];
$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $mng->executeQuery('app.na007', $query);
foreach ($cursor as $document) {
var_dump($document);
}
今日のデータが取得できました。

配列をchart.jsに表示したいですね。