25 February, 2014

How to monitor SharePoint – Part -2


If you have any queries / questions regarding the first part then please feel free to ask so that we can discuss and proceed further…

We are going to discuss the remaining sections today in descriptive manner-

Usage data and health data collection
 As we discussed, ULS, Event Viewer logs, SharePoint Health Analyzer are vital enough to provide the cause behind the issues but sometimes not everything gets captured inside these logs, example-

1.   Traffic Reports - How many hits a page got, how the user got there, and what browser they used to get there.
2.   Search Reports - What was searched for, top clicks, failed queries.
3.   Inventory Reports - What space is being used by whom, how many sites you have, what languages those sites use.

"Site usage reports" have been renamed as Web Analytics.

You can access Web Analytics reports by going to Site Actions -> Site Settings.  Under the Site Actions heading you will see two links, Site Web Analytics Reports and Site Collection Web Analytics Reports.

Inventory Reports:
The inventory reports are targeted to help the site administrators in managing the site by keeping track of the site structure and storage and version issues.

1.   How much disk space is being consumed?
2.   How many sites have been created?
3.   What languages are in use?

Developer Dashboard

Developer Dashboard is one of the clean and neat tools to troubleshoot performance issues. This functionality is disabled by default but pretty useful. With the help of developer dashboard (DD), we can easily recognize type of problem, either programmatically by using the object model or visually by looking at page output, critical events, database queries, service calls, and SharePoint requests allocation.

How to enable this:-
$svc=[Microsoft.SharePoint.Administration.SPWebService]::ContentService
$ddsetting=$svc.DeveloperDashboardSettings
$ddsetting.DisplayLevel=[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::OnDemand
$ddsetting.Update()

Best Practices on Memory Leak
Microsoft has created an awesome too to find out the memory leaks.


If you have any questions/queries then please let me know. I would be more than happy to help you as well as resolves your issues, Thank you.

Product applies to:
a.    SharePoint Server 2010
b.    SharePoint Foundation 2010

References:
Capacity requirements for the Web Analytics Shared Service in SharePoint Server 2010: http://technet.microsoft.com/en-us/library/gg440601.aspx

Reporting and usage analysis overview (SharePoint Server 2010)

Web Analytics in SharePoint 2010: Insights into Reports and Metrics

24 February, 2014

How to monitor SharePoint? - Part -1

Monitoring- Looks very simple, isn’t it? J One of the most debatable / discussable topic in today’s SharePoint market but let me tell you guys, this terminology has a very broad scope and that’s why big organizations invest heavily on third party tools to get appropriate output as per the desired requirement.

1.   Why the monitoring has so much importance?
2.   Why the monitoring has gain a huge demand right from the day 1 of the SharePoint birth?
3.   Is this monitoring – a need of the time?
4.   Don’t we have out of box (OOB) monitoring options available?
5.   Why we are so dependent on the third party tools? Just because these tools are simplifying your output in an easy manner?  

Why monitoring is needed in SharePoint?
a)   To ensure the availability and reliability
b)   To identify potential errors before an error causes problems
c)   To notify administrators when problems occur

In this today’s article, we will explore the default monitoring options / OOB options which need to be evaluated properly so that we can use them in an appropriate manner.

First of all- Let me share the CORE OPTIONS that we can use OOB-
A.   Diagnostic logging
B.   SharePoint Health analyzer
C.   Usage data and health data collection
D.   SharePoint Developer Dashboard

Every core options has so many nested sub sections that I am going to share now-

Diagnostic logging:
Diagnostic logging / ULS logs- pretty useful utility in terms of troubleshooting any issues. ULS logs will give you the root cause behind the actual issue. SharePoint tracing service is responsible for the creation of ULS logs, If this service gets stopped then you won’t be able to see the ULS logs so make sure this service always in started mode.

Where you will find this service:
Start -> Run -> Services.msc -> SharePoint Tracing Service.

Where you will find the ULS logs:
C:\Program Files\common files\Microsoft Shared\Web Server Extensions\14\Logs

