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.

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