Atlassian Monitoring with JMX (Java Management eXtension)

Want to know some details on what’s going on with your Atlassian application? (JIRA, Confluence, any JVM application).


Add these lines your Java Options:

Create a jmxremote.password file

  1. Copy C:\Program Files\Atlassian\JIRA\jre\lib\management\jmxremote.password.template to C:\Program Files\Atlassian\JIRA\jre\lib\management\jmxremote.password
  2. Edit jmxremote.password to add your credentials
  3. Set permissions on jmxremote.password
    1. Set owner the the user your Atlassian application runs as
    2. Remove inheriting permissions
    3. Remove all account permissions except for owner
    4. save your settings

Start your service & launch jconsole

Note: Running jconsole.exe -debug is helpful for troubleshooting

Use your favorite monitoring tool to collect the stats

SolarWinds SAM module supports JMX

Windows computers not reporting to WSUS

Verify client configuration

Local Computer Policy

Verify Resultant Policy is correct

Verify Correct GPO’s are being applied

C:\>gpresult /scope computer

Update Group Policies

C:\>gpupdate /force

verify connectivity


telenet 8530

If you are using a hosts file and having troubles with resolution, check out this post

Reset the client

wuauclt.exe /resetauthorization /detectnow

Force check in

wuauclt.exe /reportnow

Check WSUS in 10-15 minutes

If you are still having issues check out the client log file:


Windows hosts file not being used for resolution

windows version: Server 2003 R2 Standard x64 SP2

Verify it’s not working

ipconfig /flushdns

ipconfig /displaydns | more

Check for type-o’s!

Start with the simple solution first

Verify hosts file location

Open Registry Editor

Verify key: My Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services|Tcpip\Parameters\DataBasePath

Copy Value data and paste it into Explorer to verify you are editing the correct file

Verify file permissions (This was my issue)

If machine\users is not given Read and Read & Execute permissions, add the account.


Using PowerShell to produce a list of databases from a list of server\instances

Need to produce a report showing all the databases in your environment? Why not include the name, size and owner while we are at it and export it to a csv file. Here you go!

Note: The SQLPS module is installed on a machine with Microsoft SQL Server Management Studio. I have tested this with MSSMS 2014.

The PowerShell Script

import-module "C:\Program Files (x86)\Microsoft SQL Server\120\Tools\PowerShell\Modules\SQLPS" -DisableNameChecking
$rootdir = "C:\Users\VirtualRick\SQL Server Audit\"
$instances = import-csv $rootdir\server-instance.csv
ForEach($row in $instances)
$sqlPath = "SQLSERVER:\SQL\$($row.server)\$($row.instance)\Databases\"
dir $sqlPath | select Name, Size, Owner | export-csv $rootdir\export.csv -Append


server-instance.csv file example:



Performance Monitoring for Atlassian Applications (JIRA, Confluence on Windows)

Who doesn’t want to know how their applications are performing? Here’s a quick way to start collecting data and analyzing it.

  1. Sign-up for a free New Relic account
  2. Download your New Relic java agent zip file to your server and extract. I placed mine in the “D:\Program Files” folder.
  3. Edit “D:\Program Files\newrelic\newrelic.yml”
    1. update the “license_key” and “app_name” variables
      1. note: the license_key is surrounded in ticks ” and app_name is not.
  4. Configure the java agent to start when the service starts
    1. start > run > regedit.exe
    2. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\[App ID]\Parameters\Java
    3. edit “Options” by adding “-javaagent:D:\Program Files\newrelic\newrelic.jar” to the bottom
  5. Restart your application service

If your app doesn’t show up in the console check your logs! (D:\Program Files\newrelic\logs\newrelic_agent.log)

Packet captures on Windows 2008 R2 ( & 2012, 2016)

Need to run a packet capture but your services for some unknown reason are running on a Windows Server? If yes, then your in luck. As of Windows Server 2008 R2 the tools you need are already installed on the server for you!

Quick capture

Note: Needs to be run from an elevated command prompt

Start the capture

netsh trace start scenario=NetConnection capture=yes tracefile=tracefile.etl

Stop the capture

netsh trace stop


The results will be a nice cab file you can easily transfer to your client workstation for review.
You may want to use a tool like Microsoft’s Message Analyzer to review the capture.
Micosoft Message Analyzer



Verify and configure Windows servers for NTP

It’s a known fact computers like to interact with other machines only when they can at least agree they exist in the same time. Once we learn more about time travel and parallel universes maybe this will change, but for now let’s keep all our clocks in sync!

Verify current status

Note the “Source” field. In the example below this indicates that the server is using the local system clock and not an NTP server.

PS C:\Users\Administrator> w32tm /query /status
Leap Indicator: 3(last minute has 61 seconds)
Stratum: 0 (unspecified)
Precision: -6 (15.625ms per tick)
Root Delay: 0.0625000s
Root Dispersion: 7.8418233s
ReferenceId: 0x00000000 (unspecified)
Last Successful Sync Time: 2/25/1983 7:53:20 AM
Source: Free-running System Clock
Poll Interval: 10 (1024s)

Configure the NTP server to use

PS C:\Users\Administrator> net time \\ /set /yes

Restart the time service

net stop w32time

net start w32time

 Sill having troubles?

Enable logging: