Azure Storage Services – Article Series on

I recently started to post on regarding Azure Storage Services.







Here are the blogs in this series that I’m planning to publish:

Azure Storage Services — Introduction
Azure Storage Services — Accessing Services
Azure Storage Services — Storage Account
Azure Storage Services — Blob Storage
Azure Storage Services — Table Storage
Azure Storage Services — Queue Storage
Azure Storage Services — File Storage
Azure Storage Services — Premium Storage Benefits
Azure Storage Services — Security
Azure Storage Services — Useful Tools.

MVP rewarded!


I have been re-awarded Microsoft MVP title for 2016. That marks my 6th consecutive year and I’m really honored to have received award again but this year hold special meaning for me as this time I have been awarded for the two different expertise areas: Cloud/Datacenter Management and Microsoft Azure..It is a great honor to be recognized for my expertise on both communities.


How to install AzureStack on Windows 10 Client – Tips and Tricks

I had a long Saturday this weekend. If you are not living in a cave you probably heard about Microsoft’s new Hybrid cloud approach AzureStack.

I’m not going to discuss the architecture or the benefits that AzureStack brings because there are bunch of good resources available:

Last week Microsoft announced that AzureStack first technical preview (TP1) will be available on 29th of Jan.

Also couple of weeks ago, hardware requirements are announced to deploy TP1. TP1 just focuses for POC deployments and available to install all components on a single server if you meet below requirements:

I’m sure most of you were expecting to install AzureStack on your laptop or home desktop PC to test basic functionalities but if you look at the requirements, that’s a bit challenging for a giant like Azure Stack.

Here are the couple req:

  • Windows Server 2016 Datacenter (TP4)

That one easy and can be installed on your lab server/desktop easily.

  • One available port on a switch for the POC machine

Shouldn’t be a problem

  • Microsoft Active Directory accounts

To deploy Azure Stack POC, you must have a valid Microsoft Azure AD account that is the directory administrator for at least one Azure Active Directory.

You can use your existing Azure subscription or create one for free.

  • Memory – 96 GB RAM

To be honest I don’t have a home lab that meets that requirement so we need to find a way for that one. Because deployment script will create bunch of virtual machines probably require around 96GM of RAM.

  • Hyper-V Enabled

If you were planning to use a virtual machine to test AzureStack, that’s another challenge as well because POC machine should have Hyper-V role installed.

  • Data Disks

Minimum configuration requires 4 disks; each disk provides a minimum of 140 GB of capacity. Also these disks should be visible in disk management as online – RAW – not in use

So like me, if you were planning to use your home lab to test AzureStack, there are couple of challenges we need to deal with.

Actually I was planning to use my home Windows 10 desktop machine which has following configurations:

  • 32 GB RAM
  • I7-6700K CPU
  • SSD System Drive
  • 1TB HDD

I know it’s not a good idea to use this system to run a giant like AzureStack but that was all I had this weekend J

So first thing first, we need to deal with Hyper-V requirement. You can always install Windows Server 2016 Datacenter edition on a dedicated partition and boot but also you can use Windows 10 latest insider version to have nested Hyper-Vs.

Currently I’m running:

So I simply enabled Hyper-V on it and then followed below instructions/scripts to install a nested Windows Server 2016 TP4 Hyper-V server as a virtual machine.

Enable-NestedVM.ps1 script does all required checks for you and at the end of the steps you will have a fully working Nested 2016TP4 Hyper-V server.

So our Hyper-V server is ready – I hope.

Next thing we need to find a way to deal with hardware requirements.

For the data disk requirements, I simply created 4 VHD on my physical Windows 10 HDD with required sizes:

$i = 1..4
foreach ($a in $i)
New-VHD -Path G:\DATA_DISKS\VHD0$a.vhdx -Fixed -SizeBytes 140GB

Then simply added these disks to my nested Hyper-V server.

If you follow official AzureStack deployment guide, you will realize that we are booting nested Hyper-V server with WindowsServer2016Datacenter.vhdx disk using following command:

bcdboot <mounted drive letter>:\windows

and then we need to run

.\DeployAzureStack.ps1 –verbose

command to start the deployment. Before changing anything I just wanted to see what this command is actually doing so just run it once and realized all prerequisites are checked before deployment.