Note: If you have customized the location then you will find in different drive but path will be same.

Which tool will be useful to analyze the ULS logs: ULSViewer.exe
You can download from here: http://ulsviewer.codeplex.com/

Where you will find this section in SharePoint?
a)   Open the Central Administration
b)   Monitoring
c)   Configure diagnostic logging
d)   Select all Categories
e)   Select the following default settings-
§  Least critical event to report to the event log - Warning
§  Least critical event to report to the trace log – Unexpected
f)    Enable this option- Enable Event Log Flood Protection
g)   In the path section, you can configure the location where you want to store the logs
h)   Number of days setting which specifies the log validity.

SharePoint Health Analyzer (SHA):-
SHA is equally important; in fact I can say this is so powerful which will give your complete statistics of your SP environment.  This tool is an enhancement / introduced in this SP 2010 version as it was not there in SharePoint 2007/previous versions.

What’s the specialty of this tool?
a.    Identifies problems
b.    Recommends solutions
c.    Repairs the functionality itself
d.   Automatically resolves the problem
e.    These checks run on an hourly / daily / weekly or even monthly basis.

Where you will find this utility in SharePoint?
a.    Open the Central Administration
b.    Monitoring section
c.    Health Analyzer
d.   Review problems and solutions

Who is working under the HOOD?
Curious to know- Right? These rules and alerts are based on Timer Jobs so basically there are so many jobs are running in the background that runs on daily/weekly/hourly/monthly basis.

Still writing on the remaining two core sections that I will cover in the next post. Stay tuned :)

If you have any queries/questions regarding the above mentioned information then please let me know. I would be more than happy to help you as well as resolves your issues, Thank you.

22 February, 2014

Last access date/time for SharePoint site collections

Governance! Governance! Governance! – This topic is long lasting… There are so many things comes under governance and if you have a good governance then it means your SharePoint environment is stable, process oriented, disciplined, following capacity planning etc. In my last article, I discussed about one of the most vital governance agenda i.e. site use confirmation and deletion- 

http://sharepointknowledgebase.blogspot.com/2014/02/site-use-confirmation-and-deletion.html

Today’s article is based in continuation with the above article. How? Let me explain - Suppose you don’t want to implement the functionality i.e. (site use confirmation and deletion), then what’s the alternative?
A.   Should be something by which we can think off?
B.   Should be something by which we can implement with proper considerations?
C.   Should be something which there is a minimal risk?

Don’t worry! I also thought of the same questions and started exploring the options by means of PowerShell, by means of any third party tool, by means of SQL queries….

Done a lot of research, analyzed so many test cases, spend so many hours to prepare a script, spend numerous days to explore the site columns in SQL database and then finally got it that I wanted as per my requirements.

You must be thinking that which path/solution I am talking about-

Let me brief some details before sharing the actual data-

For this requirement, you need two reports like-
Site collection administrators across all site collections
Site collections which are under-utilized / not been accessed from a long time.

I will not talk about the first point as it’s very easy and you can prepare it in a simple manner via PowerShell. In case of any queries then please let me know.

Regarding second point which is our main agenda / goal – This can be extracted via SQL Query!

Please refer the following SQL Query which will accomplish this requirement.

SELECT FullUrl AS 'Site URL', TimeCreated,
DATEADD(d,DayLastAccessed + 65536, CONVERT(datetime, '1/1/1899', 101))
AS lastAccessDate FROM Webs WHERE
(DayLastAccessed <> 0) AND (FullUrl LIKE N'sites/%') ORDER BY lastAccessDate

You need to run this query against the specific content database and extract the report. 
1.   Login to your SQL box
2.   Open SQL Server management studio
3.   Click on “New Query” from the top
4.   Change the database from the dropdown
5.   Select your content database
6.   Paste the above query in the query box
7.   Select it (control A)
8.   Execute it from the top.
9.   You will get the report in the bottom section. That’s it- You are done.

If you have any queries/questions regarding the above mentioned information then please let me know. I would be more than happy to help you as well as resolves your issues, Thank you.

References:-


