Imported old code.

This commit is contained in:
Johannes Findeisen 2023-08-22 03:14:43 +02:00
commit 89d94c38b6
243 changed files with 26457 additions and 0 deletions

7
404.html Normal file
View file

@ -0,0 +1,7 @@
---
layout: default
---
<h2>File not found!</h2>
<p>Sorry, the requested file could not be found on this server.</p>

1
CNAME Normal file
View file

@ -0,0 +1 @@
linspector.org

5
Gemfile Normal file
View file

@ -0,0 +1,5 @@
source :rubygems
gem "jekyll"
gem "RedCloth"
gem "rdiscount"

71
Gemfile.lock Normal file
View file

@ -0,0 +1,71 @@
GEM
remote: http://rubygems.org/
specs:
RedCloth (4.3.2)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0)
concurrent-ruby (1.1.10)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
eventmachine (1.2.7)
ffi (1.15.5)
forwardable-extended (2.6.0)
http_parser.rb (0.8.0)
i18n (1.10.0)
concurrent-ruby (~> 1.0)
jekyll (4.2.2)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (~> 2.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.4.0)
pathutil (~> 0.9)
rouge (~> 3.0)
safe_yaml (~> 1.0)
terminal-table (~> 2.0)
jekyll-sass-converter (2.2.0)
sassc (> 2.0.1, < 3.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.7.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.7)
rb-fsevent (0.11.1)
rb-inotify (0.10.1)
ffi (~> 1.0)
rdiscount (2.2.0.2)
rexml (3.2.5)
rouge (3.28.0)
safe_yaml (1.0.5)
sassc (2.4.0)
ffi (~> 1.9)
terminal-table (2.0.0)
unicode-display_width (~> 1.1, >= 1.1.1)
unicode-display_width (1.7.0)
PLATFORMS
x86_64-linux
DEPENDENCIES
RedCloth
jekyll
rdiscount
BUNDLED WITH
2.3.22

6
README.md Normal file
View file

@ -0,0 +1,6 @@
This is the code of http://linspector.org
=========================================
The site is being generated using Jekyll and is hosted at GitHub.
Thanks to GitHub for that service!

16
_config.yml Normal file
View file

@ -0,0 +1,16 @@
keywords: linspector,network,monitoring,watchguard,notification,system,alert,alarm,sla,vital,information
destination: ./_site
paginate: 5
paginate_path: "news/page:num"
permalink: /news/:year-:month-:day-:title/
lsi: false
port: 4000
pygments: true
markdown: rdiscount
rdiscount:
extensions: [smart]

63
_layouts/default.html Normal file
View file

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Linspector System Monitoring - {{ page.title }}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="System, Network, Service and Device Monitoring solution">
<meta name="author" content="Johannes Findeisen, Rafael Timmerberg">
<meta name="keywords" content="{{ site.keywords }}{% if page.keywords %},{{ page.keywords }}{% endif %}">
<link rel="alternate" type="application/atom+xml" title="Linspector Atom Feed" href="/news/atom.xml">
<link rel="shortcut icon" href="/img/linspector.favicon.png" type="image/png">
<link href="/css/normalize.css" rel="stylesheet">
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prettify.css" rel="stylesheet">
<link href="/css/table.css" rel="stylesheet">
<link href="/css/linspector.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/github.commits.widget.js"></script>
<script src="/js/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Linspector</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<!--<li{% if page.metasub == "home" %} class="active"{% endif %}><a href="/">Home</a></li>
<li{% if page.metasub == "about" %} class="active"{% endif %}><a href="/about/">About</a></li>
<li{% if page.metasub == "features" %} class="active"{% endif %}><a href="/features/">Features</a></li>
<li{% if page.metasub == "news" %} class="active"{% endif %}><a href="/news/">News</a></li>
<li{% if page.metasub == "documentation" %} class="active"{% endif %}><a href="/documentation/">Documentation</a></li>
<li{% if page.metasub == "community" %} class="active"{% endif %}><a href="/community/">Community</a></li>
<li{% if page.metasub == "download" %} class="active"{% endif %}><a href="/download/">Download</a></li>
<li{% if page.metasub == "projects" %} class="active"{% endif %}><a href="/projects/">Projects</a></li>
<li{% if page.metasub == "development" %} class="active"{% endif %}><a href="/development/">Development</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="padding-left:6px;"><img src="/img/linspector.new.png" /></li>
</ul>
</div>
</div>
</div>
<div class="container">
{{ content }}
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">&copy; 2011 - 2015 by the Linspector development team, this site is hosted on <a href="http://pages.github.com" class="ext">GitHub Pages</a></p>
</div>
</div>
</body>
</html>

9
_layouts/post.html Normal file
View file

@ -0,0 +1,9 @@
---
layout: default
---
<article>
<h2>{{page.title}}</h2>
{{content}}
</article>

View file

@ -0,0 +1,7 @@
---
layout: post
title: v0.2
metasub: news
---
<p>After a nice hacking session tonight, scheduling of jobs is working now! Rafael wrote some nice code to handle all the execution of jobs using the APScheduler. The next step will be processing the service command execution and parsing the results.</p>

View file

@ -0,0 +1,7 @@
---
layout: post
title: v0.3
metasub: news
---
<p>Service command execution is working. It seems to be stable and results are as expected.</p>

View file

@ -0,0 +1,7 @@
---
layout: post
title: v0.4
metasub: news
---
<p>We have refactored the configuration file very much today. The code is not working anymore but this is just refactoring too. It's a pain but the new configuration file is much more efficient now and it was a good decision. We will make the code running in the next days.</p>

View file

@ -0,0 +1,7 @@
---
layout: post
title: New IDE for development
metasub: news
---
<p>We got a <a href="http://www.jetbrains.com/pycharm/" class="ext">PyCharm</a> project license today for using the IDE for Linspector development for free! Yeah, thanks to <a href="http://www.jetbrains.com/" class="ext">JetBrains</a> for that! PyCharm is a very nice IDE when doing Python development. It is fast and helpful in many ways...</p>

View file

@ -0,0 +1,7 @@
---
layout: post
title: Services are working
metasub: news
---
<p>Service command execution is working again. We refactored the code to use the new json configuration format. The code looks very nice now. Additionally we added a developer mailinglist. Look at the bottom of this site on how to subscribe.</p>

View file

@ -0,0 +1,7 @@
---
layout: post
title: v0.6
metasub: news
---
<p>Linspector is working and the tcpconnect service is stable. Reporting could be done via mail. No real features yet but the core is running fine... ;)</p>

View file

@ -0,0 +1,7 @@
---
layout: post
title: New Website
metasub: news
---
<p>New website launched! \o/ Since we really would like to add more content like documentation to the website we needed a site structure. We had that not before. Now we have a clean design an structure to add content very easy. The site will be added to github soon so development could go on there.</p>

View file

@ -0,0 +1,7 @@
---
layout: post
title: Installation Guide added
metasub: news
---
<p>We added an <a href="/documentation/installation-guide/">Installation Guide</a>. Have fun!</p>

View file

@ -0,0 +1,7 @@
---
layout: post
title: Minimal Configuration Guide added
metasub: news
---
<p>We added a <a href="/documentation/minimal-configuration-guide/">Minimal Configuration Guide</a> today to make it easier to setup your first instance of Linspector. Please try Linspector and report issues!</p>

View file

@ -0,0 +1,9 @@
---
layout: post
title: Current Code Broken
metasub: news
---
<p>After some refactoring the current code is broken. It executes nice when setting the right environment but not without! We are making the code more Python generic so we have to learn a bit and set all things up the right way. Use commit <a href="https://github.com/linspector/linspector/commit/7ff43ff222367c8ac60a5147c11b128d7a970248" class="ext">7ff43ff222367c8ac60a5147c11b128d7a970248</a> if you want to give Linspector a try.</p>
<p>Current <a href="/documentation/installation-guide.html">Installation Guide</a> is broken too but it will be fixed ASAP!</p>

View file

@ -0,0 +1,13 @@
---
layout: post
title: v0.7
metasub: news
---
<p>Linspector got some more internal structure for Job-Handling today. Lish is able to list all scheduled jobs and all jobs have their unique ID to make handling easier.</p>
<p>Threshold-Handling has two options now. Linspector can reset to 0 on service success or decrement the threshold value.</p>
<p>Logging is still not perfect but we are closer to what we want.</p>
<p>We started writing content to <a href="https://github.com/linspector/linspector/wiki/_pages" class="ext">our Wiki at GitHub</a> so take alook there if you need more information about the configuration of Linspector. Configuration variables will be explained there more and more...</p>

View file

@ -0,0 +1,9 @@
---
layout: post
title: Status
metasub: news
---
<p>Linspector is currently able to probe TCP and UDP ports. An implementation of a PING service is in work but we really would like to build up the core before extending Linspector with new "services". Reporting works too but only via eMail. Jabber and SMS will follow next. Storing the data is not implemented yet.</p>
<p>Take a look at the code to figure out what features are availble at the moment.</p>

View file

@ -0,0 +1,11 @@
---
layout: post
title: JSON to YAML
metasub: news
---
<p>We switched the configuration from JSON to YAML today. YAML is much easier to read and write and has some more features. We will still support JSON based configuration but are focusing on YAML from now on. If some day it will be hard to maintain both file formats we will drop JSON support but for now it seems to be no problem for us.</p>
<p>An example can be found <a href="https://github.com/linspector/linspector/blob/master/examples/linspector.yaml" class="ext">here</a>.</p>
<p>Documentation will be updated soon but we want to change some config structures too so this will happen when it is done. For now everything works fine with the current docs.</p>

View file

@ -0,0 +1,16 @@
---
layout: post
title: v0.9 - Introducing the Lish
metasub: news
---
<p>We reached a new milestone last night! Yeah!</p>
<p>Linspector got a terminal management frontend for administrators for doing maintenance tasks like enabling or disabling jobs. This frontend is called "Lish - The Linspector interactive Shell". It will become a full console to do all kind of management like configuration, restarting, reloading the Linspector instance etc. It has colored output and feels very well. If you like
working in text based terminals Linspector and its Lish is the right software for system monitoring. We recommend to give it a try! There is still a lot of work to make it usable in the real world but it is stable and useful though.</p>
<p>We will add a screencast of the Lish until tomorrow where you can see it in action here on linspector.org. Stay tuned!</p>
<p>We added a feature to Lish to view documentation like viewing man pages on a UNIX style system directly in Lish. The command is called "man" and we will add documentation there from now on. Manual pages are written in Markdown and can be <a href="https://github.com/linspector/linspector/tree/master/man" class="ext">viewed online at GitHub</a>.</p>
<p>Have fun with this new version of Linspector!</p>

View file

@ -0,0 +1,9 @@
---
layout: post
title: v0.10 - JSON-RPC Backend
metasub: news
---
<p>We added a new important subsystem to Linspector today. Linspector now has a JSON-RPC backend for connecting to an instance from web applications, desktop applications etc. Currently you can get a list of jobs, detailed information about a single job and you can enable and disable jobs from remote. There is no authentication implemented yet but that will be easy to implement and available in our first release.</p>
<p>Lish was cleaned up a lot and output of commands got some more colors. Additionally Lish got a new command (man) for browsing documentation like man pages on UNIX operating systems. We will add documentation from time to time so this section will grow from now on.</p>

View file

@ -0,0 +1,43 @@
---
layout: post
title: v0.11 - Threading and Benchmark
metasub: news
---
<p>We have added a Linspector main thread today. The problem was that Linspector was started and had scheduled the Jobs and afterwards enabled the Backends and the Lish interface. Since Linspector currently schedules one Job every 3 seconds we had to wait a long time until Backends and the Lish was available to the user. Now Scheduling is done in a background thread and all interfaces are available after some few seconds. You will have access to all scheduled jobs right after starting Linspector and the list then grows in the background. That was a big improvement so we decided to set the version to 0.11.</p>
<p>We then started a small stress test using a configuration file with a lot of jobs polling many hosts to see if everythng works like expected. Below is a table showing the results. Be sure that these results are in no way reliable because they were made on hanez' notebook running severel other applications like the desktop but it really shows how powerful Linspector actually is. The configuration was using just the "tcpconnect" service with non existent hosts so the load will be much higher when polling existing hosts or more complex services like "httpget" or "snmpget".</p>
<p>The platform used was an Intel quadcore i7 @ 2.67GHz.</p>
<table>
<caption style="text-align:left;font-weight:bold;">Results:</caption>
<tr>
<td>Job Interval:</td>
<td>60 Seconds</td>
</tr>
<tr>
<td>Job Count:</td>
<td>3390</td>
</tr>
<tr>
<td>Time for Scheduling:</td>
<td>(Job Count * 3 Seconds) / 60 = 168.5 Minutes</td>
</tr>
<tr>
<td>Average System Load:</td>
<td>0.85 - 1.0</td>
</tr>
<tr>
<td>Average CPU Usage:</td>
<td>75%</td>
</tr>
<tr>
<td>Failed Job Executions:</td>
<td>Not checked! But there were some of them failing. We will debug this.</td>
</tr>
<tr>
<td>Time to get full Joblist using JSON-RPC backend:</td>
<td>1 Second</td>
</tr>
</table>