We don’t have a problem with data disks but I got error messages for the RAM as I only have 32 GB of RAM and set my nested Hyper-V to use around 24 GB out of it.

So I just opened DeployAzureStack.ps1 script to see what’s going on. First thing I realized that script is mounting $PoCVHD
using below command.

So you have two options:

You can fire the deploy script and wait for vhdx to be mounted and then find the requirement definitions and change it. I tried this method but faced another problem.

As you may see on the above script, VHD is mounted as read-only which makes impossible to change any content in VHD.

I actually found the precheck script to change the required RAM settings but once I tried to save it gave below error:

So you can simply edit the first script and remove (-access ReadOnly) parameter. That will mount the disk in a normal state and you can hijack any file you found.

But I believe second option is much easier. Before running DeployAzureStack script you can simply mount the disk (MicrosoftAzureStackPOC.vhdx) manually, edit the files you need and then eject it. Then you can simply start the deployment with an updated VHDX.

Here is the file I found when I mounted VHDX.

That script includes all functions which actually checks your infrastructure. I changed CheckRAM function to lower the memory requirements for my host machine:

And then I started the deployment and forgot an important thing…

Yes my host now meets requirements for the installation but once the installation starts, it will create 10 different virtual machines with different Vcpu and memory settings. And first 3 or 4 VMs already filled my memory. You can try the ugly way and change the VM settings after the deployment of each machine. But probably you need to spend couple of hours to check each and every VM and that could also break the installation.

So we also need to find VM memory and CPU definition files.

That file is POCFabricSettings.XML

You can simply edit processor count and RAM settings according to your current infrastructure:

I simple used “1” for Processor count and “2” for the RAM. These are quite low settings to run these machines but helps you to finish installation without any problem.

You need to save changes and then eject VHD before starting deployment.

And you are ready to go!

I had two issues during the deployment.

One is the JavaScript to connect Azure subscription during the installation;

Turning of IE enhanced mode on Nested 2016TP4 resolved the problem.

Second issue is whole installation took around 9 hours to complete. I know this is not a recommended way of installing AzureStack and probably I may face serious performance issues but will help you to test some basic functionalities before you find a real gear.

Hope that helps you.

Operations Management Suite Part 8 – Alert Management


Bu yazımızda OMS Solution Gallery üzerinde bulunan Alert Management çözümünü inceleyeceğiz.

Solution Gallery içerisinde farklı hizmetler için ek çözümleri OMS’e ekleme sansınız bulunuyor. Bu çözümlerden birisi olan Alert Management özellikle SCOM altyapısı olan ve OMS’i SCOM ile entegre şekilde kullanmak isteyenler için önemli bir eklenti.

Bu eklenti aktif edildiğinde SCOM tarafından oluşturulan alertler OMS workspace içerisinde rahatlıkla görüntülenebilir ve filtrelenebilir. Ayni zamanda birden fazla Management Group bulunan SCOM altyapılarında OMS Alert Management tek bir merkezi alert çözümü olarak kullanılabilir.

Alert Management ‘in aktif edilmesi için Solution Gallery içerisine girilerek Alert Management – Add tıklanması yeterlidir.

Alert Management ile verileri toplayabilmek için SCOM Management sunucularınızı OMS ile entegre etmeniz gerekmektedir. Önceki makale bölümlerimizde bu entegrasyonu başarılı şekilde gerçekleştirmiştik.

Solution Gallery içerisinde ekleme yapıldıktan sonra ana ekranda Alert Management isimli yeni bir bölme göreceksiniz.


İlk yapılandırma sonrası yaklaşık bir saat içerisinde SCOM üzerinden toplanan alertler OMS konsolu içerisinde gösterilmeye başlanacaktır.

Bu entegrasyon gerçekleştirildikten sonra SCOM Management Group üzerinde oluşturulan alertler OMS’e gönderilecektir.

Yeni oluşturulan Alert Management bölümüne tıkladığınızda gönderilen alertlerin detaylarını görebilirsiniz.

OMS ekranında gösterilen alertler yalnızca son 7 günü kapsamaktadır. İsterseniz zaman aralığını daha fazla genişletebilirsiniz.

