Commit Graph

282 Commits

Author SHA1 Message Date
Matthew Nickson
09e61d9d63
Changed Array<T> to type[]
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-21 20:02:18 +01:00
Matthew Nickson
0083485d4c
Updated server/model/* JSDoc to match new methods
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-21 18:30:04 +01:00
OidaTiftla
7ed8ae9f7c Fix trailing space warning 2022-04-21 18:23:32 +02:00
OidaTiftla
d6b591a513
Make comment more readable
Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-21 17:45:58 +02:00
Matthew Nickson
6d22ebedca
Merge branch 'master' into add-JSDoc-comments 2022-04-21 13:01:22 +01:00
OidaTiftla
60f8ab7285 Use new logging mechanism 2022-04-21 12:09:59 +02:00
OidaTiftla
b7e2489d22
Merge branch 'master' into introduce-resend-interval 2022-04-21 11:58:04 +02:00
Louis Lam
5fa62a888c Merge branch 'master' into mqtt2
# Conflicts:
#	server/database.js
#	server/util-server.js
2022-04-17 19:46:33 +08:00
Louis Lam
e6a8a84278 Include only nessacary data in webhook 2022-04-17 19:30:58 +08:00
Louis Lam
47c72192e1 [eslint] Enable yoda and eqeqeq 2022-04-17 15:43:03 +08:00
Louis Lam
d71c086447 Standardize array bracket spacing 2022-04-17 15:27:35 +08:00
Matthew Nickson
45f44b183d
Add JSDoc to server/model/*
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-16 21:11:45 +01:00
Louis Lam
8d8c38b1a8 Allow unused vars in args and fix more eslint issues 2022-04-17 01:39:49 +08:00
Louis Lam
e34420368b Remove try-catch and fix username/password/port not working for mqtt 2022-04-17 01:06:47 +08:00
Louis Lam
b1c7915bc1 Merge branch 'master' into mqtt2
# Conflicts:
#	package-lock.json
#	package.json
#	server/database.js
#	server/model/monitor.js
#	server/server.js
#	src/pages/EditMonitor.vue
2022-04-16 13:28:39 +08:00
Matthew Nickson
8c8eeaf627
Merge branch 'master' into #1059-specify-dns-resolver-port 2022-04-13 21:24:04 +01:00
Matthew Nickson
b893d50e45
Implement specify Port for DNS Monitor #1059
This commit should fully implement #1059. When the user selects the DNS
monitor option, a new input box has been added below the resolver
address allowing the user to implement the port to access the resolver
on. This uses the same `monitor.port` as the TCP monitor but a monitor
has been added to prefill the port value to the default of `53` if the
value in this field has not already been set. This is then cleared if
the user selects a different monitor type and has not changed the port
value. A translation has also been added explaining what this field
does in order to reduce any confusion. JSDoc documentation has also been
added to the `dnsResolve` function in `util-server.js`.

Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-13 21:02:19 +01:00
Louis Lam
649f3106e1 Enforce semicolon, fix format globally 2022-04-14 01:20:54 +08:00
Louis Lam
e9ce1433cd Change log_info to log.info by making it into an object 2022-04-13 23:33:37 +08:00
Moritz R
361e44ad6a
Merge branch 'louislam:master' into master 2022-04-13 15:58:17 +02:00
Louis Lam
279e2eb3f6 Merge branch 'master' into logging
# Conflicts:
#	server/database.js
#	server/jobs.js
#	server/model/monitor.js
#	server/routers/api-router.js
#	server/server.js
#	server/socket-handlers/status-page-socket-handler.js
#	server/util-server.js
2022-04-12 16:32:14 +08:00
Louis Lam
70311f7a5a Add an option to enable/disable the domain name expiry notification #1364 2022-04-05 21:27:50 +08:00
Moritz R
af44b0beab
Merge branch 'master' into master 2022-04-03 17:19:29 +02:00
Moritz R
84a0b24448
Update server/model/monitor.js
As per recommendation of @Computroniks

Co-authored-by: Matthew Nickson <mnickson@sidingsmedia.com>
2022-04-03 17:15:21 +02:00
Jimmy Huang
a4be651118
Update server/model/monitor.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-04-01 15:26:50 +08:00
Louis Lam
04e3394d02 Merge branch 'master' into feature/request-with-http-proxy
# Conflicts:
#	package-lock.json
#	package.json
#	server/database.js
#	src/languages/en.js
#	src/mixins/socket.js
2022-04-01 14:57:35 +08:00
OidaTiftla
91366ff565
Merge branch 'master' into introduce-resend-interval 2022-03-27 21:19:57 +02:00
Louis Lam
be88351eb3
Merge pull request #1136 from chakflying/fix/prometheus-on-delete
Fix: Remove prometheus metrics on delete [Test needed]
2022-03-27 11:05:50 +08:00
Louis Lam
aef0a66205 [Status Page] Simplify show tags logic 2022-03-18 17:56:46 +08:00
Uğur Erkan
8078d0618d Add socks proxy support to proxy feature
- Socks proxy support implemented.
- Monitor proxy agent create flow refactored
  and moved under proxy class.

Thanks for suggestion @thomasleveil
2022-03-06 19:34:51 +03:00
Uğur Erkan
78d76512ba Add http and https proxy feature
Added new proxy feature based on http and https proxy agents.
Proxy feature works like notifications, there is many proxy
could be related one proxy entry.

Supported features
- Proxies can activate and disable in bulk
- Proxies auto enabled by default for new monitors
- Proxies could be applied in bulk to current monitors
- Both authenticated and anonymous proxies supported
- Export and import support for proxies
2022-03-06 19:34:49 +03:00
Louis Lam
595cd93220 Check invalid interval 2022-02-24 15:11:17 +08:00
Jimmy Huang
244a7b3671
Update server/model/monitor.js
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2022-02-07 18:46:16 +08:00
Karel Krýda
b49e5d5c39 The SQL query to determine if the monitor is under maintenance is now in its own method. 2022-01-25 19:07:27 +01:00
Jimmy Huang
ee90d2713f refs issue-1201 in upstream.
Add 100 characters from response body to bean.msg after keyword not match.
2022-01-25 17:39:19 +08:00
Karel Krýda
e7b2832967 The start and end dates of the maintenance are now stored in UTC, which allows it to be converted between time zones 2022-01-24 22:33:15 +01:00
OidaTiftla
f390a8caf1 Fix missing DB patch and use DATETIME as column format 2022-01-24 21:59:25 +01:00
Karel Krýda
5fda1f0f59 minor fixes (missing commas, spaces, translations) 2022-01-23 20:33:39 +01:00
OidaTiftla
11e9eee09d Change seconds to minutes 2022-01-23 17:48:09 +01:00
OidaTiftla
1ac904d6d6 Introduce resend interval if down 2022-01-23 15:22:57 +01:00
Karel Krýda
0d3414c6d6 A complete maintenance planning system has been created 2022-01-23 15:22:00 +01:00
c0derMo
29df70949d Add ability to connect to daemon via http / tcp for windows compatibility 2022-01-22 01:57:37 +00:00
Tarun Singh
22256dfcd2 added timeout for removing the dead loop state 2022-01-20 13:04:59 -05:00
c0derMo
4818bb67d6 Added trailing comma, fixed spelling & translation 2022-01-14 09:09:37 +00:00
c0derMo
c5cc42272f Fixing the editing of docker container & adding english translation 2022-01-13 18:28:45 +00:00
c0derMo
b0259b5592 Added docker container monitor 2022-01-13 16:17:07 +00:00
Louis Lam
227bbdea2f [MQTT] Try to improve error handling 2022-01-13 12:42:34 +08:00
Louis Lam
6272514820 [MQTT] Use existing fields instead of creating new ones (Server) 2022-01-13 11:53:08 +08:00
Louis Lam
076d6bdbb6 Merge branch 'master' into mqtt
# Conflicts:
#	package-lock.json
#	server/database.js
2022-01-13 11:09:16 +08:00
Nelson Chan
1e92487f30 Chore: Remove onDelete as unused 2022-01-07 12:28:08 +08:00
Nelson Chan
edd2534a1b Fix: Clear metrics also on stop and edit 2022-01-07 12:26:26 +08:00
Nelson Chan
f6ef390c76 Fix: Remove Prom. metrics on delete monitor 2022-01-07 12:04:57 +08:00
Tarun Singh
d3c90df8a8 fixed edit monitor fields empty issues 2021-12-18 16:35:18 -05:00
Louis Lam
a42932a43e Simulate Chrome's request Accept header. Better handling of #1067 2021-12-16 15:09:10 +08:00
Andreas Brett
38f8a8ac2f
Merge branch 'louislam:master' into logging 2021-12-10 17:21:55 +01:00
Louis Lam
dcc91d6c72 Fix #922 2021-12-08 14:59:59 +08:00
Andreas Brett
a13bdaac84
Merge branch 'master' into logging 2021-11-29 20:32:42 +01:00
Louis Lam
92a5f18bf5
Merge pull request #864 from ivanbratovic/http-basicauth
Implement explicit HTTP "basic" authentication support
2021-11-23 22:48:54 +08:00
Louis Lam
3d222ac5f5 fix btoa is not define 2021-11-23 12:59:48 +08:00
Tarun Singh
35da8c78f4 added connection timeout and refactored code 2021-11-22 03:21:53 -05:00
Tarun Singh
3f5133d1ba Added authentication logic 2021-11-16 20:44:10 -05:00
Andreas Brett
e5913c5abc separate log functions 2021-11-15 17:52:28 +01:00
Andreas Brett
bdcdf47e52 introduce consistent logging 2021-11-11 12:31:28 +01:00
Louis Lam
41a6d1b701 Fix parseCertificateInfo possibly in dead loop 2021-11-08 15:39:17 +08:00
Ivan Bratović
34d8984e3a
Merge branch 'master' into http-basicauth 2021-11-07 17:15:36 +01:00
Louis Lam
c92153c97e add more debug msg 2021-11-07 21:00:47 +08:00
Tarun Singh
2d802585ff
Update review suggestions
Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
2021-11-04 22:21:54 -04:00
Ivan Bratović
179ca232bc Minor refactor - change variable names and add commas to object definitions 2021-11-04 10:14:17 +01:00
Ivan Bratović
0dcb7aed21 Delinting 2021-11-04 09:50:10 +01:00
Ivan Bratović
23736549f9 Implement HTTP basic auth feature 2021-11-04 09:50:10 +01:00
Tarun Singh
670754b697 added MQTT monitor type 2021-11-03 21:46:43 -04:00
Louis
d7f7dba13f write some error logs to ./data/error.log 2021-10-29 18:24:47 +08:00
Louis Lam
eb22ad5ffe [certificate notification] error handling and better msg 2021-10-27 16:12:18 +08:00
Louis Lam
f5f4835b74 [certificate notification] clear sent history if the cert is changed 2021-10-27 16:03:16 +08:00
Louis Lam
44c1b336dc send certificate notifications in 21, 14, 7 days 2021-10-27 15:33:15 +08:00
Louis Lam
640b6e5b1c prevent monitor dead for unexpected error 2021-10-27 14:08:44 +08:00
Louis Lam
698a38e773 clear status page cache in a better place 2021-10-27 11:39:46 +08:00
Louis Lam
68d44dd9b3 [steam] do not request if there is no steam api key 2021-10-18 17:11:41 +08:00
Louis Lam
20d59e5a13 fix and move the steam api key to settings page 2021-10-18 17:02:05 +08:00
Louis Lam
ae31eb6ba9 Merge branch 'master' into Revyn112_master
# Conflicts:
#	server/model/monitor.js
#	src/languages/en.js
#	src/pages/EditMonitor.vue
2021-10-18 15:50:35 +08:00
Bert Verhelst
1d63dd9ddd fix(monitor): safely get status of previous beat if first beat 2021-10-16 11:28:03 +02:00
Louis Lam
7276f34d90 fix reset-password 2021-10-16 00:57:26 +08:00
Louis Lam
cd211a6be7 [http options] fine tune 2021-10-15 18:36:40 +08:00
Louis Lam
4e71ab7406 Merge branch 'master' into feature/add-support-for-method-body-and-headers 2021-10-15 16:07:05 +08:00
Louis Lam
3b74b727f2 [Push Type] fix missing important flag and missing up notification 2021-10-14 22:32:15 +08:00
Bert Verhelst
5445c2a2ff fix(monitor): revert unintentional change to comment 2021-10-10 18:41:29 +02:00
Bert Verhelst
dc08510e72 Merge remote-tracking branch 'origin/master' into feature/add-support-for-method-body-and-headers 2021-10-10 18:40:53 +02:00
LouisLam
82131f4dd2 merge conflict 2021-10-10 13:09:30 +08:00
Bert Verhelst
5137c80c07 fix(monitor): handle empty headers 2021-10-09 21:51:24 +02:00
LouisLam
56ae6f6117 fix demoMode export 2021-10-10 02:36:20 +08:00
LouisLam
5c89562650 not allow lower than 20s for demo mode 2021-10-10 02:23:27 +08:00
Bert Verhelst
d71d27220b fix(edit-monitor): store headers as JSON 2021-10-09 12:42:32 +02:00
Bert Verhelst
fba4f86552 Merge branch 'master' into feature/add-support-for-method-body-and-headers 2021-10-09 12:35:08 +02:00
LouisLam
a15e9077fc [status page] clear cache if it is an important beat 2021-10-09 17:04:51 +08:00
Bert Verhelst
ec4b7e4064 Merge remote-tracking branch 'louislam/master' into feature/add-support-for-method-body-and-headers 2021-10-07 18:22:59 +02:00
LouisLam
e5f6d7f047 slack and rocket.chat use the primary base url
env var to show time logger
2021-10-07 17:39:58 +08:00
Bert Verhelst
3f0b85e5a8 feat(http-requests): add support for methods, body and headers for http 2021-10-02 16:48:27 +02:00
LouisLam
1ed4ac9494 add Push-based monitoring (#279) 2021-10-01 00:09:43 +08:00
LouisLam
3e4154dfb5 Fix retry interval affected bug 2021-09-29 17:20:35 +08:00
Denis Freund
b67b4d5afd add steam gameserver for monitoring 2021-09-27 11:17:57 +02:00
LouisLam
fe0fc63843 [status page] send uptime 2021-09-22 15:10:08 +08:00
LouisLam
fd95d41d9f [status page] many update and save group list 2021-09-19 19:04:51 +08:00
Louis
a6fdd272a6 [status page] minor 2021-09-17 14:42:19 +08:00
LouisLam
392f8275b3 Merge branch 'master' into public-dashboard
# Conflicts:
#	server/database.js
2021-09-16 16:53:54 +08:00
Louis Lam
72783fd94c
Merge pull request #380 from No0Vad/retry-heartbeat-interval
Added support for a retry interval to monitors
2021-09-16 00:21:53 +08:00
No0Vad
1300448bed Adjustments to the retry interval
The monitor logic for when to use "retryInterval" is updated. Also removed some texts when they are no longer needed.
2021-09-15 00:59:06 +02:00
LouisLam
9902c181bc Merge branch 'master' into public-dashboard
# Conflicts:
#	src/components/MonitorList.vue
#	src/icon.js
2021-09-14 15:05:04 +08:00
Nelson Chan
6e3a904aaa WIP: Add tags functionality
WIP: add color column, show tags

WIP: Improve TagsManager styling & workflow

WIP: Improve styling & validation, use translation

WIP: Complete TagsManager functionality

WIP: Add tags display in monitorList & Details

Fix: update tags list after edit

Fix: slightly improve tags styling

Fix: Improve mobile UI

Fix: Fix tags not showing on create monitor

Fix: bring existingTags inside tagsManager

Fix: remove unused tags prop

Fix: Fix formatting, bump db version
2021-09-13 14:12:11 +08:00
LouisLam
e205adfd7b [status page] developing 2021-09-13 02:26:45 +08:00
No0Vad
f8f9f59464 Added support for a retry interval to monitors
If a check fails and retries are used you can now specify a specific value for that. So you can check faster if the site goes back up again.
2021-09-11 18:54:55 +02:00
LouisLam
8ee34c7904 also handle the first beat problem in uptime 2021-09-09 15:55:34 +08:00
LouisLam
4f07c2ea9a uptime calculation fully sum in sql 2021-09-09 15:46:28 +08:00
LouisLam
6006038689 fix monitor.stop() in some cases 2021-09-08 20:00:16 +08:00
LouisLam
0ddbac5109 Revert "move userMonitorList out of server.js"
This reverts commit a7cf14c663.
2021-09-08 19:54:38 +08:00
LouisLam
0f440596c8 Revert "cache last heartbeat list in memory"
This reverts commit 87678ea92d.
2021-09-08 19:54:37 +08:00
LouisLam
87678ea92d cache last heartbeat list in memory 2021-09-08 18:58:02 +08:00
LouisLam
a7cf14c663 move userMonitorList out of server.js 2021-09-08 16:27:37 +08:00
LouisLam
bf29f28726 send stats only if there is at least one client in the room 2021-08-30 14:55:33 +08:00
Ponkhy
858affa808 Removed useless database query 2021-08-28 21:29:24 +02:00
Ponkhy
303adbf9b1 Show latest dns result in Details.vue 2021-08-28 21:20:25 +02:00
LouisLam
46ac753c46 Merge branch 'master' into dns-monitor 2021-08-26 01:05:46 +08:00
Ponkhy
d313a06d5c Optimizations for output handling 2021-08-25 09:31:42 +02:00
Ponkhy
44d9fa63f0 Adjusted the output for A and AAAA records 2021-08-24 11:47:12 +02:00
Ponkhy
b2041cb36b Fixed ESLint Errors 2021-08-23 16:30:11 +02:00
LouisLam
aa2233eb2d log notification error 2021-08-23 20:57:42 +08:00
Ponkhy
e5981b10ce Replaced var with let and removed re-declaration 2021-08-23 13:08:22 +02:00
LouisLam
50f300dd28 heartbeat interval change to use setTimeout() 2021-08-23 18:52:24 +08:00
Ponkhy
c79be19ec3 Added DNS Monitor Type 2021-08-23 00:05:48 +02:00
LouisLam
eed6d3e847 add more query log for dev env 2021-08-17 02:09:40 +08:00
Louis Lam
af34e861c5
Merge pull request #200 from proffalken/feature/187_add_cert_checks_to_prometheus
Add certificate monitoring to the Prometheus handler
2021-08-13 00:26:58 +08:00
LouisLam
d39b43dacc fix require problem 2021-08-13 00:13:46 +08:00
LouisLam
6a8ccf627a add version to user agent 2021-08-12 01:31:07 +08:00
LouisLam
b14f63491d timeout change to 80% of its interval 2021-08-11 23:12:38 +08:00
LouisLam
692a11e51e pass tls info to prometheus.update 2021-08-10 14:24:05 +01:00
LouisLam
f099e4270d change to Accept: */* to better support all websites 2021-08-10 20:23:15 +08:00
LouisLam
59ef1f13db set longer timeout for axios request 2021-08-09 13:54:24 +08:00
LouisLam
3005585c0f Merge branch 'master' into redirects&status 2021-08-08 14:48:00 +08:00
Philipp Dormann
123fca43a1
FEAT: darkmode (#155)
* darkmode fixes

* fix: darkmode: empty beats in active/ hovered state

* fix: color for empty beats

* fix: navbar background color

* Update src/assets/vars.scss

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>

* Update src/assets/app.scss

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>

* wip, split dark theme style by .dark and store light theme to normal

* add back missing css

* working switch theme button and tuning dark theme

* finish dark theme

Co-authored-by: Adam Stachowicz <saibamenppl@gmail.com>
Co-authored-by: LouisLam <louislam@users.noreply.github.com>
2021-08-08 13:47:29 +08:00
Nelson Chan
8f7885e58a Feat: Implement MaxRedirects & StatusCodes 2021-08-05 19:04:38 +08:00
LouisLam
63f0a36811 implement upside down mode and ignore tls error 2021-07-31 00:01:04 +08:00
LouisLam
06377af7e5 turn off object-curly-newline, it makes const { a, b, c, d } = require(...) ugly 2021-07-30 22:11:14 +08:00
LouisLam
60aa67892d store ignoreTls and upsideDown into db 2021-07-30 19:18:26 +08:00
LouisLam
081abcb6a1 add util.ts for sharing common functions between frontend and backend 2021-07-30 11:23:04 +08:00
Adam Stachowicz
4c8fdd07d9 Manual fixes 2021-07-27 19:53:59 +02:00
LouisLam
209fa83cff Add Basic Auth for /metrics 2021-07-28 00:52:31 +08:00
LouisLam
934b797623 Merge branch 'master' into feature/add_prometheus_metrics
# Conflicts:
#	server/model/monitor.js
2021-07-27 23:13:03 +08:00
LouisLam
caec933186 prevent unexpected error throw from checkCertificate interrupt the beat 2021-07-26 12:25:44 +08:00
Nelson Chan
db26b7d123 Fix: Fix no certificate caused by session reuse 2021-07-26 12:24:13 +08:00
Nelson Chan
7b8459c73a Fix: use Optional chaining 2021-07-26 12:24:12 +08:00
Nelson Chan
d0c63ebe3e Feat: Add database storage for TLS info 2021-07-26 12:24:12 +08:00