View file

@ -0,0 +1,13 @@
---
layout: post
title: Status Update
metasub: news
---
<p>Linspector is not dead! I need to say that because there where no updates since about 6 month. I will explain what happend the in the past.</p>
<p>At first, Rafael left the development team some month ago. I, hanez, will go on with development! Contact me if you want to participate... ;)</p>
<p>I moved to Hamburg in the beginning of the year for work so I had a lot of stuff to do for moving and work. I arrived and are feeling home so development will go on from now on...!</p>
<p>I will post some information about the technical status of the project ASAP.</p>

View file

@ -0,0 +1,11 @@
---
layout: post
title: Multiprocessing Support
metasub: news
---
<p>Currently I am refactoring a lot of stuff since APScheduler since some months support multiprocessing for job execution.</p>
<p>Yesterday I rewrote the scheduling code but there are still some more things to do. Actually I do not know what is wrong. Scheduling works and execution of jobs is working too but the execution of services fails at some point.</p>
<p>I am on it... ;)</p>

View file

@ -0,0 +1,16 @@
---
layout: post
title: Linspector Rewrite
metasub: news
---
<p>I am working on a Linspector rewrite because of:</p>
<ul>
<li>Big design fails in the configuration parser.</li>
<li>The new APScheduler works quite different and job scheduling needs to be rewritten anyway.</li>
<li>I have designed a completely new shell interface to Linspector which is not compatible with the actual code base.</li>
<li>I want to change the license from AGPL to some BSD or MIT style license and since some code was not written by myself I do not want to replace parts so a rewrite is the best solution.</li>
</ul>
<p>Keep in mind, that it is possible to create a fully working monitoring solution with the current code base but with some limitations. That is why I do not update the current code anymore. A lot of features are missinf but could easily be implemented. For me this makes no sense because the next generation of Linspector could not adopt code because a new design. The interface to services and tasks will not change in this rewrite so these parts could be reused.</p>

66
_site/404/index.html Normal file
View file

@ -0,0 +1,66 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Linspector System Monitoring - </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="System, Network, Service and Device Monitoring solution">
<meta name="author" content="Johannes Findeisen, Rafael Timmerberg">
<meta name="keywords" content="linspector,network,monitoring,watchguard,notification,system,alert,alarm,sla,vital,information">
<link rel="alternate" type="application/atom+xml" title="Linspector Atom Feed" href="/news/atom.xml">
<link rel="shortcut icon" href="/img/linspector.favicon.png" type="image/png">
<link href="/css/normalize.css" rel="stylesheet">
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prettify.css" rel="stylesheet">
<link href="/css/table.css" rel="stylesheet">
<link href="/css/linspector.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/github.commits.widget.js"></script>
<script src="/js/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Linspector</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<!--<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/features/">Features</a></li>
<li><a href="/news/">News</a></li>
<li><a href="/documentation/">Documentation</a></li>
<li><a href="/community/">Community</a></li>
<li><a href="/download/">Download</a></li>
<li><a href="/projects/">Projects</a></li>
<li><a href="/development/">Development</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="padding-left:6px;"><img src="/img/linspector.new.png" /></li>
</ul>
</div>
</div>
</div>
<div class="container">
<h2>File not found!</h2>
<p>Sorry, the requested file could not be found on this server.</p>
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">&copy; 2011 - 2015 by the Linspector development team, this site is hosted on <a href="http://pages.github.com" class="ext">GitHub Pages</a></p>
</div>
</div>
</body>
</html>

1
_site/CNAME Normal file
View file

@ -0,0 +1 @@
linspector.org

6
_site/README.md Normal file
View file

@ -0,0 +1,6 @@
This is the code of http://linspector.org
=========================================
The site is being generated using Jekyll and is hosted at GitHub.
Thanks to GitHub for that service!

95
_site/about/index.html Normal file
View file

@ -0,0 +1,95 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Linspector System Monitoring - About</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="System, Network, Service and Device Monitoring solution">
<meta name="author" content="Johannes Findeisen, Rafael Timmerberg">
<meta name="keywords" content="linspector,network,monitoring,watchguard,notification,system,alert,alarm,sla,vital,information">
<link rel="alternate" type="application/atom+xml" title="Linspector Atom Feed" href="/news/atom.xml">
<link rel="shortcut icon" href="/img/linspector.favicon.png" type="image/png">
<link href="/css/normalize.css" rel="stylesheet">
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prettify.css" rel="stylesheet">
<link href="/css/table.css" rel="stylesheet">
<link href="/css/linspector.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/github.commits.widget.js"></script>
<script src="/js/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Linspector</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<!--<li><a href="/">Home</a></li>
<li class="active"><a href="/about/">About</a></li>
<li><a href="/features/">Features</a></li>
<li><a href="/news/">News</a></li>
<li><a href="/documentation/">Documentation</a></li>
<li><a href="/community/">Community</a></li>
<li><a href="/download/">Download</a></li>
<li><a href="/projects/">Projects</a></li>
<li><a href="/development/">Development</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="padding-left:6px;"><img src="/img/linspector.new.png" /></li>
</ul>
</div>
</div>
</div>
<div class="container">
<h2>About</h2>
<h3>Introduction</h3>
<p>Linspector is a software for monitoring the vital information of hosts, services and devices in a network.</p>
<h3>History</h3>
<p>The history of Linspector is long. It was in early 2005 when <a href="http://hanez.org" class="ext">Johannes Findeisen</a> thought about creating a network protocol for collecting vital information from servers. At that time a good friend, Thilo Bangert, and Johannes where a lot in contact because of the Linux operating system which both of them had used for a long time. It was Thilo who told Johannes about Linux in 1999 and from that day Johannes felt in love with that great piece of software.</p>
<p>Thilo and Johannes created a draft of a network protocol for system monitoring called <a href="http://hanez.org/svip.html" class="ext">SVIP</a>. Thilo wrote a small daemon for getting data from hosts which implemented the SVIP definition. They had limited spare time for development at that time so they never finished that project.</p>
<p>Johannes worked in many companies as system engineer so the problem of system monitoring in an easy way was always in mind. Nagios was used in many web infrastructures but mostly this service was outsourced because the companies didn't wanted to do this maintenance task. It is not easy to find good system engineers in Germany so it is much harder to find an employee with UNIX and Nagios skills. Companies are therefore buying very expensive software solutions for system monitoring which are not open source.</p>
<p>In the year 2010 Johannes met Rafael Timmerberg because both where working at the same company in Hamburg, Germany. Rafael and Johannes started hacking on electronics stuff using microcontrollers once a week and became good friends. Since Rafael is a very excellent software developer Johannes told him about his long time thoughts about a new approach of system monitoring. Rafael loved the idea and they started development the same evening and decided to do that using a scripting language to make Linspector easy to extend.</p>
<p>Johannes needed to move away from Hamburg in 2011 so development was frozen and the project seemed to be dead. But, it isn't dead! In early 2013 development was continued and a very nice implementation of the idea was created by using the <a href="http://www.python.org" class="ext">Python programming language</a>.</p>
<p>Our goal was to create a software that everybody understands, everybody could extend, has a simple configuration and that runs natively on most modern operating systems. The base of that idea was born and development is going on - not very fast but we are on it.</p>
<h3>Links</h3>
<ul>
<li><a href="http://en.wikipedia.org/wiki/Network_monitoring" class="ext">Network monitoring</a></li>
<li><a href="http://en.wikipedia.org/wiki/Service-level_agreement" class="ext">Service-level agreement (SLA)</a></li>
<li><a href="http://en.wikipedia.org/wiki/Information_Technology_Infrastructure_Library" class="ext">Information Technology Infrastructure Library (ITIL)</a></li>
<li><a href="http://en.wikipedia.org/wiki/Snmp" class="ext">Simple Network Management Protocol</a></li>
</ul>
<h3>Logo</h3>
<p>The logo was made using <a href="http://www.gimp.org/" class="ext">The GIMP</a>. It is made from a Tux image created by <a href="http://www.isc.tamu.edu/~lewing/linux/" class="ext">Larry Ewing</a> merged with an inspector hat icon from the <a href="https://rrze-pp.github.io/rrze-icon-set/" class="ext">RRZE icon set</a>.</p>
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">&copy; 2011 - 2015 by the Linspector development team, this site is hosted on <a href="http://pages.github.com" class="ext">GitHub Pages</a></p>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,95 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Linspector System Monitoring - Community</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="System, Network, Service and Device Monitoring solution">
<meta name="author" content="Johannes Findeisen, Rafael Timmerberg">
<meta name="keywords" content="linspector,network,monitoring,watchguard,notification,system,alert,alarm,sla,vital,information,community,mailinglists,bugs,wiki,irc">
<link rel="alternate" type="application/atom+xml" title="Linspector Atom Feed" href="/news/atom.xml">
<link rel="shortcut icon" href="/img/linspector.favicon.png" type="image/png">
<link href="/css/normalize.css" rel="stylesheet">
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prettify.css" rel="stylesheet">
<link href="/css/table.css" rel="stylesheet">
<link href="/css/linspector.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/github.commits.widget.js"></script>
<script src="/js/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Linspector</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<!--<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/features/">Features</a></li>
<li><a href="/news/">News</a></li>
<li><a href="/documentation/">Documentation</a></li>
<li class="active"><a href="/community/">Community</a></li>
<li><a href="/download/">Download</a></li>
<li><a href="/projects/">Projects</a></li>
<li><a href="/development/">Development</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="padding-left:6px;"><img src="/img/linspector.new.png" /></li>
</ul>
</div>
</div>
</div>
<div class="container">
<h2>Community</h2>
<h3>Bugs</h3>
<p>If you want to report an issue, please use the <a href="https://github.com/linspector/linspector/issues" class="ext">Linspector issue tracker</a> at GitHub for that.</p>
<h3>IRC</h3>
<p>You can find some of us in channel #linspector on <a href="http://www.freenode.net/" class="ext">Freenode</a></p>
<h3>Mailinglists</h3>
<p>The following lists are available:</a></p>
<ul>
<li><a href="mailto:linspector-announce@lists.linspector.org" class="mail">linspector-announce@lists.linspector.org</a> - Read announcements here.</li>
<li><a href="mailto:linspector-commits@lists.linspector.org" class="mail">linspector-commits@lists.linspector.org</a> - The commit log.</li>
<li><a href="mailto:linspector-dev@lists.linspector.org" class="mail">linspector-dev@lists.linspector.org</a> - The developer mailinglist.</li>
<li><a href="mailto:linspector-user@lists.linspector.org" class="mail">linspector-user@lists.linspector.org</a> - The mailinglist for users of Linspector.</li>
</ul>
<p>To subscribe just send an empty mail to LISTNAME-subscribe@lists.linspector.org if you want to follow, e.g.: linspector-dev-subscribe@lists.linspector.org</p>
<!-- Archive will follow: http://www.mail-archive.com/-->
<p>Unsubscribing is as easy as subscribing, just send an empty mail to LISTNAME-unsubscribe@lists.linspector.org</p>
<p>For getting help using the mailinglists send an empty mail to LISTNAME-help@lists.linspector.org</p>
<h3>Wiki</h3>
<p>The <a href="https://github.com/linspector/linspector/wiki" class="ext">Linspector Wiki</a> is hosted at GitHub.</p>
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">&copy; 2011 - 2015 by the Linspector development team, this site is hosted on <a href="http://pages.github.com" class="ext">GitHub Pages</a></p>
</div>
</div>
</body>
</html>

384
_site/css/bootstrap-theme.css vendored Normal file
View file