Ayni şekilde yalnızca belirli bir Management Group üzerinde oluşturulan alertleri görmek isterseniz var olan kapsamı globalden MS’e değiştirmeniz gerekmektedir.

Bu ekranda da benzer filtreleme yöntemlerini kullanarak arama işlemi gerçekleştirebilirsiniz. Daha önceki filtrelerimizde Type kullanarak yalnızca eventleri listelemiştik. Ayni şekilde aşağıdaki gibi bir filtre ile spesifik alertleri görüntüleyebilirsiniz. Bunun için Log Search ekranını kullanmanız gerekmektedir.

Kompleks sorgular için birkaç örnek:

SCOM üzerinde oluşturulan alertlerin OMS’e gönderilmesinden sorumlu bir SCOM kuralı bulunmaktadır.

Collect Alert Changes isimli bu kural ve Management Pack’i export ederek ek detaylarını görüntüleme sansınız bulunuyor.


Operations Management Suite Part 7 – Solution Gallery

Bu yazımızda OMS ile birlikte Dashboard ekranına tümleşik gelen Solution Gallery’i inceleyeceğiz.

OMS’in daha önceki yazılarımızda tamimiyle bir bulut hizmeti olduğundan bahsetmiştik. Her ne kadar Hibrit mimari desteği ve farklı veri merkezlerindeki uç noktaları yönetme kabiliyeti olsa da OMS’in kendisi Microsoft bulut Hizmetleri üzerinde barınmaktadır.

Yeni özellikler yada eklentiler acısından düşündüğümüzde bunun artıları tartışılamaz. Ayni Office 365’de olduğu gibi Microsoft, OMS üzerinde yeni bir güncelleme aktif ettiğinde yada bir eklentiyi yayına aldığında sizin bu konuda bir on hazinlik yada yapılandırma zorunluluğunuz bulunmuyor. Tek yapmanız gereken ertesi gün OMS konsoluna login olmak ve gerçekleştirilen güncellemeleri kullanmaya başlamak.

OMS daha önce defalarca söylediğimiz gibi direkt olarak istemcilerden yada SCOM sunucusundan verileri toplar, analiz imkânı verir ve size sunar. Ancak yapabildiklerinin siniri yalnızca bu değildir. Log Search OMS ile birlikte sunulan bileşenlerden yalnızca birisidir.

Solution Gallery içerisinde OMS ile entegre şekilde kullanabileceğiniz farklı çözümleri bulabilirsiniz. Bunları bir nevi Management Pack olarak düşünebilirsiniz. Su an için yalnızca Microsoft tarafından sunulan bu ek bileneler/çözümler ileride 3. Parti üreticiler tarafından da sunulmaya başlanacak.

OMS konsolunuzda Solution Gallery’e geldiğinizde su an için sunulan oldukça başarılı bazı çözümler göreceksiniz. Bunlardan birkaçı:

AD Assessment: Var olan Active Directory ortamınızın risk ve sağlık durumunu inceleyen ve bununla ilgili size öneriler ve raporlar sunan bir servis.

Malware Assessment: OMS ile birlikte yönettiğiniz sunucuların malware risk detaylarını size sunan çözüm.

Alert Management: Var olan SCOM yapınızdaki alert leri yönetmenizi sağlayan çözüm.

Automation: Azure Automation ile birlikte sunulan Hibrit Runbook Workerlarin analiz edilmesini sağlar. Böylece kendi veri merkezinizde yada Azure üzerinde çalışan runbooklarda oluşan herhangi bir soruna hızlıca müdahale edebilirsiniz.

Change Tracking: OMS ile yönettiğiniz sunucular üzerindeki Change Tracking’in aktif edilmesini sağlar. Bu sayede bu sunucular üzerinde herhangi bir uygulama yada serviste değişiklik olduğunda bunu OMS konsolu üzerinden takip edebilirsiniz.

Security Audit: Bu çözüm ise sunuculardan toplanan audit verileri üzerinde forensic analiz gerçekleştirmenizi sağlar. Unified bir dashboard üzerinden tüm aktiviteleri, ortamınızda gerçeklesen problemleri görüntüleme şansı verir.

