Kaseya Community

PHP Based NOC Dashboard with Sourcecode

  • I posted a new release of the NOC here last week, but the post needs forum moderator approval - which hasn't happened :(

  • Thanks for the latest release !

    [edited by: neuvoja at 7:03 AM (GMT -7) on Mar 10, 2015]
  • Would love to see the option: "Show only alarmed machinegroups" in the "Machine Group Status" plane.

    We have over 1000+ customers, and if we enable the "Machine Group Status" plane, we need to scroll a long way down :)

  • - yes that's flagged for the next version. As is reducing the server uptimes list to a manageable size (probably top 5 and bottom 5?).

  • That would be great!

    I have already ajusted the server uptimes to incorporate the "top X setting".

    In serveruptime.php I have inserted on line 55:  echo "<div class=\"topn\">showing first ".$resultcount."</div>"; so the top-x setting is shown to our staff.

    On line 6 I ajusted the query: $tsql = "Select distinct top ".$resultcount." t1.machName, t1.agentGuid as agentGuid, t1.groupName, t1.lastReboot, st.online, case when st.online = 2 then 1 else st.online end as olorder, st.currentLogin

  • I prefer top n and bottom n results, and have a new version working with this .... SQL is rather more tricky, but the query runs a lot faster which is important too.

    Also, change the one line of code code that prints out the uptime% to:

     echo "<td class=\"colM\">";

     if ($row['online']==0) { echo "--"; } else { echo round(($row['totalOnline']/$row['measureTime'])*100,2)."%"; }

     echo "</td>";

    as the uptime % figure is invalid for offline servers.

  • I've had this in my backlog for awhile, and finally got it up and running yesterday; really nice! I ran into a few errors running this on a Windows 8 machine, so for posterity here are the errors I ran into, and the fixes:
    Fatal error: Call to undefined function sqlsrv_connect() in C:\xampp\htdocs\kaseyaNOC\dblogin.php on line 7

    PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_sqlsrv_56_ts.dll' - The specified module could not be found.

    apache cannot start msvcp110.dll missing
    - Install Visual C++ Redistributables... I'm actually not sure which one fixed my issues, but now I have 2008-2013, so... yeah :)
     - I needed the Microsoft ODBC Driver 11 as well
     - Run as an administrator (doh!)

    And a question for all you smart people: Back before KRC, I had modified the kserver's kVncCtl.asp code (starting at line 722 in v8, it starts with 'scriptThenElse("THEN",') to run an additional kaseya procedure on the remote machine whenever a remote control session was started. Does anyone have ideas on how to do this now that we have KRC? I'll consider sharing some fun code if I can get this working again ;)


  • I recently updated to PHP 5.5 and I noticed that the requirements of the Microsoft PHP driver for SQL have changed quite a bit. I'll be updating the documentation for all of this soon....

  • Hi,

    I'm getting the same message on Windows 8.1.

    I tried to install Xampp with php 5.5 without success.

    I installed ODBC driver 11 for SQL Server

    SQL server 2012 Native Client

    VC++ 2008 x86 and 2012 x64.

    I guess I'll just have to try to add other Visuall C++ :P

  • Try adding VC++ 2012 x86

  • KaseyaNOC2.0.zip

    OK so onward and upward with NOC 2.0!!

    I have decided to bump the version to 2.0, as there are three major changes this version, as follows:

    - Mobile device support: rudimentary screen sizing and removal of non-vital data based on device screen size.

    - Rotating "core" stats display; minimizes screen real-estate by bringing the most vital statistics into a single pair of panels, that tick over frequently. This allows the viewer to monitor the most vial data more easily, and without occupying too much screen real estate.

    - server uptimes panel now restricted to top n and bottom n list, so the panel isn't a mile long if you have lots of servers to monitor.

    .....As well as the usual bugfixes and minor improvements, a lot of old code has been gone over and cleaned up, with a view to standardizing and sorting out issues. See the readme.txt file for more details on what's changed.

    Here's the usual screengrab: the "critical status" and the panel to it's immediate right work as a linked pair, updating every 10 seconds with fresh data from the list in the left-hand panel. Each item is controllable through the config screen so you can enable/disable whatever you choose.

    Note that if you're upgrading, there are a lot of new/renamed files this version; it would therefore be best to back up your noc.ini & any other customization, delete your NOC folder, unzip this version into the folder, then put back your noc.ini. You can of course just unzip over-the-top and that will work (except keep your noc.ini) however you'll end up with a lot of files that aren't used any more if you do this.

    as always, your feedback, bug reports, requests etc. given here or via craig @ mytechsolutions . com. au is always very much appreciated!!

  • Very cool idea. Most of the other dashboards don't show up now though, how do I display them again? I have everything checked on the config page.

  • If you're not seeing all the panels, try increasing your screen resolution....the mobile device support code reduces the displayed info on low resolution screens. You need at least 1151 pixels wide for the full experience.

    If you prefer the foll experience always, edit index.php and delete the following 3 lines:

    <link rel="stylesheet" type="text/css" media="only screen and (max-width: 500px)" href="mobilep.css" />

    <link rel="stylesheet" type="text/css" media="only screen and (min-width: 501px) and (max-width: 899px)" href="mobilel.css" />

    <link rel="stylesheet" type="text/css" media="only screen and (min-width: 900px) and (max-width: 1150px)" href="tablet.css" />

  • I have moved development of my NOC onto GitHub. This way, the most recent version (along with daily bugfixes etc.) will always be available and is easy for others to interact with and contribute to.


    I will continue to post announcements of new releases here, however I will not be posting new zipfile versions here any longer. You can always download the latest release from the above github link...if you wish to contribute code to the project, sign up to github and get forking!

  • Any ideas why KAV Workstation Status gives Fatal error: Call to a member function getTimestamp() on a non-object in GetKAVinfo.php on line 309? VSA patch level is