@ -0,0 +1,384 @@
.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.btn-default:active,
.btn-primary:active,
.btn-success:active,
.btn-info:active,
.btn-warning:active,
.btn-danger:active,
.btn-default.active,
.btn-primary.active,
.btn-success.active,
.btn-info.active,
.btn-warning.active,
.btn-danger.active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn:active,
.btn.active {
background-image: none;
}
.btn-default {
text-shadow: 0 1px 0 #fff;
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ffffff), to(#e6e6e6));
background-image: -webkit-linear-gradient(top, #ffffff, 0%, #e6e6e6, 100%);
background-image: -moz-linear-gradient(top, #ffffff 0%, #e6e6e6 100%);
background-image: linear-gradient(to bottom, #ffffff 0%, #e6e6e6 100%);
background-repeat: repeat-x;
border-color: #e0e0e0;
border-color: #ccc;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
}
.btn-default:active,
.btn-default.active {
background-color: #e6e6e6;
border-color: #e0e0e0;
}
.btn-primary {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3071a9));
background-image: -webkit-linear-gradient(top, #428bca, 0%, #3071a9, 100%);
background-image: -moz-linear-gradient(top, #428bca 0%, #3071a9 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
background-repeat: repeat-x;
border-color: #2d6ca2;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
}
.btn-primary:active,
.btn-primary.active {
background-color: #3071a9;
border-color: #2d6ca2;
}
.btn-success {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5cb85c), to(#449d44));
background-image: -webkit-linear-gradient(top, #5cb85c, 0%, #449d44, 100%);
background-image: -moz-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
background-repeat: repeat-x;
border-color: #419641;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
}
.btn-success:active,
.btn-success.active {
background-color: #449d44;
border-color: #419641;
}
.btn-warning {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f0ad4e), to(#ec971f));
background-image: -webkit-linear-gradient(top, #f0ad4e, 0%, #ec971f, 100%);
background-image: -moz-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
background-repeat: repeat-x;
border-color: #eb9316;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
}
.btn-warning:active,
.btn-warning.active {
background-color: #ec971f;
border-color: #eb9316;
}
.btn-danger {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9534f), to(#c9302c));
background-image: -webkit-linear-gradient(top, #d9534f, 0%, #c9302c, 100%);
background-image: -moz-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
background-repeat: repeat-x;
border-color: #c12e2a;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
}
.btn-danger:active,
.btn-danger.active {
background-color: #c9302c;
border-color: #c12e2a;
}
.btn-info {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#31b0d5));
background-image: -webkit-linear-gradient(top, #5bc0de, 0%, #31b0d5, 100%);
background-image: -moz-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
background-repeat: repeat-x;
border-color: #2aabd2;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
}
.btn-info:active,
.btn-info.active {
background-color: #31b0d5;
border-color: #2aabd2;
}
.thumbnail,
.img-thumbnail {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
background-color: #357ebd;
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
background-image: -webkit-linear-gradient(top, #428bca, 0%, #357ebd, 100%);
background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
}
.navbar {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ffffff), to(#f8f8f8));
background-image: -webkit-linear-gradient(top, #ffffff, 0%, #f8f8f8, 100%);
background-image: -moz-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
background-repeat: repeat-x;
border-radius: 4px;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
}
.navbar .navbar-nav > .active > a {
background-color: #f8f8f8;
}
.navbar-brand,
.navbar-nav > li > a {
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
}
.navbar-inverse {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#3c3c3c), to(#222222));
background-image: -webkit-linear-gradient(top, #3c3c3c, 0%, #222222, 100%);
background-image: -moz-linear-gradient(top, #3c3c3c 0%, #222222 100%);
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
}
.navbar-inverse .navbar-nav > .active > a {
background-color: #222222;
}
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.navbar-static-top,
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.alert-success {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#c8e5bc));
background-image: -webkit-linear-gradient(top, #dff0d8, 0%, #c8e5bc, 100%);
background-image: -moz-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
background-repeat: repeat-x;
border-color: #b2dba1;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
}
.alert-info {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#b9def0));
background-image: -webkit-linear-gradient(top, #d9edf7, 0%, #b9def0, 100%);
background-image: -moz-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
background-repeat: repeat-x;
border-color: #9acfea;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
}
.alert-warning {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#f8efc0));
background-image: -webkit-linear-gradient(top, #fcf8e3, 0%, #f8efc0, 100%);
background-image: -moz-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
background-repeat: repeat-x;
border-color: #f5e79e;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
}
.alert-danger {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#e7c3c3));
background-image: -webkit-linear-gradient(top, #f2dede, 0%, #e7c3c3, 100%);
background-image: -moz-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
background-repeat: repeat-x;
border-color: #dca7a7;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
}
.progress {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ebebeb), to(#f5f5f5));
background-image: -webkit-linear-gradient(top, #ebebeb, 0%, #f5f5f5, 100%);
background-image: -moz-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
}
.progress-bar {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3071a9));
background-image: -webkit-linear-gradient(top, #428bca, 0%, #3071a9, 100%);
background-image: -moz-linear-gradient(top, #428bca 0%, #3071a9 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
}
.progress-bar-success {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5cb85c), to(#449d44));
background-image: -webkit-linear-gradient(top, #5cb85c, 0%, #449d44, 100%);
background-image: -moz-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
}
.progress-bar-info {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#31b0d5));
background-image: -webkit-linear-gradient(top, #5bc0de, 0%, #31b0d5, 100%);
background-image: -moz-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
}
.progress-bar-warning {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f0ad4e), to(#ec971f));
background-image: -webkit-linear-gradient(top, #f0ad4e, 0%, #ec971f, 100%);
background-image: -moz-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
}
.progress-bar-danger {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9534f), to(#c9302c));
background-image: -webkit-linear-gradient(top, #d9534f, 0%, #c9302c, 100%);
background-image: -moz-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
}
.list-group {
border-radius: 4px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
text-shadow: 0 -1px 0 #3071a9;
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3278b3));
background-image: -webkit-linear-gradient(top, #428bca, 0%, #3278b3, 100%);
background-image: -moz-linear-gradient(top, #428bca 0%, #3278b3 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
background-repeat: repeat-x;
border-color: #3278b3;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.panel-default > .panel-heading {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f5f5f5), to(#e8e8e8));
background-image: -webkit-linear-gradient(top, #f5f5f5, 0%, #e8e8e8, 100%);
background-image: -moz-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
}
.panel-primary > .panel-heading {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
background-image: -webkit-linear-gradient(top, #428bca, 0%, #357ebd, 100%);
background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
}
.panel-success > .panel-heading {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#d0e9c6));
background-image: -webkit-linear-gradient(top, #dff0d8, 0%, #d0e9c6, 100%);
background-image: -moz-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
}
.panel-info > .panel-heading {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#c4e3f3));
background-image: -webkit-linear-gradient(top, #d9edf7, 0%, #c4e3f3, 100%);
background-image: -moz-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
}
.panel-warning > .panel-heading {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#faf2cc));
background-image: -webkit-linear-gradient(top, #fcf8e3, 0%, #faf2cc, 100%);
background-image: -moz-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
}
.panel-danger > .panel-heading {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#ebcccc));
background-image: -webkit-linear-gradient(top, #f2dede, 0%, #ebcccc, 100%);
background-image: -moz-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
}
.well {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#e8e8e8), to(#f5f5f5));
background-image: -webkit-linear-gradient(top, #e8e8e8, 0%, #f5f5f5, 100%);
background-image: -moz-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
background-repeat: repeat-x;
border-color: #dcdcdc;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
}

1
_site/css/bootstrap-theme.min.css vendored Normal file

File diff suppressed because one or more lines are too long

6805
_site/css/bootstrap.css vendored Normal file

File diff suppressed because it is too large Load diff

9
_site/css/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

142
_site/css/linspector.css Normal file
View file

@ -0,0 +1,142 @@
/* Sticky footer styles
-------------------------------------------------- */
html,
body {
height: 100%;
}
/* Wrapper for page content to push down footer */
#wrap {
min-height: 97%;
height: auto !important;
height: 100%;
/* Negative indent footer by its height */
margin: 0 auto -60px;
/* Pad bottom by footer height */
padding: 0 0 60px;
}
/* Set the fixed height of the footer here */
#footer {
height: 82px;
background-color: #f5f5f5;
}
/* Custom page CSS
-------------------------------------------------- */
/* Not required for template or sticky footer method. */
#wrap > .container {
padding: 60px 15px 0;
}
.container .credit {
margin: 10px 0;
}
#footer > .container {
padding-left: 15px;
padding-right: 15px;
}
code {
font-size: 80%;
}
li.L0, li.L1, li.L2, li.L3,
li.L5, li.L6, li.L7, li.L8
{ list-style-type: decimal !important }
.navbar-brand {
font-size: 32px;
}
a.ext {
padding-right: 14px;
background: url('/img/icons/external.gif') right center no-repeat;
}
a.mail {
padding-right: 14px;
background: url('/img/icons/envelope_ver3.gif') right center no-repeat;
}
a.document {
padding-right: 14px;
background: url('/img/icons/document.gif') right center no-repeat;
}
a.cube {
padding-right: 14px;
background: url('/img/icons/cube.gif') right center no-repeat;
}
a.person {
padding-right: 14px;
background: url('/img/icons/figure_ver1.gif') right center no-repeat;
}
span.cursor {
display: inline-block;
background: transparent;
margin-left: 1px;
-webkit-animation: blink 2s linear 1s infinite;
-moz-animation: blink 2s linear 1s infinite;
-ms-animation: blink 2s linear 1s infinite;
-o-animation: blink 2s linear 1s infinite;
}
@-webkit-keyframes blink {
0% { background: #e77d00 }
47% { background: #e77d00 }
50% { background: transparent }
97% { background: transparent }
100% { background: #e77d00 }
}
@-moz-keyframes blink {
0% { background: #e77d00 }
47% { background: #e77d00 }
50% { background: transparent }
97% { background: transparent }
100% { background: #e77d00 }
}
@-ms-keyframes blink {
0% { background: #e77d00 }
47% { background: #e77d00 }
50% { background: transparent }
97% { background: transparent }
100% { background: #e77d00 }
}
@-o-keyframes blink {
0% { background: #e77d00 }
47% { background: #e77d00 }
50% { background: transparent }
97% { background: transparent }
100% { background: #e77d00 }
}
.jumbotron {
/*background-color:#EBDF9B;*/
/*background-image:url("/img/python.png");
background-repeat:no-repeat;
background-position:top;
background-attachment:fixed;*/
/*background: url('/img/1.jpg') right center no-repeat;*/
color:white;
background-color:black;
padding-bottom:62px;
}
span.feed {
border: 1px solid;
border-color: #FC9 #630 #330 #F96;
padding: 0 3px;
font: bold 10px sans-serif;
color: #FFF;
background: #F60;
text-decoration: none;
margin: 0;
}

396
_site/css/normalize.css vendored Normal file
View file

@ -0,0 +1,396 @@
/*! normalize.css v2.1.0 | MIT License | git.io/normalize */
/* ==========================================================================
HTML5 display definitions
========================================================================== */
/**
* Correct `block` display not defined in IE 8/9.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
display: block;
}
/**
* Correct `inline-block` display not defined in IE 8/9.
*/
audio,
canvas,
video {
display: inline-block;
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Address styling not present in IE 8/9.
*/
[hidden] {
display: none;
}
/* ==========================================================================
Base
========================================================================== */
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-family: sans-serif; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
-ms-text-size-adjust: 100%; /* 2 */
}
/**
* Remove default margin.
*/
body {
margin: 0;
}
/* ==========================================================================
Links
========================================================================== */
/**
* Address `outline` inconsistency between Chrome and other browsers.
*/
a:focus {
outline: thin dotted;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover {
outline: 0;
}
/* ==========================================================================
Typography
========================================================================== */
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari 5, and Chrome.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/**
* Address styling not present in IE 8/9, Safari 5, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
*/
b,
strong {
font-weight: bold;
}
/**
* Address styling not present in Safari 5 and Chrome.
*/
dfn {
font-style: italic;
}
/**
* Address differences between Firefox and other browsers.
*/
hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
/**
* Address styling not present in IE 8/9.
*/
mark {
background: #ff0;
color: #000;
}
/**
* Correct font family set oddly in Safari 5 and Chrome.
*/
code,
kbd,
pre,
samp {
font-family: monospace, serif;
font-size: 1em;
}
/**
* Improve readability of pre-formatted text in all browsers.
*/
pre {
white-space: pre-wrap;
}
/**
* Set consistent quote types.
*/
q {
quotes: "\201C" "\201D" "\2018" "\2019";
}
/**
* Address inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* ==========================================================================
Embedded content
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9.
*/
img {
border: 0;
}
/**
* Correct overflow displayed oddly in IE 9.
*/
svg:not(:root) {
overflow: hidden;
}
/* ==========================================================================
Figures
========================================================================== */
/**
* Address margin not present in IE 8/9 and Safari 5.
*/
figure {
margin: 0;
}
/* ==========================================================================
Forms
========================================================================== */
/**
* Define consistent border, margin, and padding.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct `color` not being inherited in IE 8/9.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
*/
legend {
border: 0; /* 1 */
padding: 0; /* 2 */
}
/**
* 1. Correct font family not being inherited in all browsers.
* 2. Correct font size not being inherited in all browsers.
* 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
*/
button,
input,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 2 */
margin: 0; /* 3 */
}
/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
button,
input {
line-height: normal;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
* Correct `select` style inheritance in Firefox 4+ and Opera.
*/
button,
select {
text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
* `input` and others.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
}
/**
* Re-set default cursor for disabled elements.
*/
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* 1. Address box sizing set to `content-box` in IE 8/9.
* 2. Remove excess padding in IE 8/9.
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
* (include `-moz` to future-proof).
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/**
* Remove inner padding and search cancel button in Safari 5 and Chrome
* on OS X.
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Remove inner padding and border in Firefox 4+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/**
* 1. Remove default vertical scrollbar in IE 8/9.
* 2. Improve readability and alignment in all browsers.
*/
textarea {
overflow: auto; /* 1 */
vertical-align: top; /* 2 */
}
/* ==========================================================================
Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}

1
_site/css/prettify.css Normal file
View file

@ -0,0 +1 @@
.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}

569
_site/css/table.css Normal file
View file

@ -0,0 +1,569 @@
/* ------------------
styling for the tables
------------------ */
body
{
line-height: 1.6em;
}
#hor-minimalist-a
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
background: #fff;
margin: 45px;
width: 480px;
border-collapse: collapse;
text-align: left;
}
#hor-minimalist-a th
{
font-size: 14px;
font-weight: normal;
color: #039;
padding: 10px 8px;
border-bottom: 2px solid #6678b1;
}
#hor-minimalist-a td
{
color: #669;
padding: 9px 8px 0px 8px;
}
#hor-minimalist-a tbody tr:hover td
{
color: #009;
}
#hor-minimalist-b
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
background: #fff;
margin: 45px;
width: 480px;
border-collapse: collapse;
text-align: left;
}
#hor-minimalist-b th
{
font-size: 14px;
font-weight: normal;
color: #039;
padding: 10px 8px;
border-bottom: 2px solid #6678b1;
}
#hor-minimalist-b td
{
border-bottom: 1px solid #ccc;
color: #669;
padding: 6px 8px;
}
#hor-minimalist-b tbody tr:hover td
{
color: #009;
}
#ver-minimalist
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
}
#ver-minimalist th
{
padding: 8px 2px;
font-weight: normal;
font-size: 14px;
border-bottom: 2px solid #6678b1;
border-right: 30px solid #fff;
border-left: 30px solid #fff;
color: #039;
}
#ver-minimalist td
{
padding: 12px 2px 0px 2px;
border-right: 30px solid #fff;
border-left: 30px solid #fff;
color: #669;
}
#box-table-a
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
}
#box-table-a th
{
font-size: 13px;
font-weight: normal;
padding: 8px;
background: #b9c9fe;
border-top: 4px solid #aabcfe;
border-bottom: 1px solid #fff;
color: #039;
}
#box-table-a td
{
padding: 8px;
background: #e8edff;
border-bottom: 1px solid #fff;
color: #669;
border-top: 1px solid transparent;
}
#box-table-a tr:hover td
{
background: #d0dafd;
color: #339;
}
#box-table-b
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: center;
border-collapse: collapse;
border-top: 7px solid #9baff1;
border-bottom: 7px solid #9baff1;
}
#box-table-b th
{
font-size: 13px;
font-weight: normal;
padding: 8px;
background: #e8edff;
border-right: 1px solid #9baff1;
border-left: 1px solid #9baff1;
color: #039;
}
#box-table-b td
{
padding: 8px;
background: #e8edff;
border-right: 1px solid #aabcfe;
border-left: 1px solid #aabcfe;
color: #669;
}
#hor-zebra
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
}
#hor-zebra th
{
font-size: 14px;
font-weight: normal;
padding: 10px 8px;
color: #039;
}
#hor-zebra td
{
padding: 8px;
color: #669;
}
#hor-zebra .odd
{
background: #e8edff;
}
#ver-zebra
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
}
#ver-zebra th
{
font-size: 14px;
font-weight: normal;
padding: 12px 15px;
border-right: 1px solid #fff;
border-left: 1px solid #fff;
color: #039;
}
#ver-zebra td
{
padding: 8px 15px;
border-right: 1px solid #fff;
border-left: 1px solid #fff;
color: #669;
}
.vzebra-odd
{
background: #eff2ff;
}
.vzebra-even
{
background: #e8edff;
}
#ver-zebra #vzebra-adventure, #ver-zebra #vzebra-children
{
background: #d0dafd;
border-bottom: 1px solid #c8d4fd;
}
#ver-zebra #vzebra-comedy, #ver-zebra #vzebra-action
{
background: #dce4ff;
border-bottom: 1px solid #d6dfff;
}
#one-column-emphasis
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
}
#one-column-emphasis th
{
font-size: 14px;
font-weight: normal;
padding: 12px 15px;
color: #039;
}
#one-column-emphasis td
{
padding: 10px 15px;
color: #669;
border-top: 1px solid #e8edff;
}
.oce-first
{
background: #d0dafd;
border-right: 10px solid transparent;
border-left: 10px solid transparent;
}
#one-column-emphasis tr:hover td
{
color: #339;
background: #eff2ff;
}
#newspaper-a
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
border: 1px solid #69c;
}
#newspaper-a th
{
padding: 12px 17px 12px 17px;
font-weight: normal;
font-size: 14px;
color: #039;
border-bottom: 1px dashed #69c;
}
#newspaper-a td
{
padding: 7px 17px 7px 17px;
color: #669;
}
#newspaper-a tbody tr:hover td
{
color: #339;
background: #d0dafd;
}
#newspaper-b
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
border: 1px solid #69c;
}
#newspaper-b th
{
padding: 15px 10px 10px 10px;
font-weight: normal;
font-size: 14px;
color: #039;
}
#newspaper-b tbody
{
background: #e8edff;
}
#newspaper-b td
{
padding: 10px;
color: #669;
border-top: 1px dashed #fff;
}
#newspaper-b tbody tr:hover td
{
color: #339;
background: #d0dafd;
}
#newspaper-c
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
border: 1px solid #6cf;
}
#newspaper-c th
{
padding: 20px;
font-weight: normal;
font-size: 13px;
color: #039;
text-transform: uppercase;
border-right: 1px solid #0865c2;
border-top: 1px solid #0865c2;
border-left: 1px solid #0865c2;
border-bottom: 1px solid #fff;
}
#newspaper-c td
{
padding: 10px 20px;
color: #669;
border-right: 1px dashed #6cf;
}
#rounded-corner
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
}
#rounded-corner thead th.rounded-company
{
background: #b9c9fe url('table-images/left.png') left -1px no-repeat;
}
#rounded-corner thead th.rounded-q4
{
background: #b9c9fe url('table-images/right.png') right -1px no-repeat;
}
#rounded-corner th
{
padding: 8px;
font-weight: normal;
font-size: 13px;
color: #039;
background: #b9c9fe;
}
#rounded-corner td
{
padding: 8px;
background: #e8edff;
border-top: 1px solid #fff;
color: #669;
}
#rounded-corner tfoot td.rounded-foot-left
{
background: #e8edff url('table-images/botleft.png') left bottom no-repeat;
}
#rounded-corner tfoot td.rounded-foot-right
{
background: #e8edff url('table-images/botright.png') right bottom no-repeat;
}
#rounded-corner tbody tr:hover td
{
background: #d0dafd;
}
#background-image
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
background: url('table-images/blurry.jpg') 330px 59px no-repeat;
}
#background-image th
{
padding: 12px;
font-weight: normal;
font-size: 14px;
color: #339;
}
#background-image td
{
padding: 9px 12px;
color: #669;
border-top: 1px solid #fff;
}
#background-image tfoot td
{
font-size: 11px;
}
#background-image tbody td
{
background: url('table-images/back.png');
}
* html #background-image tbody td
{
/*
----------------------------
PUT THIS ON IE6 ONLY STYLE
AS THE RULE INVALIDATES
YOUR STYLESHEET
----------------------------
*/
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='table-images/back.png',sizingMethod='crop');
background: none;
}
#background-image tbody tr:hover td
{
color: #339;
background: none;
}
#gradient-style
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
}
#gradient-style th
{
font-size: 13px;
font-weight: normal;
padding: 8px;
background: #b9c9fe url('table-images/gradhead.png') repeat-x;
border-top: 2px solid #d3ddff;
border-bottom: 1px solid #fff;
color: #039;
}
#gradient-style td
{
padding: 8px;
border-bottom: 1px solid #fff;
color: #669;
border-top: 1px solid #fff;
background: #e8edff url('table-images/gradback.png') repeat-x;
}
#gradient-style tfoot tr td
{
background: #e8edff;
font-size: 12px;
color: #99c;
}
#gradient-style tbody tr:hover td
{
background: #d0dafd url('table-images/gradhover.png') repeat-x;
color: #339;
}
#pattern-style-a
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
background: url('table-images/pattern.png');
}
#pattern-style-a thead tr
{
background: url('table-images/pattern-head.png');
}
#pattern-style-a th
{
font-size: 13px;
font-weight: normal;
padding: 8px;
border-bottom: 1px solid #fff;
color: #039;
}
#pattern-style-a td
{
padding: 8px;
border-bottom: 1px solid #fff;
color: #669;
border-top: 1px solid transparent;
}
#pattern-style-a tbody tr:hover td
{
color: #339;
background: #fff;
}
#pattern-style-b
{
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
background: url('table-images/patternb.png');
}
#pattern-style-b thead tr
{
background: url('table-images/patternb-head.png');
}
#pattern-style-b th
{
font-size: 13px;
font-weight: normal;
padding: 8px;
border-bottom: 1px solid #fff;
color: #039;
}
#pattern-style-b td
{
padding: 8px;
border-bottom: 1px solid #fff;
color: #669;
border-top: 1px solid transparent;
}
#pattern-style-b tbody tr:hover td
{
color: #339;
background: #cdcdee;
}

View file

@ -0,0 +1,72 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Linspector System Monitoring - API Documentation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="System, Network, Service and Device Monitoring solution">
<meta name="author" content="Johannes Findeisen, Rafael Timmerberg">
<meta name="keywords" content="linspector,network,monitoring,watchguard,notification,system,alert,alarm,sla,vital,information,development,documentation,api">
<link rel="alternate" type="application/atom+xml" title="Linspector Atom Feed" href="/news/atom.xml">
<link rel="shortcut icon" href="/img/linspector.favicon.png" type="image/png">
<link href="/css/normalize.css" rel="stylesheet">
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prettify.css" rel="stylesheet">
<link href="/css/table.css" rel="stylesheet">
<link href="/css/linspector.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/github.commits.widget.js"></script>
<script src="/js/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Linspector</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<!--<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/features/">Features</a></li>
<li><a href="/news/">News</a></li>
<li><a href="/documentation/">Documentation</a></li>
<li><a href="/community/">Community</a></li>
<li><a href="/download/">Download</a></li>
<li><a href="/projects/">Projects</a></li>
<li class="active"><a href="/development/">Development</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="padding-left:6px;"><img src="/img/linspector.new.png" /></li>
</ul>
</div>
</div>
</div>
<div class="container">
<h2>API Documentation</h2>
<p>Please clone the repository from GitHub and generate the API documentation using the following command:</p>
<pre>make docs</pre>
<p>Afterwards you will find the API docs in the ./docs/ directory.</p>
<p>API documentation will be published here in the future too.</p>
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">&copy; 2011 - 2015 by the Linspector development team, this site is hosted on <a href="http://pages.github.com" class="ext">GitHub Pages</a></p>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,120 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Linspector System Monitoring - Development</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="System, Network, Service and Device Monitoring solution">
<meta name="author" content="Johannes Findeisen, Rafael Timmerberg">
<meta name="keywords" content="linspector,network,monitoring,watchguard,notification,system,alert,alarm,sla,vital,information,development,code,environment,dependencies,api,developers,commits">
<link rel="alternate" type="application/atom+xml" title="Linspector Atom Feed" href="/news/atom.xml">
<link rel="shortcut icon" href="/img/linspector.favicon.png" type="image/png">
<link href="/css/normalize.css" rel="stylesheet">
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prettify.css" rel="stylesheet">
<link href="/css/table.css" rel="stylesheet">
<link href="/css/linspector.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/github.commits.widget.js"></script>
<script src="/js/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Linspector</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<!--<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/features/">Features</a></li>
<li><a href="/news/">News</a></li>
<li><a href="/documentation/">Documentation</a></li>
<li><a href="/community/">Community</a></li>
<li><a href="/download/">Download</a></li>
<li><a href="/projects/">Projects</a></li>
<li class="active"><a href="/development/">Development</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="padding-left:6px;"><img src="/img/linspector.new.png" /></li>
</ul>
</div>
</div>
</div>
<div class="container">
<h2>Development</h2>
<h3>Code</h3>
<p>The code is available at <a href="https://github.com/linspector/linspector" class="ext">https://github.com/linspector/linspector</a>.</p>
<p>To get the code run the following command:</p>
<pre>git clone https://github.com/linspector/linspector.git</pre>
<h3>Environment</h3>
<p>We are using <a href="http://www.python.org/" class="ext">Python</a> as the programming language interpreted by CPython. The IDE we are using is <a href="http://www.jetbrains.com/pycharm/" class="ext">PyCharm</a>. Source Code Management is done using <a href="http://git-scm.com/" class="ext">Git</a> and it is hosted at <a href="https://github.com/" class="ext">GitHub</a>. All of us are using <a href="http://www.kernel.org/" class="ext">Linux</a> as operating system though Linspector should run on other operating systems like *BSD, UNIX&trade;, OSX&trade; and Windows&trade;.</p>
<h3>External dependencies are currently:</h3>
<ul>
<li><a href="https://pypi.python.org/pypi/APScheduler/" class="ext">APScheduler</a> - for job scheduling (<b>required</b>) / MIT license</li>
<li><a href="http://deavid.github.io/bjsonrpc/" class="ext">bjsonrpc</a> - for the JSON-RPC backend (optionally) / BSD 3-clause license</li>
<li><a href="https://github.com/paramiko/paramiko" class="ext">Paramiko</a> - for the SSH service (optionally) / LGPL license</li>
<li><a href="https://github.com/mongodb/mongo-python-driver" class="ext">pymongo</a> - for the MongoDB task (optionally) / Apache License Version 2.0</li>
<li><a href="https://github.com/farcepest/MySQLdb1" class="ext">MySQLdb1</a> - for the MariaDB task (optionally) / GPL License Version 2</li>
<li><a href="http://pysnmp.sourceforge.net/" class="ext">PySNMP</a> - for the SNMP service (optionally) / BSD-style license</li>
<li><a href="https://bitbucket.org/xi/pyyaml" class="ext">PyYAML</a> - for YAML formatted configuration files (optionally) / MIT license</li>
<li><a href="https://github.com/kennethreitz/requests" class="ext">requests</a> - for using HTTP services (optionally) / Apache License Version 2.0</li>
<li><a href="http://excess.org/urwid/" class="ext">urwid</a> - when using the urwid based frontend called urlish (optionally) / GNU Lesser General Public License 2.1</li>
</ul>
<p>In the future the required dependencies are based on which services and tasks you use in Linspector. For example APScheduler is a core library which is always used, PyYAML when using the YAML style configuration and Paramiko is only needed when you use the SSH service to poll hosts. XMPP is only needed when reporting alerts using the Jabber task etc.</p>
<h3>API</h3>
<p>You will find API related documentation here:</p>
<ul>
<li><a href="/development/api/">API Documentation</a></li>
</ul>
<h3>Developers</h3>
<h4>Johannes Findeisen (Founder and Maintainer)</h4>
<ul>
<li>Email: <a href="mailto:you@hanez.org" class="mail">you@hanez.org</a></li>
<li>GitHub: <a href="https://github.com/hanez" class="ext">https://github.com/hanez</a></li>
<li>Homepage: <a href="http://hanez.org" class="ext">http://hanez.org</a></li>
<li>XMPP: <a href="xmpp:hanez@systemchaos.org" class="cube">hanez@systemchaos.org</a></li>
</ul>
<h3>Commit Log</h3>
<div id="github-commits"></div>
<script>
$(function() {
$('#github-commits').githubInfoWidget({ user: 'linspector', repo: 'linspector', branch: 'master', last: 30 });
});
</script>
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">&copy; 2011 - 2015 by the Linspector development team, this site is hosted on <a href="http://pages.github.com" class="ext">GitHub Pages</a></p>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,106 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Linspector System Monitoring - Documentation - FAQ</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="System, Network, Service and Device Monitoring solution">
<meta name="author" content="Johannes Findeisen, Rafael Timmerberg">
<meta name="keywords" content="linspector,network,monitoring,watchguard,notification,system,alert,alarm,sla,vital,information,documentation,faq">
<link rel="alternate" type="application/atom+xml" title="Linspector Atom Feed" href="/news/atom.xml">
<link rel="shortcut icon" href="/img/linspector.favicon.png" type="image/png">
<link href="/css/normalize.css" rel="stylesheet">
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prettify.css" rel="stylesheet">
<link href="/css/table.css" rel="stylesheet">
<link href="/css/linspector.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/github.commits.widget.js"></script>
<script src="/js/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Linspector</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<!--<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/features/">Features</a></li>
<li><a href="/news/">News</a></li>
<li class="active"><a href="/documentation/">Documentation</a></li>
<li><a href="/community/">Community</a></li>
<li><a href="/download/">Download</a></li>
<li><a href="/projects/">Projects</a></li>
<li><a href="/development/">Development</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="padding-left:6px;"><img src="/img/linspector.new.png" /></li>
</ul>
</div>
</div>
</div>
<div class="container">
<h2>FAQ</h2>
<h3>General</h3>
<h4>Is it posible to daemonize Linspector?</h4>
<p>No. Linspector is an interactive software which provides a terminal based frontend called Lish for maintenance tasks. Daemonizing makes no sense. Maybe daemonizing will be added in the future. Just start Linspector in a <a href="https://www.gnu.org/software/screen/" class="ext">screen</a> or <a href="http://tmux.sourceforge.net/" class="ext">tmux</a> session and detach. This is how we are doing it.</p>
<h4>Will Linspector provide a RPC interface for management?</h4>
<p>Yes. Linspector will provide a <a href="http://en.wikipedia.org/wiki/JSON-RPC" class="ext">JSON-RPC</a> based interface.</p>
<h4>Is a web interface planned in Linspector?</h4>
<p>No. Linspector will not provide a web interface for management. BTW, there will be a seperate project called <a href="/projects/weblin/">WebLin</a> which provides a web interface for Linspector. WebLin will make use of the JSON-RPC interface provided by Linspector.</p>
<h3>Errors</h3>
<h4>I got "error: can't start new thread" in Lish. What happened?</h4>
<p>The Error looks like this:</p>
<pre>Exception in thread APScheduler:
Traceback (most recent call last):
File "/usr/lib64/python2.7/threading.py", line 808, in __bootstrap_inner
self.run()
File "/usr/lib64/python2.7/threading.py", line 761, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/lib64/python2.7/site-packages/apscheduler/scheduler.py", line 581, in _main_loop
next_wakeup_time = self._process_jobs(now)
File "/usr/lib64/python2.7/site-packages/apscheduler/scheduler.py", line 547, in _process_jobs
self._threadpool.submit(self._run_job, job, run_times)
File "/usr/lib64/python2.7/site-packages/apscheduler/threadpool.py", line 105, in submit
self._adjust_threadcount()
File "/usr/lib64/python2.7/site-packages/apscheduler/threadpool.py", line 58, in _adjust_threadcount
self._add_thread(self.num_threads &lt; self.core_threads)
File "/usr/lib64/python2.7/site-packages/apscheduler/threadpool.py", line 65, in _add_thread
t.start()
File "/usr/lib64/python2.7/threading.py", line 743, in start
_start_new_thread(self.__bootstrap, ())
error: can't start new thread</pre>
<p>If you are getting this error message and all scheduled jobs are shutting down, you have reached the maximum allowed number of processes running for your user. Please refer to the documentation of your OS for setting this value higher.</p>
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">&copy; 2011 - 2015 by the Linspector development team, this site is hosted on <a href="http://pages.github.com" class="ext">GitHub Pages</a></p>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,78 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Linspector System Monitoring - Documentation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="System, Network, Service and Device Monitoring solution">
<meta name="author" content="Johannes Findeisen, Rafael Timmerberg">
<meta name="keywords" content="linspector,network,monitoring,watchguard,notification,system,alert,alarm,sla,vital,information,documentation,howto,tutorial,tutorials,faq,guide,guides">
<link rel="alternate" type="application/atom+xml" title="Linspector Atom Feed" href="/news/atom.xml">
<link rel="shortcut icon" href="/img/linspector.favicon.png" type="image/png">
<link href="/css/normalize.css" rel="stylesheet">
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prettify.css" rel="stylesheet">
<link href="/css/table.css" rel="stylesheet">
<link href="/css/linspector.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/github.commits.widget.js"></script>
<script src="/js/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Linspector</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<!--<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/features/">Features</a></li>
<li><a href="/news/">News</a></li>
<li class="active"><a href="/documentation/">Documentation</a></li>
<li><a href="/community/">Community</a></li>
<li><a href="/download/">Download</a></li>
<li><a href="/projects/">Projects</a></li>
<li><a href="/development/">Development</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="padding-left:6px;"><img src="/img/linspector.new.png" /></li>
</ul>
</div>
</div>
</div>
<div class="container">
<h2>Documentation</h2>
<h3>Tutorials and Guides</h3>
<p>The following documentation is available to you:</p>
<ul>
<li><a href="/documentation/installation-guide/">Installation Guide</a></li>
<li><a href="/documentation/minimal-configuration-guide/">Minimal Configuration Guide</a></li>
<li><a href="/documentation/faq/">The Linspector FAQ's</a></li>
</ul>
<p>If you wanna try to understand how Linspector works you can take a look at the <a href="https://github.com/linspector/linspector/blob/master/examples/minimal.json" class="ext">minimal.json configuration file</a>. It really shows up what is currently possible with Linspector but is not documented. Please ask us if you want to know more.</p>
<p>More documentation will follow ASAP! It is a work in progress.</p>
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">&copy; 2011 - 2015 by the Linspector development team, this site is hosted on <a href="http://pages.github.com" class="ext">GitHub Pages</a></p>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,110 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Linspector System Monitoring - Installation Guide</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="System, Network, Service and Device Monitoring solution">
<meta name="author" content="Johannes Findeisen, Rafael Timmerberg">
<meta name="keywords" content="linspector,network,monitoring,watchguard,notification,system,alert,alarm,sla,vital,information">
<link rel="alternate" type="application/atom+xml" title="Linspector Atom Feed" href="/news/atom.xml">
<link rel="shortcut icon" href="/img/linspector.favicon.png" type="image/png">
<link href="/css/normalize.css" rel="stylesheet">
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prettify.css" rel="stylesheet">
<link href="/css/table.css" rel="stylesheet">
<link href="/css/linspector.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/github.commits.widget.js"></script>
<script src="/js/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Linspector</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<!--<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/features/">Features</a></li>
<li><a href="/news/">News</a></li>
<li class="active"><a href="/documentation/">Documentation</a></li>
<li><a href="/community/">Community</a></li>
<li><a href="/download/">Download</a></li>
<li><a href="/projects/">Projects</a></li>
<li><a href="/development/">Development</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="padding-left:6px;"><img src="/img/linspector.new.png" /></li>
</ul>
</div>
</div>
</div>
<div class="container">
<h2>Installation Guide</h2>
<ul>
<li><i>Added: 2013.09.30 by Johannes Findeisen (hanez)</i></li>
<li><i>Last update: 2013.11.03 by Johannes Findeisen (hanez)</i></li>
<li><i>License: <a href="http://creativecommons.org/licenses/by-sa/3.0/" class="ext">CC Attribution-Share Alike 3.0 Unported</a></i></li>
</ul>
<h3>Introduction</h3>
<p>Here we show you how easy it is to install Linspector.</p>
<h3>Get Linspector</h3>
<p>Go to the Linspector <a href="/download/">download page</a> and download the latest package as zip or tar.gz file and extract it.</p>
<p>Then switch to the new linspector directory:</p>
<pre>cd linspector-VERSION</pre>
<h3>Requirements</h3>
<p>You need at least Python 2.7.* and the APScheduler library to run Linspector. We recommend to install Python using your package manager. Libraries are very easy to install using the Python package manager pip. Just install pip from your systems package manager and run the following command:</p>
<pre>pip install apscheduler</pre>
<p>All dependencies are being resolved and everything needed will be installed.</p>
<p>To install all libraries Linspector is using - even the optionally libraries - you can do this by running the following command from the root of the Linspector source tree:</p>
<pre>pip install -r requirements.txt</pre>
<p>"requirements" is a text file provided by Linspector. When doing it this way you can be sure installing working versions of the libraries.</p>
<h3>Run Linspector</h3>
<p>Running Linspector is very easy. </p>
<p><b>Since Linspector currently is a little bit broken you need to set the $PYTHONPATH to make sure imports of libs are working:</b></p>
<pre>export PYTHONPATH=`pwd`</pre>
<p>Then you only need to run the following command:</p>
<pre>./bin/linspector path/to/config.json</pre>
<p>Since we have not created a config file yet you need to configure Linspector to really get it up running. Read the <a href="/documentation/minimal-configuration-guide/">Minimal Configuration Guide</a> for that.</p>
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">&copy; 2011 - 2015 by the Linspector development team, this site is hosted on <a href="http://pages.github.com" class="ext">GitHub Pages</a></p>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,401 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Linspector System Monitoring - Minimal Configuration Guide</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="System, Network, Service and Device Monitoring solution">
<meta name="author" content="Johannes Findeisen, Rafael Timmerberg">
<meta name="keywords" content="linspector,network,monitoring,watchguard,notification,system,alert,alarm,sla,vital,information">
<link rel="alternate" type="application/atom+xml" title="Linspector Atom Feed" href="/news/atom.xml">
<link rel="shortcut icon" href="/img/linspector.favicon.png" type="image/png">
<link href="/css/normalize.css" rel="stylesheet">
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prettify.css" rel="stylesheet">
<link href="/css/table.css" rel="stylesheet">
<link href="/css/linspector.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/github.commits.widget.js"></script>
<script src="/js/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Linspector</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<!--<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/features/">Features</a></li>
<li><a href="/news/">News</a></li>
<li class="active"><a href="/documentation/">Documentation</a></li>
<li><a href="/community/">Community</a></li>
<li><a href="/download/">Download</a></li>
<li><a href="/projects/">Projects</a></li>
<li><a href="/development/">Development</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="padding-left:6px;"><img src="/img/linspector.new.png" /></li>
</ul>
</div>
</div>
</div>
<div class="container">
<h2>Minimal Configuration Guide</h2>
<ul>
<li><i>Added: 2013.09.30 by Johannes Findeisen (hanez)</i></li>
<li><i>Last update: 2013.11.03 by Johannes Findeisen (hanez)</i></li>
<li><i>License: <a href="http://creativecommons.org/licenses/by-sa/3.0/" class="ext">CC Attribution-Share Alike 3.0 Unported</a></i></li>
</ul>
<h3>Introduction</h3>
<p>This is step by step guide on howto setup Linspector for monitoring two services on two hosts. Be sure to always write <a href="http://en.wikipedia.org/wiki/JSON" class="ext">JSON</a> compatible syntax, e.g. add colons, commas etc. the right places or Linspector will fail to parse the configuration at startup.</p>
<h3>The base configuration</h3>
<p>At first we need a minimal json config file:</p>
<pre class="prettyprint linenums">{
"members":{
},
"tasks":{
},
"periods": {
},
"hostgroups":{
},
"layouts":{
},
"core":{
}
}</pre>
<h3>Hostgroups and Hosts</h3>
<p>Now we need to add a minimum of one hostgroup. Hosts needs always to be nested in a hostgroup. So if you just want to monitor one host, you need add one hostgroup too. We will add two hosts to that hostgroup (demo1.example.org and demo2.example.org):</p>
<pre class="prettyprint linenums">{
"members":{
},
"tasks":{
},
"periods": {
},
"hostgroups":{
"demogroup1":{
"hosts": ["demo1.example.org", "demo2.example.org"]
}
},
"layouts":{
},
"core":{
}
}</pre>
<h3>Services</h3>
<p>We want to monitor the availability of port 80 (http) and 25 (smtp) now so we need to add two services of class "tcpconnect":</p>
<pre class="prettyprint linenums">{
"members":{
},
"tasks":{
},
"periods": {
},
"hostgroups":{
"demogroup1":{
"hosts": ["demo1.example.org", "demo2.example.org"],
"services":[
{
"class": "tcpconnect",
"args": { "port": 80 },
"periods": ["normal"],
"threshold": 10
},
{
"class": "tcpconnect",
"args": { "port": 25 },
"periods": ["normal"],
"threshold": 10
}
]
}
},
"layouts":{
},
"core":{
}
}</pre>
<h3>Periods / Polling Intervals</h3>
<p>Since we have a period (polling interval) set to "normal" we need to add a peroid to our base configuration. This peroid is an interval peroid which polls every 2 minutes. Other peroid types are cron based which accepts cron style parameters and date based which accepts a date and executes on that date.</p>
<pre class="prettyprint linenums">{
"members":{
},
"tasks":{
},
"periods": {
"normal": { "seconds": 120 }
},
"hostgroups":{
"demogroup1":{
"hosts": ["demo1.example.org", "demo2.example.org"],
"services":[
{
"class": "tcpconnect",
"args": { "port": 80 },
"periods": ["normal"],
"threshold": 10
},
{
"class": "tcpconnect",
"args": { "port": 25 },
"periods": ["normal"],
"threshold": 10
}
]
}
},
"layouts":{
},
"core":{
}
}</pre>
<h3>Members and Tasks</h3>
<p>As you can see we have set a "threshold" to 10, so what is that? The threshold indicates after how many fails of polling a service an alert will be executed. We will come to that next. Alerting means that there must be performed some action when the threshold is overriden. For that Linspector has it's members in the base configuration. We will add a member which accepts alerts via email so we are adding a task of type "mail" for that. So let's add a member and it's task:</p>
<pre class="prettyprint linenums">{
"members": {
"demo": {
"name": "Demo Admin",
"tasks": [
{ "class":"mail", "type": "mail", "args": { "rcpt": "demo@example.org" }}
]
}
},
"tasks":{
},
"periods": {
"normal": { "seconds": 120 }
},
"hostgroups": {
"demogroup1": {
"hosts": [ "demo1.example.org", "demo2.example.org" ],
"services": [
{
"class": "tcpconnect",
"args": { "port": 80 },
"periods": [ "normal" ],
"threshold": 10
},
{
"class": "tcpconnect",
"args": { "port": 25 },
"periods": [ "normal" ],
"threshold": 10
}
]
}
},
"layouts":{
},
"core":{
}
}</pre>
<h3>Core configuration for Tasks</h3>
<p>Since we are making use of the mail task we need to set some configuration variables now. This will be the hostname of the SMTP server etc. For that we will add a task section containing a mail section directly in the root of the configuration:</p>
<pre class="prettyprint linenums">{
"members": {
"demo": {
"name": "Demo Admin",
"tasks": [
{ "class":"mail", "type": "mail", "args": { "rcpt": "demo@example.org" }}
]
}
},
"tasks": {
"mail":{
"host": "localhost",
"port": 25,
"from": "linspector@example.org",
"username": "",
"password": ""
}
},
"periods": {
"normal": { "seconds": 120 }
},
"hostgroups": {
"demogroup1": {
"hosts": [ "demo1.example.org", "demo2.example.org" ],
"services": [
{
"class": "tcpconnect",
"args": { "port": 80 },
"periods": [ "normal" ],
"threshold": 10
},
{
"class": "tcpconnect",
"args": { "port": 25 },
"periods": [ "normal" ],
"threshold": 10
}
]
}
},
"layouts":{
},
"core":{
}
}</pre>
<h3>Add member to Hostgroup</h3>
<p>For now we have add a hostgroup, added two hosts to that group which each will be monitored for availability of two ports. They will be polled every 2 minutes by a peroid called "normal" and the alert threshold is set to 10 for both services. No we need to add the member to the hostgroup so the member "demo" will accept alerts for the hostgroup "demogroup1":</p>
<pre class="prettyprint linenums">{
"members": {
"demo": {
"name": "Demo Admin",
"tasks": [
{ "class":"mail", "type": "mail", "args": { "rcpt": "demo@example.org" }}
]
}
},
"tasks": {
"mail":{
"host": "localhost",
"port": 25,
"from": "linspector@example.org",
"username": "",
"password": ""
}
},
"periods": {
"normal": { "seconds": 120 }
},
"hostgroups": {
"demogroup1": {
"hosts": [ "demo1.example.org", "demo2.example.org" ],
"members": ["demo"],
"services": [
{
"class": "tcpconnect",
"args": { "port": 80 },
"periods": [ "normal" ],
"threshold": 10
},
{
"class": "tcpconnect",
"args": { "port": 25 },
"periods": [ "normal" ],
"threshold": 10
}
]
}
},
"layouts":{
},
"core":{
}
}</pre>
<p>We just added the string '"members": ["demo"],' (line 16) to the hostgroup. Thats it. If you want more members to be informed about alerts just add a new member to the members section and the add that meber to the list of members in the hostgroup.</p>
<h3>Layouts</h3>
<p>Now we can finalize the configuration but there a still one step for making monitoring work with this configuration. We need to enable the hostgroup for monitoring in the layouts section of the configuration. This makes it possible to add hostgroups for testing or to organize your hosts in groups and then just enable the hostgroups in the layout you really want to monitor or you can configure downtimes for some hostgroups by just adding more layouts with hostgroups disabled for monitoring.</p>
<pre class="prettyprint linenums">{
"members": {
"demo": {
"name": "Demo Admin",
"tasks": [
{ "class":"mail", "type": "mail", "args": { "rcpt": "demo@example.org" }}
]
}
},
"tasks": {
"mail":{
"host": "localhost",
"port": 25,
"from": "linspector@example.org",
"username": "",
"password": ""
}
},
"periods": {
"normal": { "seconds": 120 }
},
"hostgroups": {
"demogroup1": {
"hosts": [ "demo1.example.org", "demo2.example.org" ],
"members": ["demo"],
"services": [
{
"class": "tcpconnect",
"args": { "port": 80 },
"periods": [ "normal" ],
"threshold": 10
},
{
"class": "tcpconnect",
"args": { "port": 25 },
"periods": [ "normal" ],
"threshold": 10
}
]
}
},
"layouts":{
"main":{
"hostgroups": [ "demogroup1" ],
"enabled": true
}
},
"core":{
}
}</pre>
<h3>Finished Configuration</h3>
<p>We are done! This is a working example of a very minimal Linspector configuration file for monitoring two services on two hosts. Save the above file in the root of your Linspector installation as demo.json for later usage.</p>
<h3>Start Linspector</h3>
<p>If everything was setup right you should be able to start Linspector for monitoring your hosts. Just run the following command in the root directory of your Linspector installation:</p>
<pre>bin/linspector ./demo.json</pre>
<p>That schould be all.</p>
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">&copy; 2011 - 2015 by the Linspector development team, this site is hosted on <a href="http://pages.github.com" class="ext">GitHub Pages</a></p>
</div>
</div>
</body>
</html>

167
_site/download/index.html Normal file
View file

@ -0,0 +1,167 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Linspector System Monitoring - Download</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="System, Network, Service and Device Monitoring solution">
<meta name="author" content="Johannes Findeisen, Rafael Timmerberg">
<meta name="keywords" content="linspector,network,monitoring,watchguard,notification,system,alert,alarm,sla,vital,information,download,downloads,files,release,releases">
<link rel="alternate" type="application/atom+xml" title="Linspector Atom Feed" href="/news/atom.xml">
<link rel="shortcut icon" href="/img/linspector.favicon.png" type="image/png">
<link href="/css/normalize.css" rel="stylesheet">
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prettify.css" rel="stylesheet">
<link href="/css/table.css" rel="stylesheet">
<link href="/css/linspector.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/github.commits.widget.js"></script>
<script src="/js/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Linspector</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<!--<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/features/">Features</a></li>
<li><a href="/news/">News</a></li>
<li><a href="/documentation/">Documentation</a></li>
<li><a href="/community/">Community</a></li>
<li class="active"><a href="/download/">Download</a></li>
<li><a href="/projects/">Projects</a></li>
<li><a href="/development/">Development</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="padding-left:6px;"><img src="/img/linspector.new.png" /></li>
</ul>
</div>
</div>
</div>
<div class="container">
<h2>Download</h2>
<p>Linspector is not ready for production use since a lot of features are missing and there really are bugs. But we are following the <a href="http://en.wikipedia.org/wiki/Release_early,_release_often" class="ext">"Release early, release often"</a> philosophy so you will find some kind of milestone releases here.</p>
<h3>Linspector AMNESIA Releases</h3>
<table id="hor-minimalist-a" summary="AMNESIA Releases" style="width:100%;margin:0;">
<thead>
<tr>
<th>Version</th>
<th>ZIP Download</th>
<th>ZIP SHA1</th>
<th>TAR.GZ Download</th>
<th>TAR.GZ SHA1</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr class="even">
<td>0.15</td>
<td><a href="https://github.com/linspector/linspector/archive/v0.15.zip" class="cube">linspector-0.15.zip</a></td>
<td>1acc31291ebd686b19e4703b871fdb6dad44e950</td>
<td><a href="https://github.com/linspector/linspector/archive/v0.15.tar.gz" class="cube">linspector-0.15.tar.gz</td>
<td>6d2898a617e4c8a4f63d6e46e1672c44a76977e6</td>
<td>2013.11.24</td>
</tr>
<tr class="odd">
<td>0.14</td>
<td><a href="https://github.com/linspector/linspector/archive/v0.14.zip" class="cube">linspector-0.14.zip</a></td>
<td>1b10c6585b507c4d899ddd951aeb938aef0bbea4</td>
<td><a href="https://github.com/linspector/linspector/archive/v0.14.tar.gz" class="cube">linspector-0.14.tar.gz</td>
<td>ecb4b7c91896ba4e9542bacfa7f5698bbbab2d4a</td>
<td>2013.11.11</td>
</tr>
</tbody>
</table>
<h3>Linspector early Releases</h3>
<table id="hor-minimalist-a" summary="Pre Releases" style="width:100%;margin:0;">
<thead>
<tr>
<th>Version</th>
<th>ZIP Download</th>
<th>TAR.GZ Download</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>Linspector v0.13-alpha</td>
<td><a href="https://github.com/linspector/linspector/archive/v0.13-alpha.zip" class="cube">zip</a></td>
<td><a href="https://github.com/linspector/linspector/archive/v0.13-alpha.tar.gz" class="cube">tar.gz</a></td>
<td>2013.11.09</td>
</tr>
<tr>
<td>Linspector v0.12.1-alpha</td>
<td><a href="https://github.com/linspector/linspector/archive/v0.12.1-alpha.zip" class="cube">zip</a></td>
<td><a href="https://github.com/linspector/linspector/archive/v0.12.1-alpha.tar.gz" class="cube">tar.gz</a></td>
<td>2013.11.05</td>
</tr>
<tr>
<td>Linspector v0.12-alpha</td>
<td><a href="https://github.com/linspector/linspector/archive/v0.12-alpha.zip" class="cube">zip</a></td>
<td><a href="https://github.com/linspector/linspector/archive/v0.12-alpha.tar.gz" class="cube">tar.gz</a></td>
<td>2013.11.03</td>
</tr>
<tr>
<td>Linspector v0.11.4-alpha</td>
<td><a href="https://github.com/linspector/linspector/archive/v0.11.4-alpha.zip" class="cube">zip</a></td>
<td><a href="https://github.com/linspector/linspector/archive/v0.11.4-alpha.tar.gz" class="cube">tar.gz</a></td>
<td>2013.10.28</td>
</tr>
<tr>
<td>Linspector v0.11.3-alpha</td>
<td><a href="https://github.com/linspector/linspector/archive/v0.11.3-alpha.zip" class="cube">zip</a></td>
<td><a href="https://github.com/linspector/linspector/archive/v0.11.3-alpha.tar.gz" class="cube">tar.gz</a></td>
<td>2013.10.28</td>
</tr>
<tr>
<td>Linspector v0.11.2-alpha</td>
<td><a href="https://github.com/linspector/linspector/archive/v0.11.2-alpha.zip" class="cube">zip</a></td>
<td><a href="https://github.com/linspector/linspector/archive/v0.11.2-alpha.tar.gz" class="cube">tar.gz</a></td>
<td>2013.10.27</td>
</tr>
<tr>
<td>Linspector v0.11.1-alpha</td>
<td><a href="https://github.com/linspector/linspector/archive/v0.11.1-alpha.zip" class="cube">zip</a></td>
<td><a href="https://github.com/linspector/linspector/archive/v0.11.1-alpha.tar.gz" class="cube">tar.gz</a></td>
<td>2013.10.27</td>
</tr>
<tr>
<td>Linspector v0.11-alpha</td>
<td><a href="https://github.com/linspector/linspector/archive/v0.11-alpha.zip" class="cube">zip</a></td>
<td><a href="https://github.com/linspector/linspector/archive/v0.11-alpha.tar.gz" class="cube">tar.gz</a></td>
<td>2013.10.25</td>
</tr>
<tr>
<td>Linspector v0.10-alpha</td>
<td><a href="https://github.com/linspector/linspector/archive/v0.10-alpha.zip" class="cube">zip</a></td>
<td><a href="https://github.com/linspector/linspector/archive/v0.10-alpha.tar.gz" class="cube">tar.gz</a></td>
<td>2013.10.21</td>
</tr>
</table>
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">&copy; 2011 - 2015 by the Linspector development team, this site is hosted on <a href="http://pages.github.com" class="ext">GitHub Pages</a></p>
</div>
</div>
</body>
</html>

119
_site/features/index.html Normal file
View file

@ -0,0 +1,119 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Linspector System Monitoring - Features</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="System, Network, Service and Device Monitoring solution">
<meta name="author" content="Johannes Findeisen, Rafael Timmerberg">
<meta name="keywords" content="linspector,network,monitoring,watchguard,notification,system,alert,alarm,sla,vital,information,features">
<link rel="alternate" type="application/atom+xml" title="Linspector Atom Feed" href="/news/atom.xml">
<link rel="shortcut icon" href="/img/linspector.favicon.png" type="image/png">
<link href="/css/normalize.css" rel="stylesheet">
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prettify.css" rel="stylesheet">
<link href="/css/table.css" rel="stylesheet">
<link href="/css/linspector.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/github.commits.widget.js"></script>
<script src="/js/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Linspector</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<!--<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li class="active"><a href="/features/">Features</a></li>
<li><a href="/news/">News</a></li>
<li><a href="/documentation/">Documentation</a></li>
<li><a href="/community/">Community</a></li>
<li><a href="/download/">Download</a></li>
<li><a href="/projects/">Projects</a></li>
<li><a href="/development/">Development</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="padding-left:6px;"><img src="/img/linspector.new.png" /></li>
</ul>
</div>
</div>
</div>
<div class="container">
<h2>Features</h2>
<p><b>Note: Linspector has not been released yet. All features below are planned to be included in the first release - and a lot more... Currently only TCP/UDP port probes and email alerts are working. <span style="color:red;">A release is planned for January/February 2014</span>.</b> Please subscribe to the <a href="/community/">Linspector announce mailinglist</a> if you want to be informed about the release.</p>
<h3>Introduction</h3>
<p>Linspector can do simple ping tests to more complex server responses and all kind of values you could request over a network. This could be the system load, the temperature of the CPU or some sensor data from all kind of devices. This could all be done using plugins for disc usage etc. but also self written scripts and programs which are requesting data of any kind.</p>
<p>Linspector will support SNMP! Requesting information from <a href="http://www.nagios.org/" class="ext">Nagios</a> is possible too but we do not recommend that. The design of Linspector is different then from Nagios. We don't want "special" plugins or programs (agents) running on the monitored hosts like Nagios is doing it. Requesting Nagios plugins on remote hosts will break our design of simplicity and reliability.</p>
<p>Linspector will not need any agent software running on the remote host or device! Linspector is using standard software like SSH, SNMP, Telnet etc. Maybe we will write an agent at some time but for now we will try to implement everything without the use of software that needs to be installed on the monitored host.</p>
<p>Linspector aims not to compete with projects like Nagios, <a href="http://munin-monitoring.org/" class="ext">Munin</a> etc. These are greta tools that are doing all the jobs like creating graphs etc. Linspector is different. Linspector is limited to a small subset of features to maximize its simplicity and performance. Linspector is for example just collecting data and then doing all needed things for reporting alerts but afterwards just writes the data into a database like <a href="http://mongodb.org/" class="ext">MongoDB</a> for later usage. Other tools can then access this data for visualisation and SLA reporting. Linspector does not care about what the data is used for afterwards. MongoDB is used as default storage engine but you could store the data elsewhere. Anyway you don't need to make use of a storage engine. Just discard the data after alerting is done.</p>
<h3>What does Linspector do for you?</h3>
<ul>
<li>Collecting data</li>
<li>Parsing/Analyzing the data</li>
<li>Alerting</li>
<li>Saving the data somewhere (optionally)</li>
</ul>
<h3>What does Linspector - currently - not do for you?</h3>
<ul>
<li>Visualisation</li>
<li>Report creation</li>
<li>Detailed error reports</li>
<li>Deliver backtrace information</li>
<li>SLA reports</li>
<li>Statistics</li>
</ul>
<p>Be sure that everything that Linspector is not able to do by default, everything is possible by writing an extension. So you could really create graphs etc. directly from Linspector but we really recommend not to do that. Keep in mind that the host, that is monitoring your infrastructure, is a very important machine. Let this machine do all the needed things and put the overhead over to some worker machines.</p>
<h3>Details</h3>
<p>Linspector will be able to monitor for example this:</p>
<ul>
<li>Uptime checks using HTTP, HTTPS, PING, DNS etc.</li>
<li>SNMP, SSH, TCP/UDP and maybe the Nagios Agent (NRPE)</li>
<li>Database checks for MariaDB, MySQL, Oracle, PostgreSQL etc.</li>
<li>Mailserver checks using SMTP, POP3, IMAP etc.</li>
<li>Content checks of websites</li>
<li>Alerting via eMail, XMPP, SMS and more</li>
</ul>
<p>The list of services is endless so if you know other monitoring solutions it will be just writing some few lines of Python code to probe _whatever_ service.</p>
<h3>Integrity</h3>
<p>Linspector can be extended to support a lot more stuff then listed above. In short: <b>Linspector can monitor everything!</b></p>
<p>We are trying to make it easy to integrate Linspector in existing, strict and ITIL conform infrastructures.</p>
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">&copy; 2011 - 2015 by the Linspector development team, this site is hosted on <a href="http://pages.github.com" class="ext">GitHub Pages</a></p>
</div>
</div>
</body>
</html>

BIN
_site/img/com.puting.de.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 B

BIN
_site/img/icons/book.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 B

BIN
_site/img/icons/cube.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 B

BIN
_site/img/icons/tv.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 669 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
_site/img/linspector.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

BIN
_site/img/pycharm.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

BIN
_site/img/pycharm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

BIN
_site/img/python.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
_site/img/tech/json160.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

114
_site/index.html Normal file
View file

@ -0,0 +1,114 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Linspector System Monitoring - Homepage</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="System, Network, Service and Device Monitoring solution">
<meta name="author" content="Johannes Findeisen, Rafael Timmerberg">
<meta name="keywords" content="linspector,network,monitoring,watchguard,notification,system,alert,alarm,sla,vital,information">
<link rel="alternate" type="application/atom+xml" title="Linspector Atom Feed" href="/news/atom.xml">
<link rel="shortcut icon" href="/img/linspector.favicon.png" type="image/png">
<link href="/css/normalize.css" rel="stylesheet">
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/prettify.css" rel="stylesheet">
<link href="/css/table.css" rel="stylesheet">
<link href="/css/linspector.css" rel="stylesheet">
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/github.commits.widget.js"></script>
<script src="/js/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Linspector</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<!--<li class="active"><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/features/">Features</a></li>
<li><a href="/news/">News</a></li>
<li><a href="/documentation/">Documentation</a></li>
<li><a href="/community/">Community</a></li>
<li><a href="/download/">Download</a></li>
<li><a href="/projects/">Projects</a></li>
<li><a href="/development/">Development</a></li>-->
</ul>
<ul class="nav navbar-nav navbar-right">
<li style="padding-left:6px;"><img src="/img/linspector.new.png" /></li>
</ul>
</div>
</div>
</div>
<div class="container">
<p>The Linspector Homepage has been suspended. Development is going on at <a href="https://hanez.org/linspector/">https://hanez.org/linspector/</a>.
<!--
<div class="jumbotron">
<h1>Linspector System Monitoring</h1>
<p style="font-family: monospace;">&lt;Lish:&gt; <span class="cursor" style="display:inline;">&nbsp;</span></p>
</div>
<div class="col-lg-4">
<h2>About</h2>
<p>Linspector is a software for monitoring the vital information of hosts, services and devices in a network. Be sure that Linspector is in a very early stage of development. Use at your own risk... but try! ;)</p>
<p><a href="/about/" class="btn btn-primary">Read more &raquo;</a></p>
</div>
<div class="col-lg-4">
<h2>Latest News</h2>
<ul class="entries" style="list-style-type: circle;padding-left:20px;">
<li>
<a href="/news/2015-02-07-linspector-rewrite/" title="07 February 2015 - Linspector Rewrite">07 February 2015 - Linspector Rewrite</a>
</li>
<li>
<a href="/news/2014-10-08-multiprocessing-support/" title="08 October 2014 - Multiprocessing Support">08 October 2014 - Multiprocessing Support</a>
</li>
<li>
<a href="/news/2014-06-27-status-update/" title="27 June 2014 - Status Update">27 June 2014 - Status Update</a>
</li>
<li>
<a href="/news/2013-10-21-v0.11-threading-and-benchmark/" title="21 October 2013 - v0.11 - Threading and Benchmark">21 October 2013 - v0.11 - Threading and Bench...</a>
</li>
</ul>
<p><a href="/news/" class="btn btn-primary">Read more &raquo;</a></p>
</div>
<div class="col-lg-4">
<h2>Development</h2>
<p>We are using <a href="http://www.python.org/" class="ext">Python</a> as the programming language interpreted by CPython. The IDE we are using is <a href="http://www.jetbrains.com/pycharm/" class="ext">PyCharm</a>. Source Code Management is done using <a href="http://git-scm.com/" class="ext">Git</a> and it is hosted at <a href="https://github.com/" class="ext">GitHub</a>.</p>
<p><a href="/development/" class="btn btn-primary">Read more &raquo;</a></p>
</div>
-->
<!--
<div class="col-lg-4">
<h2>License</h2>
<p>The code of Linspector is licensed under the terms of the <a href="http://www.gnu.org/licenses/agpl-3.0.html" class="ext">GNU Affero General Public License Version 3.0</a>.<br>
Content on this site is licensed under the <a href="http://creativecommons.org/licenses/by-sa/3.0/" class="ext">CC Attribution-Share Alike 3.0 Unported</a> license.</p>
</div>
-->
</div>
</div>
<div id="footer">
<div class="container">
<p class="text-muted credit">&copy; 2011 - 2015 by the Linspector development team, this site is hosted on <a href="http://pages.github.com" class="ext">GitHub Pages</a></p>
</div>
</div>
</body>
</html>

1999
_site/js/bootstrap.js vendored Normal file

File diff suppressed because it is too large Load diff

6
_site/js/bootstrap.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,123 @@
(function ($) {
function widget(element, options, callback) {
this.element = element;
this.options = options;
this.callback = $.isFunction(callback) ? callback : $.noop;
}
widget.prototype = (function() {
function getCommits(user, repo, branch, callback) {
$.ajax({
url: "https://api.github.com/repos/" + user + "/" + repo + "/commits?sha=" + branch,
dataType: 'jsonp',
success: callback
});
}
function _widgetRun(widget) {
if (!widget.options) {
widget.element.append('<span class="error">Options for widget are not set.</span>');
return;
}
var callback = widget.callback;
var element = widget.element;
var user = widget.options.user;
var repo = widget.options.repo;
var branch = widget.options.branch;
var avatarSize = widget.options.avatarSize || 20;
var last = widget.options.last === undefined ? 0 : widget.options.last;
var limitMessage = widget.options.limitMessageTo === undefined ? 0 : widget.options.limitMessageTo;
element.append('<p>Widget intitalization, please wait...</p>');
getCommits(user, repo, branch, function (data) {
var commits = data.data;
var totalCommits = (last < commits.length ? last : commits.length);
element.empty();
var list = $('<ul class="github-commits-list">').appendTo(element);
for (var c = 0; c < totalCommits; c++) {
var commit = commits[c];
list.append(
'<li ' + itemClass(c, totalCommits) + ' >' +
' ' + message(replaceHtmlTags(commit.commit.message), commit.sha) +
' ' + when(commit.commit.committer.date) +
' ' + ((commit.author !== null) ? author(commit.author.login) : "by " + commit.commit.committer.name) +
'</li>');
}
callback(element);
function itemClass(current, totalCommits) {
if (current === 0) {
return 'class="first"';
} else if (current === totalCommits - 1) {
return 'class="last"';
}
return '';
}
function author(login) {
return 'by <a class="github-user ext" href="https://github.com/' + login + '">' + login + '</i>';
}
function message(commitMessage, sha) {
var originalCommitMessage = commitMessage;
if (limitMessage > 0 && commitMessage.length > limitMessage)
{
commitMessage = commitMessage.substr(0, limitMessage) + '...';
}
return '"' + '<a class="github-commit ext" title="' + originalCommitMessage + '" href="https://github.com/' + user + '/' + repo + '/commit/' + sha + '">' + commitMessage + '</a>"';
}
function replaceHtmlTags(message) {
return message.replace(/&/g, "&amp;")
.replace(/>/g, "&gt;")
.replace(/</g, "&lt;")
.replace(/"/g, "&quot;");
}
function when(commitDate) {
var commitTime = new Date(commitDate).getTime();
var todayTime = new Date().getTime();
var differenceInDays = Math.floor(((todayTime - commitTime)/(24*3600*1000)));
if (differenceInDays === 0) {
var differenceInHours = Math.floor(((todayTime - commitTime)/(3600*1000)));
if (differenceInHours === 0) {
var differenceInMinutes = Math.floor(((todayTime - commitTime)/(600*1000)));
if (differenceInMinutes === 0) {
return 'just now';
}
return 'about ' + differenceInMinutes + ' minutes ago';
}
return 'about ' + differenceInHours + ' hours ago';
} else if (differenceInDays == 1) {
return 'yesterday';
}
return differenceInDays + ' days ago';
}
});
}
return {
run: function () {
_widgetRun(this);
}
};
})();
$.fn.githubInfoWidget = function(options, callback) {
this.each(function () {
new widget($(this), options, callback)
.run();
});
return this;
};
})(jQuery);

8
_site/js/html5shiv.js vendored Normal file
View file

@ -0,0 +1,8 @@
/*
HTML5 Shiv v3.7.0 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}</style>";
c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:"3.7.0",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);
if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);

6
_site/js/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

4
_site/js/modernizr-2.0.6.min.js vendored Executable file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
PR.registerLangHandler(PR.createSimpleLexer([["com",/^#[^\n\r]*/,null,"#"],["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"']],[["kwd",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\s/,
null],["typ",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[ES]?BANK=?|BLOCK|BNKSUM|E?CADR|COUNT\*?|2?DEC\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\s/,null],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[!-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["apollo","agc","aea"]);

View file

@ -0,0 +1,3 @@
var a=null;
PR.registerLangHandler(PR.createSimpleLexer([["str",/^"(?:[^\n\r"\\]|\\.)*(?:"|$)/,a,'"'],["pln",/^\s+/,a," \r\n\t\u00a0"]],[["com",/^REM[^\n\r]*/,a],["kwd",/^\b(?:AND|CLOSE|CLR|CMD|CONT|DATA|DEF ?FN|DIM|END|FOR|GET|GOSUB|GOTO|IF|INPUT|LET|LIST|LOAD|NEW|NEXT|NOT|ON|OPEN|OR|POKE|PRINT|READ|RESTORE|RETURN|RUN|SAVE|STEP|STOP|SYS|THEN|TO|VERIFY|WAIT)\b/,a],["pln",/^[a-z][^\W_]?(?:\$|%)?/i,a],["lit",/^(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?/i,a,"0123456789"],["pun",
/^.[^\s\w"$%.]*/,a]]),["basic","cbm"]);

View file

@ -0,0 +1,18 @@
/*
Copyright (C) 2011 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
var a=null;
PR.registerLangHandler(PR.createSimpleLexer([["opn",/^[([{]+/,a,"([{"],["clo",/^[)\]}]+/,a,")]}"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\b/,a],
["typ",/^:[\dA-Za-z-]+/]]),["clj"]);

View file

@ -0,0 +1,2 @@
PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n\u000c"]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]+)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],
["com",/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}\b/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]);

View file

@ -0,0 +1,3 @@
PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"]],[["com",/^#!.*/],["kwd",/^\b(?:import|library|part of|part|as|show|hide)\b/i],["com",/^\/\/.*/],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["kwd",/^\b(?:class|interface)\b/i],["kwd",/^\b(?:assert|break|case|catch|continue|default|do|else|finally|for|if|in|is|new|return|super|switch|this|throw|try|while)\b/i],["kwd",/^\b(?:abstract|const|extends|factory|final|get|implements|native|operator|set|static|typedef|var)\b/i],
["typ",/^\b(?:bool|double|dynamic|int|num|object|string|void)\b/i],["kwd",/^\b(?:false|null|true)\b/i],["str",/^r?'''[\S\s]*?[^\\]'''/],["str",/^r?"""[\S\s]*?[^\\]"""/],["str",/^r?'('|[^\n\f\r]*?[^\\]')/],["str",/^r?"("|[^\n\f\r]*?[^\\]")/],["pln",/^[$_a-z]\w*/i],["pun",/^[!%&*+/:<-?^|~-]/],["lit",/^\b0x[\da-f]+/i],["lit",/^\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i],["lit",/^\b\.\d+(?:e[+-]?\d+)?/i],["pun",/^[(),.;[\]{}]/]]),
["dart"]);

View file

@ -0,0 +1,2 @@
PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\u000b\u000c\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["lit",/^[a-z]\w*/],["lit",/^'(?:[^\n\f\r'\\]|\\[^&])+'?/,null,"'"],["lit",/^\?[^\t\n ({]+/,null,"?"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^%[^\n]*/],["kwd",/^(?:module|attributes|do|let|in|letrec|apply|call|primop|case|of|end|when|fun|try|catch|receive|after|char|integer|float,atom,string,var)\b/],
["kwd",/^-[_a-z]+/],["typ",/^[A-Z_]\w*/],["pun",/^[,.;]/]]),["erlang","erl"]);

View file

@ -0,0 +1 @@
PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["pln",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])+(?:'|$)|`[^`]*(?:`|$))/,null,"\"'"]],[["com",/^(?:\/\/[^\n\r]*|\/\*[\S\s]*?\*\/)/],["pln",/^(?:[^"'/`]|\/(?![*/]))+/]]),["go"]);

View file

@ -0,0 +1,2 @@
PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t-\r ]+/,null,"\t\n\u000b\u000c\r "],["str",/^"(?:[^\n\f\r"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["str",/^'(?:[^\n\f\r'\\]|\\[^&])'?/,null,"'"],["lit",/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,null,"0123456789"]],[["com",/^(?:--+[^\n\f\r]*|{-(?:[^-]|-+[^}-])*-})/],["kwd",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\d'A-Za-z]|$)/,
null],["pln",/^(?:[A-Z][\w']*\.)*[A-Za-z][\w']*/],["pun",/^[^\d\t-\r "'A-Za-z]+/]]),["hs"]);

View file

@ -0,0 +1,3 @@
var a=null;
PR.registerLangHandler(PR.createSimpleLexer([["opn",/^\(+/,a,"("],["clo",/^\)+/,a,")"],["com",/^;[^\n\r]*/,a,";"],["pln",/^[\t\n\r \xa0]+/,a,"\t\n\r \u00a0"],["str",/^"(?:[^"\\]|\\[\S\s])*(?:"|$)/,a,'"']],[["kwd",/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/,a],
["lit",/^[+-]?(?:[#0]x[\da-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[de][+-]?\d+)?)/i],["lit",/^'(?:-*(?:\w|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?)?/],["pln",/^-*(?:[_a-z]|\\[!-~])(?:[\w-]*|\\[!-~])[!=?]?/i],["pun",/^[^\w\t\n\r "'-);\\\xa0]+/]]),["cl","el","lisp","lsp","scm","ss","rkt"]);

View file

@ -0,0 +1 @@
PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^!?"(?:[^"\\]|\\[\S\s])*(?:"|$)/,null,'"'],["com",/^;[^\n\r]*/,null,";"]],[["pln",/^[!%@](?:[$\-.A-Z_a-z][\w$\-.]*|\d+)/],["kwd",/^[^\W\d]\w*/,null],["lit",/^\d+\.\d+/],["lit",/^(?:\d+|0[Xx][\dA-Fa-f]+)/],["pun",/^[(-*,:<->[\]{}]|\.\.\.$/]]),["llvm","ll"]);

View file

@ -0,0 +1,2 @@
PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\r \xa0]+/,null,"\t\n\r \u00a0"],["str",/^(?:"(?:[^"\\]|\\[\S\s])*(?:"|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$))/,null,"\"'"]],[["com",/^--(?:\[(=*)\[[\S\s]*?(?:]\1]|$)|[^\n\r]*)/],["str",/^\[(=*)\[[\S\s]*?(?:]\1]|$)/],["kwd",/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],["lit",/^[+-]?(?:0x[\da-f]+|(?:\.\d+|\d+(?:\.\d*)?)(?:e[+-]?\d+)?)/i],
["pln",/^[_a-z]\w*/i],["pun",/^[^\w\t\n\r \xa0][^\w\t\n\r "'+=\xa0-]*/]]),["lua"]);

Some files were not shown because too many files have changed in this diff Show more