Azure Site Recovery: ASR ile entegre olan bu çözüm sayesinde ASR üzerindeki DR planlarınızı, görevlerinizi ve görev sonuçlarınızı gözlemleyebilirsiniz.

Yukarıda yalnızca birkaç çözüm ile ilgili hızlıca bilgi verdik. OMS konsoluna girerseniz ek sunulan çözümleri ve detaylarını görebilirsiniz.

Simdi hızlıca AD Assessment çözümünü OMS ile entegre edelim.

Bunun için Solution Gallery’de ilgili çözümü seçip eklememiz yeterli olacaktır.

Bu işlem sonrasında ilgili çözüm ana ekrana düşecek ve verileri toplamaya başlayacaktır.

Eğer seçmiş olduğunuz çözüm ile ilgili ek bir yapılandırma yapılması gerekiyorsa ana ekranda bu uy ariyi görebilirsiniz.

İlgili uyarıya tıklayarak yapılandırmayı gerçekleştirebilirsiniz.

Su an için yalnızca Microsoft tarafından sunulan ek çözümleri içerse de ileride bu bolumun farklı vendorlar tarafından sunulan çözümler ile oldukça zenginleşeceği aşikâr. SCOM mimarisindeki Management Pack kavramının yerine OMS ile bulut üzerinden Solution Gallery’i kullanmaya yakın zamanda başlayacağız gibi görünüyor.

Operations Management Suite Part 6 – Log Filtreleme

Bu yazımızda yapılandırılmış sunucularımızdan toplanan verileri log analizi ile görüntüleme ve basit sorgular oluşturma görevlerini inceleyeceğiz.

OMS ile birlikte veri merkezinizden yada bulut ortamınızda çok değerli verileri toplayabilirsiniz. Ancak toplanan bu verileri doğru şekilde analiz etmeden, anlamlandırmadan ne yazık ki OMS’in sunduğu faydalardan yararlanamazsınız.

Bu sebeple toplanan verilere nereden lastiğiniz ve bu veri havuzu içerisinden istediniz verileri nasıl çektiğiniz oldukça önem kazanıyor.

OMS içerisindeki Log Search kısmi toplanan verilerin genel bir özetini sunan ekrandır. En basit filtreleme olarak yukarıda bulunan search bolumu kullanılabilir.

Örneğin “error” yazarak basit bir filtreleme gerçekleştirdim.

OMS konsolunun en altında görüldüğü gibi filtrelenen verileri liste yada tablo halinde görüntüleyebilir, direkt olarak Excel’e export edilebilir yada daha sonrası için bu filtre kaydedilebilir.

Sol taraftaki add butonuna basarak çok daha detaylı filtreleme opsiyonlarını görebilirsiniz. Bu ekran size ek filtre yazma zahmetinde bulunmadan hızlıca istenilen verileri görüntüleme imkânı sağlar.

Aranacak veri için özelleştirilmiş tarih bilgileri verilebilir.

Ayni zamanda OMS search fonksiyonu size anlık custom queryler yazma imkânı da verir.

Örneğin yalnızca belirli bir bilgisayar için log detaylarını görmek istediğimde aşağıdaki sorguyu kullanabilirim.

Bir adim daha ileri giderek yalnızca belirli EventLog ve IDleri sorgulama şansım da bulunuyor.

Yada Measure metodu ile eventloglari üzerinde count bazlı bir değerlendirme yapma imkânı bulabilirim.

Varsayılanda filtre kısmını yazdığınız her filtre otomatik olarak AND ile kullanılır. Fakat isterseniz OR ile de filtre oluşturabilirsiniz.

Görüldüğü gibi log analizi kısmında basit filtreler dışında oldukça kompleks filtreler de oluşturmanız mümkün. Daha fazla filtre örneği için aşağıdaki TechNet makalesini inceleyebilirsiniz.


Operations Management Suite Part 5 – Azure Diagnostic

Daha önce bahsettiğimiz gibi OMS hem veri merkezinizdeki sunucular için hem de bulut ortamınızdaki sunucular için, Windows yada Lınux fark etmeksizin merkezi bir yönetim imkân sunar.

Bunun için bir önceki makalemizde nasıl ajan kurulumlarının yapılacağını yada SCOM Management Server ile entegrasyon sağlanacağını incelemiştik.

OMS’in çok göz onunda bulunmayan bir diğer yeteneği de var olan Azure üyeliğinize bağlanarak bu üyelik kapsamında bulunan Azure sanal makinelerinin bulunduğu Azure Storage üzerinde verileri çekebilmesidir. Azure Diasgnostic tarafından Azure Storage üzerinde oluşturulan Diasgnostic verileri OMS ile konsol üzerine alınabilir ve analiz gerçekleştirebilirsiniz. Hem sanal makineleriniz hem de bulut servisleriniz için IIS yada event loglarini toparlayıp analiz işlemlerine başlayabilirsiniz.

Tabii ki buna ek olarak her zaman Azure üzerindeki sanal makinelerinize OMS ajanını kurabilir ve ek bilgileri toplayabilirsiniz.

Azure Diagnostic ile oluşturulan verilerin toplanması için aşağıdaki adımların uygulanması gerekmektedir.

Öncelikle VM bazında Azure Diagnostic hizmetinin Azure portali içerisinde aktif edilmesi gerekmektedir. Bunun için yeni bir sanal makine oluştururken VM Agent özelliğinin seçili olması yeterlidir.


Eğer önceden oluşturulmuş sanal makinelerinizde VM Agent aktif değilse Custom Create seçeneği ile aktif edebilirsiniz.

Ardından VM bazında diagnostic verinin toplanmasının aktif edilmesi gerekmektedir. Bunun için aşağıdaki alan kullanılır.

Bu şekilde kurulmuş yada sonradan yapılandırılmış sanal makineler otomatik olarak diagnostic verileri toplamaya başlayacaktır.

OMS benim için IIS, System ve application loglarini toplayabildiği için bunları aktif ediyorum.

İlgili yapılandırmayı aktif etmek için ayni zamanda bir storage account secimi gerçekleştirmemiz gerekiyor.

OMS tarafında analizin aktif edilmesi için Azure portalinda Operational Insigths workspace’i seçip Storage tabında ilgili storage hesabınızı eklemeniz gerekmektedir.

Hem IIS hem de event loglari için gerekli yapılandırmayı gerçekleştirdim.

Ayni şekilde isterseniz Linux, ETW yada Service Fabric event leri de toplayabilirsiniz. Tek yapmanız gereken ilgili veri tipini bu alana eklemek.

Bu ekleme işlemlerini gerçekleştirdikten sonra yaklaşık bir saat içerisinde OMS içerisinde analiz için gerekli bilgileri görmeye başlayacaksınız.

Operations Management Suite Part 4 – SCOM – Ajan Dagitimi

Daha önce OMS veri iletişim yöntemlerinden bahsetmiştik. Uç noktaların OMS veri merkezine verileri iletebilmesi için öncelikle uç nokta üzerinde ajan kurulumlarının gerçekleştirilmesi gerekiyor. Bu ajan SCOM mimarisinden alışık olduğumuz Microsoft Monitoring Agent’in ta kendisidir.

Ajan kurulan istemci direk OMS ile iletişime geçebileceği gibi ayrıca SCOM sunucusuna rapor göndermeye devam edebilir. Bu noktada yapılması gereken SCOM ile OMS arasında entegrasyonun gerçekleştirilmesidir.

Bu bolümde yerel SCOM sunucumuz ile OMS arasındaki entegrasyonu gerçekleştiriyor olacağız.

Entegrasyonu gerçekleştirmek için ilk işlemin SCOM sunucusu üzerinde yapılması gerekmektedir. Bunun için SCOM konsolu Administrator tabında “Register to Operations Management Suite” linki tıklanır.

Bu asamadan sonra SCOM sihirbazı var olan Microsoft yada organizasyon hesabınız ile bağlantı gerçekleştirmenizi isteyecek. Bu noktada aşağıdaki gibi bir uyarı alabilirsiniz.

Bunun için yapmanız gereken Server Manager konsolu içerisinden Internet Explorer Enhanced Mode’u disable etmektir.

Ardından oturum açma işlemini gerçekleştirebilirsiniz.

Daha önce oluşturdunuz Workspace seçimini yapabilirsiniz.

Gerekli entegrasyonu sağladıktan sonra OMS konsolunuz içerisinde bağlantıya dair uyarıyı göreceksiniz.

