You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

293 lines
10 KiB

10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
9 years ago
10 years ago
9 years ago
10 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
9 years ago
9 years ago
9 years ago
  1. {% extends "base.html" %}
  2. {% load compress humanize staticfiles %}
  3. {% block containers %}
  4. <div class="index-bleed">
  5. <div class="container">
  6. <div class="row">
  7. <div class="col-sm-12">
  8. <h1 id="pitch">Cron Monitoring. Get Notified When Your Cron Jobs Fail.</h1>
  9. </div>
  10. </div>
  11. <div class="row">
  12. <div class="col-sm-6 col-sm-push-6">
  13. <p id="pitch-text">Make a HTTP GET request to this address from your cron job, daemon, script or long running task.
  14. <strong>When this address is not requested for a set time period, you will get alerted.</strong> Below are snippets that are ready to be copy/pasted into your own scripts.</p>
  15. </div>
  16. <div class="col-sm-6 col-sm-pull-6">
  17. <h2 id="pitch-subtitle">Here's an unique ping address for you:</h2>
  18. <div id="pitch-url">
  19. <input
  20. id="pitch-url-input"
  21. class="form-control"
  22. type="text"
  23. value="{{ ping_url }}"
  24. readonly />
  25. </div>
  26. </div>
  27. </div>
  28. <div class="row">
  29. <div class="col-sm-12">
  30. <ul class="nav nav-tabs" role="tablist">
  31. <li class="active">
  32. <a href="#crontab" data-toggle="tab">Crontab</a>
  33. </li>
  34. <li>
  35. <a href="#bash" data-toggle="tab">Bash</a>
  36. </li>
  37. <li>
  38. <a href="#python" data-toggle="tab">Python</a>
  39. </li>
  40. <li class="hidden-xs">
  41. <a href="#node" data-toggle="tab">Node.js</a>
  42. </li>
  43. <li class="hidden-xs">
  44. <a href="#php" data-toggle="tab">PHP</a>
  45. </li>
  46. <li class="hidden-xs">
  47. <a href="#browser" data-toggle="tab">Browser</a>
  48. </li>
  49. <li class="hidden-xs">
  50. <a href="#powershell" data-toggle="tab">PowerShell</a>
  51. </li>
  52. <li class="hidden-xs">
  53. <a href="#email" data-toggle="tab">Email</a>
  54. </li>
  55. </ul>
  56. <div class="tab-content">
  57. <div role="tabpanel" class="tab-pane active" id="crontab">
  58. {% include "front/snippets/crontab.html" %}
  59. </div>
  60. <div role="tabpanel" class="tab-pane" id="bash">
  61. {% include "front/snippets/bash.html" %}
  62. </div>
  63. <div role="tabpanel" class="tab-pane" id="python">
  64. {% include "front/snippets/python.html" %}
  65. </div>
  66. <div role="tabpanel" class="tab-pane" id="node">
  67. {% include "front/snippets/node.html" %}
  68. </div>
  69. <div role="tabpanel" class="tab-pane" id="php">
  70. {% include "front/snippets/php.html" %}
  71. </div>
  72. <div class="tab-pane" id="browser">
  73. {% include "front/snippets/browser.html" %}
  74. </div>
  75. <div class="tab-pane" id="powershell">
  76. {% include "front/snippets/powershell.html" %}
  77. </div>
  78. <div class="tab-pane" id="email">
  79. <div class="instructions">
  80. As an alternative to HTTP/HTTPS requests,
  81. you can "ping" this check by sending an
  82. email message to
  83. <div class="email-address">
  84. <code>{{ check.email }}</code>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. </div>
  92. </div>
  93. <div class="get-started-bleed">
  94. <div class="container">
  95. <div class="row">
  96. <div id="get-started" class="col-sm-6 col-sm-offset-3">
  97. <h2>E-mail Address to Receive Alerts:</h2>
  98. <form action="{% url 'hc-login' %}" method="post">
  99. {% csrf_token %}
  100. <div class="form-group">
  101. <div class="input-group input-group-lg">
  102. <div class="input-group-addon">@</div>
  103. <input
  104. type="email"
  105. class="form-control"
  106. id="id_email"
  107. name="email"
  108. autocomplete="email"
  109. placeholder="Email">
  110. </div>
  111. </div>
  112. <div class="clearfix">
  113. <button type="submit" class="btn btn-lg btn-primary pull-right">
  114. Get Started
  115. </button>
  116. </div>
  117. </form>
  118. </div>
  119. </div>
  120. </div>
  121. </div>
  122. <div class="container">
  123. <div class="row">
  124. <div class="col-sm-12">
  125. <h2 class="tour-title">A quick peek of what's inside:</h2>
  126. </div>
  127. </div>
  128. <div class="row tour-section">
  129. <div class="col-sm-8">
  130. <img
  131. class="img-responsive"
  132. src="{% static 'img/my_checks.png' %}"
  133. srcset="{% static 'img/my_checks.png'%} 1x, {% static 'img/[email protected]'%} 2x"
  134. alt="My Checks page" />
  135. </div>
  136. <div class="col-sm-4">
  137. <p>
  138. A list of your checks, one for each Cron job, daemon or
  139. periodically running task you want to monitor.
  140. </p>
  141. <p>
  142. Give names to your checks to easily recognize them
  143. later. Adjust Period and Grace time to match periodicity
  144. and duration of your tasks.
  145. </p>
  146. </div>
  147. </div>
  148. <div class="row tour-section">
  149. <div class="col-sm-8">
  150. <img
  151. class="img-responsive"
  152. src="{% static 'img/period_grace.png' %}"
  153. srcset="{% static 'img/period_grace.png'%} 1x, {% static 'img/[email protected]'%} 2x"
  154. alt="Period/Grace Time dialog" />
  155. </div>
  156. <div class="col-sm-4">
  157. Each check has configurable <strong>Period</strong> and <strong>Grace Time</strong> parameters.
  158. Depending on these parameters and time since the last ping, the check is in one of the
  159. following states:
  160. <table class="table">
  161. <tr>
  162. <td>
  163. <span class="glyphicon glyphicon-question-sign new"></span>
  164. </td>
  165. <td>
  166. New.
  167. A check that has been created, but has not received any pings yet.
  168. </td>
  169. </tr>
  170. <tr>
  171. <td>
  172. <span class="glyphicon glyphicon-ok-sign up"></span>
  173. </td>
  174. <td>
  175. Up.
  176. Time since last ping has not exceeded <strong>Period</strong>.
  177. </td>
  178. </tr>
  179. <tr>
  180. <td>
  181. <span class="glyphicon glyphicon-exclamation-sign grace"></span>
  182. </td>
  183. <td>
  184. Late.
  185. Time since last ping has exceeded <strong>Period</strong>,
  186. but has not yet exceeded <strong>Period</strong> + <strong>Grace</strong>.
  187. </td>
  188. </tr>
  189. <tr>
  190. <td>
  191. <span class="glyphicon glyphicon-exclamation-sign down"></span>
  192. </td>
  193. <td>
  194. Down.
  195. Time since last ping has exceeded <strong>Period</strong> + <strong>Grace</strong>.
  196. When check goes from "Late" to "Down", HealthChecks
  197. sends you a notification.
  198. </td>
  199. </tr>
  200. </table>
  201. </div>
  202. </div>
  203. <div class="row tour-section">
  204. <div class="col-sm-8">
  205. <img
  206. class="img-responsive"
  207. src="{% static 'img/channels.png' %}"
  208. srcset="{% static 'img/channels.png'%} 1x, {% static 'img/[email protected]'%} 2x"
  209. alt="Channels page" />
  210. </div>
  211. <div class="col-sm-4">
  212. <p>
  213. You can specify additional email addresses, webhooks,
  214. <a href="https://www.pagerduty.com/">PagerDuty</a>,
  215. <a href="https://slack.com/">Slack</a>
  216. and <a href="https://www.hipchat.com/">HipChat</a>
  217. accounts to send notifications to.
  218. </p>
  219. </div>
  220. </div>
  221. <div class="row">
  222. <div class="footer-jumbo-bleed">
  223. <div class="col-sm-12">
  224. <div class="jumbotron">
  225. <div class="row">
  226. <div class="col-sm-7">
  227. <p>healthchecks.io is a <strong>free</strong> and
  228. <a href="https://github.com/healthchecks/healthchecks">open source</a> service.
  229. Setting up monitoring for your cron jobs only takes minutes.
  230. Start sleeping better at nights!</p>
  231. </div>
  232. <div class="col-sm-1"></div>
  233. <div class="col-sm-4">
  234. <form action="{% url 'hc-login' %}" method="post">
  235. {% csrf_token %}
  236. <div class="form-group">
  237. <div class="input-group input-group-lg">
  238. <div class="input-group-addon">@</div>
  239. <input
  240. type="email"
  241. class="form-control"
  242. id="id_email"
  243. name="email"
  244. autocomplete="email"
  245. placeholder="Email">
  246. </div>
  247. </div>
  248. <div class="clearfix">
  249. <button type="submit" class="btn btn-lg btn-primary pull-right">
  250. Get Started
  251. </button>
  252. </div>
  253. </form>
  254. </div>
  255. </div>
  256. </div>
  257. </div>
  258. </div>
  259. </div>
  260. </div>
  261. {% endblock %}
  262. {% block scripts %}
  263. {% compress js %}
  264. <script src="{% static 'js/collapse-native.js' %}"></script>
  265. <script src="{% static 'js/tab-native.js' %}"></script>
  266. <script src="{% static 'js/welcome.js' %}"></script>
  267. {% endcompress %}
  268. {% endblock %}