Product Applies To:-
1.   SharePoint Server 2007
2.   SharePoint Server 2010
3.   SharePoint Foundation 2010
4.   SharePoint Foundation 2013
5.   SharePoint Server 2013

Technorati ID

WVKSJTKRJEHV

21 February, 2014

Site Use Confirmation and Deletion

This functionality- Simply awesome! If you have governance already setup in your organization then everybody will talk about this feature implementation.

This is really a good feature which reduces the storage management task if the site is not being utilized and kept idle for long duration. We can control the number of notifications to be send across (by default is 28) and time duration is 90 days. If the site remains idle for 90 days then the timer job will start sending notifications to the site collection administrators on daily basis, until & unless the site collection administrator clicks on the confirmation link.

How to implement this / from where we can enable this functionality?

Here are the complete details:-
1.   Open the Central Administration
2.   Application management
3.   Under Site Collections
4.   Confirm site use and deletion

We can implement this functionality web application wise, hmm what is meant by web application wise? Is this something will be applicable at the web application level or site collection level? Does this functionality enable the access to web app level?

So much curiosity and excitement is there to know the answer-correct? Me too were having the same before I explored all the things J

Please refer the following screenshot-

Once you select the proper web application from the drop-down then it will be applicable for all the site collections that nested underneath.

Which things are important before applying these settings?
Basically there are two check boxes-
1.   Email notifications
2.   Deletions

Let’s talk about Email notifications:

a)   Time span- By default it is 90 days but if you think this is less time frame for the owners (think from the governance perspective) then you can adjust this window for suppose 5 months / 6 months i.e. 180 days.
b)   When you will get the email from the SharePoint system that please confirm the usage then please don’t ignore by considering that you will get the next reminder email. You need to click on the link which talks about confirmation.
c)   Let me tell you one interesting thing about these emails- customizations. Yes you got it correct; you can customize this email as per your organization requirements. The location is-  C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\1033\XML\DEADWEB.xml

Note: Please take the backup of this file before making any kind of changes.
d)   There is one more possibility that initially there might be large numbers of email floating around (on the first-go only) when the timer job gets execute for the first time as we have experienced this behavior.

Let’s talk about Deletions now:
     I.        Be careful on this- Once the site gets deleted then it won’t go to Recycle Bin. Most of the people are having the misconception that just like windows/SP end user recycle bin, this site will also go to the same place but it’s not like that. It will be completely removed from the database also.
   II.        Don’t worry about the sub sites as if gets deleted then you can recover them from the second stage recycle bin but this funda is not applicable for site collections.

Note: In case of any issue or large number of emails floated around then also please don’t modify the database numbers as it is completely not supported.

Let’s talk about behind the scene functionality:

Site use confirmation and deletion functionality is basically depends on three main factors / database parameters:
1)   DeadWebNotifyCount
2)   CertificationDate
3)   LastContentChange


Common FAQ’s:

1)   Can we disable this functionality once we enable it? – Yes, you can disable this functionality anytime by the same steps as-
·         Central Administration > Application Management > Site Use Confirmation and Deletion
·         Uncheck the "Send e-mail notifications to owners of unused site collections” check box for the web app these sits are under.
·         Verify the "Dead Site Delete" is 'disabled'

2)  Can we implement this functionality without deleting the site? – Yes, when you turn on / enable the functionality in Central Admin then don’t select the check box which says – “Automatically delete the site collection if use is not confirmed”

3)   When exactly the email will trigger? - The Confirmation and Deletion functionality will e-mail the site owner when the site goes unused for a period of time.

4)  When exactly the site will be deleted? - If there is no response after a certain number of notifications by logging in to the site then you can choose to have the site deleted automatically.

5)   Is there any SharePoint job plays a vital role in this functionality? – Yes, that’s correct. Under Operations> Timer Job Definitions > Dead Site Delete" for all web applications (You will see this job only when you enable the functionality)

I hope the above mentioned information will be helpful to understand this useful functionality.

In case of any queries/questions then please let me know. I would be more than happy to help you as well as resolves your issues, Thank you.