Bu asamadan sonra OMS ile de yönetmek istediğiniz SCOM bilgisayarlarını eklemeniz yeterli olacaktır.

Microsoft var olan SCOM yapılandırmaları için OMS desteğini UR2 ile birlikte vermeye başladı. Yani yapınızda SCOM 2012 R2 UR2 güncelleştirmesi gerçekleştirdiyseniz OMS entegrasyonunu sağlayabilirsiniz. Ayni şekilde eğer UR3 güncelleştirmesini gerçekleştirdiyseniz Proxy desteğine de sahip olacaksınız.

Proxy desteği özellikle Internet Proxy yapılandırılması gerçekleştirilmiş bir ortamdan OMS bağlantısı sağlamak istediğinizde size yardımcı oluyor. Bunun için öncelikle SCOM içerisinde ilgili Run As Profile hesabını güncelleştirmeniz gerekmektedir.

Bu noktada yapılması gereken Proxy için kullanılacak kullanıcı adi ve parola ile bir Run As Account oluşturmak ve bu Run As Profile içerisine dahil etmektedir.

Bir diğer önemli nokta oluşturduğunuz Run As Account için target olarak Microsoft System Center Advisor Monitoring Server Group objesini seçmeniz. Aksi takdirde bu Run As Account tüm sunucular üzerinde oturum açmaya çalışacak ve size gereksiz tonlarca SCOM alert/warning olarak geri dönecektir.

SCOM bağlantısı dışında bir diğer alternatif de sunucuları direkt olarak OMS hizmetine bağlamaktır. Bunun için yapılması gereken OMS ajanını ilgili sunucular üzerine farklı dağıtım yöntemleri ile göndermektedir. Bu dağıtım yöntemleri

  • Manual kurulum
  • Komut satiri ile kurulum
  • Script ile kurulum
  • Azure Resource Manager Template ile kurulum (Azure sunucuları için)

Seklinde olabilir. Öncelikle OMS portal üzerinden istenilen mimari için gerekli ajan paketi indirilir.

Ayrıca WorkspaceID ve PrimaryKey değerlerinin de kurulum sırasında kullanılmak üzere kopyalanması gerekmektedir.

Bir sonraki adımda istenilen sunucu üzerinde ajan paketi calistirilir.

Kurulum tamamlandıktan sonra Control Panel içerisinde Microsoft Management Agent’i görüntüleyebilirsiniz.

OMS konsolunda görüldüğü gibi sunucum bağlantısını gerçekleştirdi.

Ayni şekilde ARM template, komut satiri yada PowerShell ile de kurulum tek ve birden fazla sunucu için gerçekleştirilebilir.



Operations Management Suite Part 3 – Workspace Olusturulmasi

Bu bolümde yeni bir OMS hizmeti oluşturup ilk workspace üzerinde çalışmaya başlayacağız. Makalenin ilerleyen kısımlarında da oluşturduğumuz bu workspace üzerinde çalışıyor olacağız. adresinden var olan Azure hesabınızı OMS ile ilişkilendirebilir yada ücretsiz deneme sürümünü başlatabilirsiniz.

Ardından aşağıdaki formu doldurarak yeni bir OMS workspace oluşturabilirsiniz.

Bir sonraki adımda var olan bir Azure üyeliğinizi OMS ile entegre edebilirsiniz. Her ne kadar bu zorunlu bir adim olmasa da Azure üzerinde bulunan organizasyon kullanıcılarınız ile yetkilendirme ve delegasyon yapılması için önerilmektedir.

Ve ilk workspace’iniz karşınızda.

Veri toplama, analiz, SCOM entegrasyonu gibi işlemleri gerçekleştirmeden önce workspace üzerinde ilk yapılması gereken işlem OMS yönetimi için kullanıcıların delege edilmesi, gerekirse organizasyon active directory’si ile OMS’in ilişkilendirilmesidir. Bunun için yapılması gereken OMS workspace ekranında settings bölümüne girerek add organization seçilmesidir.

Ayni konsol içerisinde ayni zamanda sağ tarafta bulunan kullanıcı bölümünden delegasyon işlemleri de gerçekleştirilebilir.