Compare commits

..

470 Commits

Author SHA1 Message Date
Doug Burks
39f32a6e13 Merge pull request #5185 from Security-Onion-Solutions/dev
2.3.70
2021-08-19 06:22:57 -04:00
Mike Reeves
8e9f95652d Merge pull request #5188 from Security-Onion-Solutions/2.3.70
2.3.70 sigs
2021-08-18 09:37:51 -04:00
Mike Reeves
30489e4117 2.3.70 sigs 2021-08-18 09:35:48 -04:00
Mike Reeves
9dc9f10003 Merge pull request #5174 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update so-functions
2021-08-17 10:46:17 -04:00
Mike Reeves
1ced05c1d2 Update so-functions 2021-08-17 10:44:44 -04:00
Mike Reeves
41b246b8b3 Merge pull request #5169 from Security-Onion-Solutions/agrepo
Fix repo creation in airgap
2021-08-16 13:08:21 -04:00
Mike Reeves
a12f19c533 Fix repo creation in airgap 2021-08-16 13:00:52 -04:00
Josh Patterson
f1c91555ae Merge pull request #5166 from Security-Onion-Solutions/issue/2806
Issue/2806
2021-08-16 09:08:27 -04:00
Jason Ertel
e39de8c7bc Merge pull request #5089 from Ron89/feature/thehive-userupdate
add user password update command
2021-08-15 09:36:35 -04:00
Mike Reeves
d0e312ec42 Merge pull request #5149 from Security-Onion-Solutions/gridraid
Grid Fixes
2021-08-13 18:42:34 -04:00
Mike Reeves
e492833453 Grid Fixes 2021-08-13 18:32:55 -04:00
Mike Reeves
9beacacd44 Grid Fixes 2021-08-13 18:26:17 -04:00
Mike Reeves
aad14b2461 Grid Fixes 2021-08-13 18:22:02 -04:00
m0duspwnens
4955b552df remove - 2021-08-13 17:42:37 -04:00
Mike Reeves
55e8a777d4 Merge pull request #5147 from Security-Onion-Solutions/issue/4674
keep the list unique
2021-08-13 17:39:54 -04:00
m0duspwnens
a98ed282c0 keep the list unique 2021-08-13 17:38:45 -04:00
Mike Reeves
7504b1cb2e Merge pull request #5146 from Security-Onion-Solutions/gridraid
Grid Fixes
2021-08-13 16:25:31 -04:00
m0duspwnens
afab1cb1e6 Merge remote-tracking branch 'remotes/origin/dev' into issue/2806 2021-08-13 16:19:57 -04:00
m0duspwnens
cd0b9bbe4a dont always add curator to so-status 2021-08-13 16:19:41 -04:00
Mike Reeves
3ea29e77a9 Merge pull request #5145 from Security-Onion-Solutions/bugfix/so-logscan-soup-pull
Remove so-logscan from so-image-common arrays
2021-08-13 13:59:10 -04:00
William Wernert
fb4c2c35e3 Remove so-logscan from so-image-common arrays 2021-08-13 13:58:08 -04:00
HE Chong
81ccce8659 negative case where username doesn't exist now report exception as expected 2021-08-13 23:00:11 +08:00
HE Chong
0d5e3771f5 modify user password update script for theHive, keep it in consistency with Fleet counterpart. 2021-08-13 21:52:19 +08:00
HE Chong
2030ef65f1 add user password update script for Fleet 2021-08-13 21:50:24 +08:00
HE Chong
b6c361f83d add user password update script for The Hive 2021-08-13 20:54:35 +08:00
Mike Reeves
9404cb635d Grid Fixes 2021-08-13 08:48:47 -04:00
William Wernert
da53b39c15 Merge pull request #5142 from Security-Onion-Solutions/foxtrot
Add image pull script to allow so-learn to pull missing images, update wording on several whiptail prompts
2021-08-12 16:09:55 -04:00
William Wernert
86569b0599 Make sbin script permissions consistent 2021-08-12 16:05:54 -04:00
William Wernert
45aa2f72cb Merge branch 'dev' into foxtrot 2021-08-12 15:45:12 -04:00
Mike Reeves
06b7434ca2 Merge pull request #5141 from Security-Onion-Solutions/kilo 2021-08-12 15:05:14 -04:00
Jason Ertel
258cebda6e Correct identity update payload to not have unsupported fields 2021-08-12 15:01:45 -04:00
Jason Ertel
0cca43c4bd Merge branch 'dev' into kilo 2021-08-12 15:01:12 -04:00
William Wernert
bf40a1038e Whiptail changes
* Update wording of ip mask prompt + so-allow question for clarity
* Remove old ip+mask prompts
2021-08-12 10:32:27 -04:00
William Wernert
3312a66e75 Fix indent 2021-08-11 16:37:22 -04:00
William Wernert
4a31d6b3bc Specify images are also verified 2021-08-11 16:35:33 -04:00
William Wernert
64dfc6e191 Fix pull logic and properly hide output 2021-08-11 16:33:45 -04:00
William Wernert
95bd7f9861 Merge branch 'dev' into foxtrot 2021-08-11 13:47:38 -04:00
William Wernert
983549711c Pull image if missing when enabling module in so-learn 2021-08-11 13:47:31 -04:00
Josh Patterson
5922dbdf22 Merge pull request #5120 from Security-Onion-Solutions/issue/4674
Issue/4674
2021-08-10 12:29:51 -04:00
m0duspwnens
9e48a5b57b fix the pillar.get 2021-08-10 10:29:29 -04:00
m0duspwnens
3c1114403e fix the pillar.get 2021-08-10 10:25:05 -04:00
m0duspwnens
8d2f614af6 Merge remote-tracking branch 'remotes/origin/dev' into issue/4674 2021-08-10 10:16:30 -04:00
m0duspwnens
1415de858c delete old dashboard folders via api - https://github.com/Security-Onion-Solutions/securityonion/issues/4674 2021-08-10 10:16:14 -04:00
Josh Patterson
59e9fddf18 Merge pull request #5109 from Security-Onion-Solutions/issue/4674
remove old dashboard dirs
2021-08-09 13:37:45 -04:00
m0duspwnens
ad3b6cf629 remove old dashboard dirs - https://github.com/Security-Onion-Solutions/securityonion/issues/4674 2021-08-09 13:34:02 -04:00
William Wernert
b12e2eded5 Merge pull request #5086 from Security-Onion-Solutions/foxtrot
Add conditional check for logscan log + add log folder to logrotate config
2021-08-06 11:32:23 -04:00
William Wernert
26030d83eb Merge branch 'dev' into foxtrot 2021-08-06 09:44:10 -04:00
William Wernert
3b01f6431e Add logscan to logrotate config 2021-08-06 09:43:58 -04:00
Jason Ertel
a646867593 Merge branch 'dev' into kilo 2021-08-06 09:14:45 -04:00
Josh Patterson
768e61e11a Merge pull request #5080 from Security-Onion-Solutions/issue/2806
Issue/2806
2021-08-05 12:02:42 -04:00
m0duspwnens
e72ad9eb5a allow curator 2021-08-05 11:54:49 -04:00
m0duspwnens
ac4faf673d add so-manager to curator.yml 2021-08-05 11:11:59 -04:00
William Wernert
dd1769fbef Only check for logscan on manager-type and import 2021-08-05 11:02:09 -04:00
m0duspwnens
853a986082 add reqs to docker add manager to so-curator-closed-delete-delte 2021-08-05 10:36:18 -04:00
m0duspwnens
727a3742f5 run only on manager if truecluster enabled 2021-08-05 09:50:51 -04:00
Doug Burks
478a0b6a3f Merge pull request #5075 from Security-Onion-Solutions/fix/typo
fix typo
2021-08-05 07:43:46 -04:00
Doug Burks
771688a70f fix typo 2021-08-05 07:34:07 -04:00
Josh Patterson
40fa549353 Merge pull request #5066 from Security-Onion-Solutions/issue/2806
dont run curator on searchnode if truecluster is enabled
2021-08-04 15:01:11 -04:00
Jason Ertel
84fdc1e690 Merge pull request #5057 from Security-Onion-Solutions/bravo
Several Suricata things
2021-08-04 12:26:11 -04:00
Mike Reeves
71bbb41b5f Merge branch 'dev' into bravo 2021-08-04 10:57:10 -04:00
m0duspwnens
52cb72ba67 dont run curator on searchnode if truecluster is enabled - https://github.com/Security-Onion-Solutions/securityonion/issues/2806 2021-08-04 09:40:34 -04:00
William Wernert
54a3b754e0 Merge pull request #5050 from Security-Onion-Solutions/foxtrot
Add logscan state, related pipeline config, and initial so-learn script
2021-08-03 16:30:07 -04:00
William Wernert
2bc88e7750 Remove learn from allowed states for helixsensor 2021-08-03 15:29:37 -04:00
William Wernert
ef59cb47dd Use print_err function 2021-08-03 15:26:57 -04:00
William Wernert
9e5d3aa286 Fix removed root check in so-rule 2021-08-03 15:25:53 -04:00
William Wernert
25bf25eae6 Allowed states remove typo'd logscan 2021-08-03 15:24:32 -04:00
William Wernert
24f5fa66f3 Merge branch 'dev' into foxtrot 2021-08-03 13:02:29 -04:00
Mike Reeves
1aeb2d7d4f Merge pull request #5040 from Security-Onion-Solutions/kilo
Condense cloud automations
2021-08-03 10:59:28 -04:00
Jason Ertel
ee176f5bfd Condense cloud automations 2021-08-03 07:40:50 -04:00
Jason Ertel
eb093b8e6c Condense cloud automations 2021-08-02 21:52:42 -04:00
Jason Ertel
f88fa6e3b2 Condense cloud automations 2021-08-02 21:51:26 -04:00
Jason Ertel
724f7d4f3d Merge pull request #5036 from Security-Onion-Solutions/kilo
Condense cloud automations
2021-08-02 18:04:05 -04:00
Jason Ertel
19816d8814 Condense cloud automations 2021-08-02 17:55:27 -04:00
William Wernert
d3b170c6df Add logscan automation file + fix enable command in setup 2021-08-02 12:37:37 -04:00
William Wernert
757091beeb Add log_level to logscan.conf 2021-08-02 10:35:39 -04:00
William Wernert
8a49039b85 Only append source.ip to logscan.source.ips if it's been created 2021-08-02 09:50:49 -04:00
William Wernert
4f39cd1d7f Add logscan dynamic object to so-common template mappings 2021-07-30 16:02:02 -04:00
William Wernert
2a6277c0c3 Fix field names in logscan pipeline 2021-07-30 15:46:39 -04:00
William Wernert
33bd6aed20 Fix logscan pipeline on eval
* Rename logscan pipeline to logscan.alert
* Add module to indices array in filebeat.yml
2021-07-30 14:41:15 -04:00
William Wernert
b9980c9d30 Fix pipeline name 2021-07-30 13:09:09 -04:00
William Wernert
01bb94514c Correct mod_so_status to only act on single string 2021-07-30 11:05:48 -04:00
William Wernert
d71967ea1d Fix incorrect writing of so-status.conf 2021-07-30 10:28:39 -04:00
William Wernert
0b06d0bfdb Merge branch 'dev' into foxtrot 2021-07-29 15:15:25 -04:00
William Wernert
b2a83018ba Remove or run logscan based on enabled bool 2021-07-29 15:14:54 -04:00
William Wernert
ba265d94f4 Change default value in learn init to a dict where approriate 2021-07-29 15:14:28 -04:00
Mike Reeves
af7b314cfe Merge pull request #4993 from Security-Onion-Solutions/kilo
Merge 2.3.61 MSEARCH Hotfix into dev
2021-07-29 15:02:51 -04:00
Jason Ertel
4c6447a3da merge 2.3.61 MSEARCH hotfix into dev 2021-07-29 15:00:58 -04:00
William Wernert
b30f771fa2 Set write_needed flag correctly, include newline in so-status.conf string 2021-07-29 14:59:26 -04:00
Mike Reeves
837c0402a0 Merge pull request #4989 from Security-Onion-Solutions/hotfix/2.3.61
Hotfix/2.3.61
2021-07-29 14:58:25 -04:00
William Wernert
e38219aa2e Fix learn init.sls typo 2021-07-29 14:35:02 -04:00
William Wernert
9e92f6da3d Add container to so-status when enabling/disabling ml module 2021-07-29 14:25:20 -04:00
William Wernert
44551ea9ee Fix so-learn list 2021-07-29 13:31:48 -04:00
William Wernert
c53da9b1ff Fix wrong variables in learn init.sls 2021-07-29 12:04:40 -04:00
William Wernert
e1785dbd9a Fix typo 2021-07-29 12:00:53 -04:00
William Wernert
2560a9b78c [wip] Change learn:modules to dictionary 2021-07-29 11:58:58 -04:00
William Wernert
d53e989c55 Add ability to set cpu_period per module 2021-07-29 11:52:10 -04:00
William Wernert
211a841cdb Fix file path in bind mount for logscan 2021-07-29 11:40:19 -04:00
Josh Patterson
50e4365475 Merge pull request #4990 from Security-Onion-Solutions/issue/4985
Issue/4985
2021-07-29 11:14:54 -04:00
Jason Ertel
c524b54af1 Merge pull request #4988 from Security-Onion-Solutions/mkr2361
2.3.61-MSEARCH
2021-07-29 11:10:41 -04:00
Mike Reeves
7591bb115e 2.3.61-MSEARCH 2021-07-29 11:09:54 -04:00
Mike Reeves
3d2da303c8 2.3.61-MSEARCH 2021-07-29 11:09:27 -04:00
Mike Reeves
f585eb6e62 2.3.61-MSEARCH 2021-07-29 11:08:03 -04:00
m0duspwnens
4b6120a46b fix the hours get 2021-07-29 10:59:33 -04:00
Mike Reeves
d946c6d5ed Merge pull request #4987 from Security-Onion-Solutions/kilo
Do not prompt about uppercased hostname during testing
2021-07-29 10:57:56 -04:00
William Wernert
5894b85bd1 Remove broken yaml dump arg, rename metavars 2021-07-29 10:57:53 -04:00
m0duspwnens
3fc43f7d92 allow for adjustment to auto patch os schedule - https://github.com/Security-Onion-Solutions/securityonion/issues/4985 2021-07-29 10:48:24 -04:00
Jason Ertel
8ed264460f Do not prompt about uppercased hostname during testing 2021-07-29 10:45:35 -04:00
William Wernert
811b32735e Merge branch 'dev' into foxtrot 2021-07-29 09:52:29 -04:00
Mike Reeves
4b3db0c4d2 Merge pull request #4972 from Security-Onion-Solutions/mkr2361
Fix Manager Search
2021-07-28 17:08:40 -04:00
Mike Reeves
281ba21298 Merge pull request #4956 from Security-Onion-Solutions/kilo
Merge master to dev
2021-07-28 17:07:58 -04:00
Mike Reeves
d4a177949a Fix Manager Search 2021-07-28 17:05:16 -04:00
Mike Reeves
a42d8c9229 Fix Manager Search 2021-07-28 17:03:14 -04:00
William Wernert
dd0e407935 Use correct container name 2021-07-28 15:06:38 -04:00
William Wernert
7ef5b39b04 [wip] Fix 'Nonetype' object is not callable error 2021-07-28 14:28:00 -04:00
William Wernert
cf9121dfc2 Actually download so-learn container 2021-07-28 14:13:16 -04:00
Josh Patterson
fcfc2a65a9 Merge pull request #4968 from Security-Onion-Solutions/issue/3933
allow for sampleSize adjustment in kibana
2021-07-28 11:13:49 -04:00
William Wernert
91accb0bc6 [wip] Fixing so-learn script 2021-07-28 10:12:32 -04:00
William Wernert
e2abe8840f Fix directory in logscan state 2021-07-28 10:12:19 -04:00
m0duspwnens
ead9ae8cb5 fix merge and defaults passed 2021-07-28 09:58:38 -04:00
William Wernert
455719936b Uncomment required lines in so-learn 2021-07-28 09:53:35 -04:00
William Wernert
8d56fc71fa Fix jinja length calculation 2021-07-28 09:53:24 -04:00
William Wernert
833d154bf4 Merge branch 'dev' into foxtrot 2021-07-28 09:50:11 -04:00
William Wernert
f31dc5abc7 Add learn to allowed states 2021-07-28 09:49:59 -04:00
m0duspwnens
9a429230fe wrap with raw due to {{value}} 2021-07-28 09:39:35 -04:00
m0duspwnens
b36d46b7f2 change to jinja tem,plate 2021-07-28 09:27:44 -04:00
m0duspwnens
fee89665fd dict not list for defaults 2021-07-28 09:18:15 -04:00
m0duspwnens
d78a37f9e3 allow for control of kibana discover sampleSize - https://github.com/Security-Onion-Solutions/securityonion/issues/3933 2021-07-28 09:12:31 -04:00
Jason Ertel
28c5c02ef1 Merge pull request #4958 from Security-Onion-Solutions/issue/4024
https://github.com/Security-Onion-Solutions/securityonion/issues/4024
2021-07-27 16:21:13 -04:00
m0duspwnens
8ffeae38bc https://github.com/Security-Onion-Solutions/securityonion/issues/4024 2021-07-27 16:16:48 -04:00
William Wernert
f4fae7938e Merge branch 'dev' into foxtrot 2021-07-27 16:01:44 -04:00
Jason Ertel
22920bc9a1 clear out hotfix from merge 2021-07-27 14:42:11 -04:00
Jason Ertel
ceb82cb863 Merge branch 'master' into kilo 2021-07-27 14:40:31 -04:00
Mike Reeves
1caa361e22 Merge pull request #4955 from Security-Onion-Solutions/hotfix/2.3.61
Hotfix/2.3.61
2021-07-27 14:33:31 -04:00
Mike Reeves
da20790238 Merge pull request #4954 from Security-Onion-Solutions/mkr2361
Steno ISO Details
2021-07-27 11:11:22 -04:00
Mike Reeves
f359dd0cd4 Steno ISO Details 2021-07-27 11:09:25 -04:00
Josh Patterson
bee442a21f Merge pull request #4950 from Security-Onion-Solutions/issue/4674
Issue/4674
2021-07-27 10:28:02 -04:00
m0duspwnens
a66765e99b remove old dashboards, set default refresh to 5m 2021-07-27 10:23:35 -04:00
m0duspwnens
0db7f91eb4 Merge remote-tracking branch 'remotes/origin/dev' into issue/4674 2021-07-27 08:53:31 -04:00
m0duspwnens
850315dc20 remove role conditional from all panel queiries 2021-07-27 08:47:44 -04:00
Mike Reeves
d35e4bea01 Merge pull request #4932 from Security-Onion-Solutions/issue/4922
Issue/4922
2021-07-26 16:18:22 -04:00
Jason Ertel
356b623148 Merge pull request #4937 from Security-Onion-Solutions/kilo
Add Azure automations
2021-07-26 16:13:57 -04:00
Jason Ertel
3a022e7a83 Add Azure automations 2021-07-26 15:50:15 -04:00
William Wernert
64945cec16 [wip] Initial work to enable/disable "learn" modules 2021-07-26 14:24:10 -04:00
Jason Ertel
26741bdb53 Add wss: to CSP for browsers that enforce wss distinctly from other protocols 2021-07-26 10:55:30 -04:00
m0duspwnens
7aa5e857ed update hotfix file 2021-07-26 10:46:52 -04:00
m0duspwnens
2e277bf487 change container to abesent of pcap is disabled 2021-07-26 10:08:59 -04:00
m0duspwnens
e4f46c6e14 hide role template var from all dash except overview 2021-07-26 09:36:05 -04:00
m0duspwnens
e9d90644fd fix query and allow for setting text and value of servername template var 2021-07-23 16:52:07 -04:00
m0duspwnens
5a06f0dce9 role template var now selects default role 2021-07-23 16:34:58 -04:00
m0duspwnens
08e9a58f2e simply to one servername.json 2021-07-23 16:09:25 -04:00
m0duspwnens
e1f0c8e87c add "list" bast to tempating defs for overview 2021-07-23 15:43:31 -04:00
m0duspwnens
17a532f7b5 add new templating defs to overview 2021-07-23 15:41:03 -04:00
m0duspwnens
c7306dda12 fix servername_eval template var, test using 1 servername template var 2021-07-23 15:38:45 -04:00
m0duspwnens
00d311cd6c fix nodetype listing 2021-07-23 14:40:44 -04:00
m0duspwnens
f8d2a7f449 fix nodetype listing 2021-07-23 13:43:35 -04:00
m0duspwnens
a02a928996 add missing ] 2021-07-23 13:33:25 -04:00
m0duspwnens
eb661b7a24 add ability to set title for dashboards, only create dashboards/dirs if that node type exists 2021-07-23 13:31:44 -04:00
m0duspwnens
6aea607f21 Merge remote-tracking branch 'remotes/origin/dev' into issue/4674 2021-07-23 11:12:48 -04:00
m0duspwnens
41e747dcc1 add servername_all template var 2021-07-23 10:55:15 -04:00
m0duspwnens
d3d02faa1c remove detailed 2021-07-23 10:52:30 -04:00
m0duspwnens
7a85a3c7f7 move dashboard location 2021-07-23 10:20:57 -04:00
m0duspwnens
fceb2851ef add eval dashboard 2021-07-23 09:02:40 -04:00
William Wernert
2f118781ea Merge branch 'dev' into foxtrot 2021-07-23 08:54:08 -04:00
William Wernert
b8e3a45a7e [wip] Add logscan state
Do not add state to top file or setup yet, script will be written to enable the feature shortly
2021-07-23 08:53:45 -04:00
m0duspwnens
61312397e1 update container uptime panel 2021-07-23 08:25:43 -04:00
m0duspwnens
8ea4682aab add docker container uptime to overview dash 2021-07-23 07:34:01 -04:00
m0duspwnens
3b6befdb97 adjust gridpos 2021-07-22 15:05:37 -04:00
m0duspwnens
613979ea3f remove extra comma 2021-07-22 15:03:58 -04:00
m0duspwnens
191def686b add packet loss panels 2021-07-22 15:02:06 -04:00
Mike Reeves
f986e0dc78 Merge pull request #4892 from Security-Onion-Solutions/kilo
Merge master back to dev
2021-07-22 14:37:40 -04:00
Jason Ertel
08e75567d4 merge master to kilo 2021-07-22 14:34:24 -04:00
Mike Reeves
668199f1a8 Merge pull request #4889 from Security-Onion-Solutions/2361update
2.3.61
2021-07-22 14:29:13 -04:00
Jason Ertel
7a753a56ec Update README with 2.3.61 2021-07-22 13:54:04 -04:00
m0duspwnens
7b38b4e280 fix {{}} 2021-07-22 13:36:44 -04:00
m0duspwnens
7dc2e2ca73 add option to hide trend on zeek packet loss graph 2021-07-22 13:35:25 -04:00
m0duspwnens
44eb23615a change to packet_loss 2021-07-22 13:20:19 -04:00
m0duspwnens
d47566f667 remove monitor inbound graph 2021-07-22 13:18:31 -04:00
m0duspwnens
9ae84c8108 add network and tool packetloss panels to overview 2021-07-22 13:16:39 -04:00
Mike Reeves
578c7aac35 2.3.61 2021-07-22 13:06:26 -04:00
m0duspwnens
1c460cc19c fix traffic overview graphs 2021-07-22 10:31:47 -04:00
m0duspwnens
ff436aea93 allow multi and all for manint and monint vars 2021-07-22 10:06:31 -04:00
m0duspwnens
aa333794f7 add disk usage percent graphs 2021-07-22 09:54:17 -04:00
doug
3d3593a1a9 FIX: Suricata dns.response.code needs to be renamed to dns.response.code_name #4770 2021-07-22 09:50:21 -04:00
Jason Ertel
257062e20c Update release notes link to match top right menu for airgap 2021-07-22 09:48:34 -04:00
doug
fa9d7afb46 FIX: Airgap link to Release Notes #4685 2021-07-22 09:42:37 -04:00
m0duspwnens
ae5f351e1a change row name 2021-07-22 09:31:17 -04:00
m0duspwnens
257a88ec8e change row name 2021-07-22 09:30:43 -04:00
m0duspwnens
e1e6304a8a rename 2021-07-22 09:29:37 -04:00
m0duspwnens
a81ef0017c rename panels source, reorg overview 2021-07-22 09:15:22 -04:00
m0duspwnens
b89162e086 change id 2021-07-22 08:01:54 -04:00
m0duspwnens
a6630540a4 add system uptime graph to overview dash 2021-07-21 18:11:42 -04:00
m0duspwnens
a528c5d54b role first var for overview 2021-07-21 17:41:53 -04:00
m0duspwnens
690699ddf7 update template vars to use regex for $servername 2021-07-21 17:17:23 -04:00
m0duspwnens
cd8d9c657e add mgmt interface traffic graphs to overview 2021-07-21 16:24:16 -04:00
m0duspwnens
f732b80b92 add swap usage percent to overview dash 2021-07-21 15:48:04 -04:00
Jason Ertel
ad8c12afa5 Upgrade ES to 7.13.4 2021-07-21 15:07:02 -04:00
m0duspwnens
479fcb6c46 add panel for memory usage percent 2021-07-21 15:00:05 -04:00
Jason Ertel
74874dfff2 Allow web pages to load blob data 2021-07-21 14:59:33 -04:00
m0duspwnens
ceb108a5fe set min yaxes to 0 2021-07-21 14:47:57 -04:00
m0duspwnens
235d8b7cf0 ensure role matches 2021-07-21 14:44:07 -04:00
Mike Reeves
7c9df2d75a Update HOTFIX 2021-07-21 14:40:53 -04:00
Mike Reeves
43bf75217f Update VERSION 2021-07-21 14:40:23 -04:00
m0duspwnens
9bf6d478c5 remove $col var 2021-07-21 14:36:08 -04:00
m0duspwnens
e2baa93270 remove role from node_config for telegraf 2021-07-21 14:32:01 -04:00
m0duspwnens
37fcda3817 add cpu row and panels to overview dashboard 2021-07-21 14:30:41 -04:00
m0duspwnens
457ae54341 role var 2021-07-21 11:50:06 -04:00
m0duspwnens
4cc3c5ada9 add role template var to overview dashboard 2021-07-21 11:35:02 -04:00
m0duspwnens
07d5736d61 change sort of legend 2021-07-21 11:33:48 -04:00
m0duspwnens
a7551a44e5 allow multi and all on servername_all template var 2021-07-21 11:29:30 -04:00
m0duspwnens
f4d3e13c7f begin overview dashboard 2021-07-21 11:26:02 -04:00
m0duspwnens
47d82b3d35 sort desc remaining tooltips 2021-07-21 10:36:07 -04:00
m0duspwnens
9d06aff1d1 add manager dashboard 2021-07-21 10:23:39 -04:00
m0duspwnens
5ea8c978a0 add managersearch 2021-07-21 10:16:40 -04:00
m0duspwnens
6809c3a9f6 add mastersearch dashboard 2021-07-21 10:13:43 -04:00
m0duspwnens
761108964e remove panels from searchnode dashboard 2021-07-21 10:05:43 -04:00
m0duspwnens
e3e74a84f2 test sort tooltip descending 2021-07-21 10:00:14 -04:00
m0duspwnens
1fee4e87c4 add searchnode dashboard 2021-07-21 09:51:49 -04:00
m0duspwnens
0c4c59375d sort container uptime ascending 2021-07-21 09:11:39 -04:00
Mike Reeves
09165daab8 Several Suricata things 2021-07-21 09:10:33 -04:00
m0duspwnens
3393b77535 add sensor dashboard 2021-07-21 08:54:26 -04:00
m0duspwnens
d050bc02e2 dont show legend for docker uptime trend 2021-07-20 16:29:49 -04:00
m0duspwnens
af60ddf404 add docker container uptime graph 2021-07-20 16:28:07 -04:00
m0duspwnens
1bb92f63d1 add docker details 2021-07-20 15:21:59 -04:00
m0duspwnens
a405ca39fa add redis.sh for telegraf on heavynodes 2021-07-20 14:31:09 -04:00
m0duspwnens
852b686d81 add servername vars for each role 2021-07-20 14:25:56 -04:00
m0duspwnens
608d5d3c26 change uid logic 2021-07-20 14:10:26 -04:00
m0duspwnens
6038ebb705 handle multile nodetpes and uid 2021-07-20 14:04:28 -04:00
m0duspwnens
4bb350d37d add heavynode 2021-07-20 13:55:52 -04:00
m0duspwnens
d01ac55db1 add heavynode 2021-07-20 13:55:18 -04:00
Jason Ertel
fcde5c3c18 Merge pull request #4865 from Security-Onion-Solutions/kilo
Merge curator hotfix into dev
2021-07-20 11:47:49 -04:00
Jason Ertel
dbf19e134f Merge branch 'master' into kilo 2021-07-20 11:44:10 -04:00
Mike Reeves
b13c5a3b8b Merge pull request #4863 from Security-Onion-Solutions/hotfix/2.3.60
Hotfix/2.3.60 CuratorFix
2021-07-20 11:02:34 -04:00
m0duspwnens
b0c5a352c1 remove old panaels 2021-07-20 10:53:47 -04:00
m0duspwnens
d0b3cd5f66 add the detailed dash dir 2021-07-20 10:50:40 -04:00
m0duspwnens
24efdec9ea cap the var 2021-07-20 10:48:46 -04:00
m0duspwnens
1bed818a8e fix jinja 2021-07-20 10:47:10 -04:00
m0duspwnens
3c4c52567d fix jinja 2021-07-20 10:46:41 -04:00
m0duspwnens
87ae14d11c fix jinja 2021-07-20 10:44:32 -04:00
m0duspwnens
258d303e7f change how dashboards are deployed 2021-07-20 10:43:00 -04:00
m0duspwnens
458350e1a8 new redis queue stat panel, change to lastnotnull 2021-07-20 09:45:28 -04:00
Mike Reeves
fe7ee1e2c7 Merge pull request #4862 from Security-Onion-Solutions/curatorfix
Curator Fix
2021-07-20 09:26:54 -04:00
m0duspwnens
d8910a0097 add redis queue to overview, reposition overview panels 2021-07-20 09:22:43 -04:00
Mike Reeves
3b6e683d37 Curator Fix 2021-07-20 09:21:22 -04:00
m0duspwnens
90f6bad6ce panel title change 2021-07-20 08:54:39 -04:00
m0duspwnens
fcc6802f86 convert all singlestat to stat 2021-07-20 08:51:53 -04:00
m0duspwnens
3b9bc77ecc remove scopedvars 2021-07-19 17:51:43 -04:00
m0duspwnens
0fb4500fcc add legends 2021-07-19 17:39:32 -04:00
m0duspwnens
93ca00c7fe change min y 2021-07-19 17:29:57 -04:00
m0duspwnens
522f2a3f9f maxdatapoints and min interval 2021-07-19 17:19:56 -04:00
m0duspwnens
40ddf5f49c fix cords 2021-07-19 16:30:02 -04:00
m0duspwnens
60356eacce make the ids unique 2021-07-19 16:26:09 -04:00
m0duspwnens
158f3bf092 add row_stenographer 2021-07-19 16:18:02 -04:00
m0duspwnens
ebf3c65bed add many more panels 2021-07-19 16:02:40 -04:00
William Wernert
df6d1d72e2 Merge branch 'dev' into feature/logscan 2021-07-19 15:19:59 -04:00
weslambert
72542322ca Merge pull request #4857 from Security-Onion-Solutions/fix/beats_output_fb_modules
Check if Filebeat modules are being used for incoming (external) Beats
2021-07-19 13:11:06 -04:00
weslambert
fea4f3f973 Check if Filebeat modules are being used for incoming Beats 2021-07-19 12:57:42 -04:00
Mike Reeves
7878180f54 Merge pull request #4854 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update HOTFIX
2021-07-19 12:50:23 -04:00
Mike Reeves
0669aa6bbd Update HOTFIX 2021-07-19 12:49:43 -04:00
Mike Reeves
2c4924a602 Merge pull request #4853 from Security-Onion-Solutions/fix/curator_http_auth
Use http_auth instead of username/password until Curator is updated to latest version
2021-07-19 12:45:29 -04:00
weslambert
bde86e0383 Use http_auth instead of username/password until Curator is upgraded to next version 2021-07-19 12:42:46 -04:00
Jason Ertel
bab18275bc Merge pull request #4836 from Security-Onion-Solutions/fix/airgap-release-notes
FIX: Airgap link to Release Notes #4685
2021-07-17 11:05:33 -04:00
doug
7e86681509 FIX: Airgap link to Release Notes #4685 2021-07-16 16:50:49 -04:00
William Wernert
c2fc2df54c Merge pull request #4835 from Security-Onion-Solutions/feature/uppercase-warning
Show warning to user when trying to use uppercase characters in hostname or domain name
2021-07-16 15:44:47 -04:00
William Wernert
0deb77468f Change uppercase regex
Check for any uppercase characters rather than revalidating input sans uppercase
2021-07-16 15:39:09 -04:00
William Wernert
9bf1d3e0c6 Misc fixes 2021-07-16 14:59:44 -04:00
William Wernert
3a12d28d20 Merge branch 'dev' into feature/logscan 2021-07-16 14:13:19 -04:00
William Wernert
e8ba4bdc6c Add quotes to string 2021-07-16 14:07:23 -04:00
William Wernert
b552973e00 Add logic to show uppercase warning message when appropriate 2021-07-15 16:36:46 -04:00
William Wernert
ac98e1fd0f Remove testing default values, change wording, set default option to no 2021-07-15 16:36:24 -04:00
m0duspwnens
4246aac51b unhide disk var 2021-07-15 13:57:43 -04:00
William Wernert
33f396bdae Add uppercase warning function 2021-07-15 13:53:57 -04:00
William Wernert
ff25cecd54 Remove unused function 2021-07-15 13:53:31 -04:00
m0duspwnens
e88b258208 add maxDataPoints and min interval to more panels 2021-07-15 11:53:24 -04:00
m0duspwnens
1cbf895e0e add missing , 2021-07-15 11:27:19 -04:00
m0duspwnens
7dc1f5c445 add maxDataPoints and min interval to some panels for testing 2021-07-15 11:25:20 -04:00
m0duspwnens
439e049948 revert to $__interval 2021-07-15 10:17:21 -04:00
m0duspwnens
fbf26bef8d test new groupby interval for trend on monitor packets 2021-07-15 08:42:53 -04:00
m0duspwnens
c1f550382c remove interval var 2021-07-15 08:31:42 -04:00
m0duspwnens
23fb6a5c02 rename 2021-07-14 18:04:33 -04:00
m0duspwnens
d632266092 fix jinja 2021-07-14 18:01:56 -04:00
m0duspwnens
4ea3ab9538 add disk iops graphs 2021-07-14 17:58:49 -04:00
m0duspwnens
725161ea6e fix datasource 2021-07-14 16:07:14 -04:00
m0duspwnens
fccd86f676 add disk var to standalone 2021-07-14 16:04:55 -04:00
m0duspwnens
0f0a977ed9 add disk var 2021-07-14 16:04:17 -04:00
Jason Ertel
7f9d0b59b8 Merge pull request #4808 from Security-Onion-Solutions/kilo
Merge hotfix from master into dev; add `so-firewall apply` feature to dev
2021-07-14 15:49:12 -04:00
m0duspwnens
b0d510167c change title 2021-07-14 15:36:26 -04:00
m0duspwnens
4971933201 rename file 2021-07-14 15:34:39 -04:00
m0duspwnens
693a9b30ae add swap, adjust cords 2021-07-14 15:33:28 -04:00
Jason Ertel
76c285158a Merge branch 'master' into kilo 2021-07-14 15:24:35 -04:00
Jason Ertel
08517e3732 Merge branch 'dev' into kilo 2021-07-14 15:24:29 -04:00
m0duspwnens
59530f4263 cahnge nullPointMode 2021-07-14 14:54:48 -04:00
Mike Reeves
5d48fb41ba Merge pull request #4800 from Security-Onion-Solutions/hotfix/2.3.60 2021-07-14 14:54:00 -04:00
m0duspwnens
4acebe7f59 replace $interval with $__interval 2021-07-14 14:47:02 -04:00
m0duspwnens
a44a7b7161 change title 2021-07-14 14:45:17 -04:00
m0duspwnens
be13f0a066 change id 2021-07-14 14:31:25 -04:00
m0duspwnens
98ce77c2b1 add disk usage graphs 2021-07-14 14:28:25 -04:00
m0duspwnens
275a491cac cords 2021-07-14 13:44:47 -04:00
m0duspwnens
1c868f85c4 fix cords; 2021-07-14 13:25:17 -04:00
m0duspwnens
b6deacf86d cords 2021-07-14 13:11:48 -04:00
Mike Reeves
ebe5ef6535 Merge pull request #4799 from Security-Onion-Solutions/agsoupupdate
Update ISO info
2021-07-14 12:07:35 -04:00
m0duspwnens
294f91473c fix packets legend 2021-07-14 11:49:24 -04:00
m0duspwnens
902f04efb4 set 0 as min 2021-07-14 11:44:14 -04:00
m0duspwnens
ca2989c0e5 fix network cords 2021-07-14 11:42:01 -04:00
m0duspwnens
2d9697cd66 fix network cords 2021-07-14 11:40:31 -04:00
m0duspwnens
b4111a9f79 fix network cords 2021-07-14 11:38:16 -04:00
m0duspwnens
7f8212fdba add trend, add network graphs 2021-07-14 11:31:48 -04:00
weslambert
7e1be8a3a4 Merge pull request #4798 from Security-Onion-Solutions/fix/strelka_filepath_mapping
Replace staging with processed in Strelka file path mapping
2021-07-14 11:16:15 -04:00
Wes Lambert
05aad07bfc Replace staging path with processed path for analyzed files 2021-07-14 15:04:46 +00:00
Mike Reeves
92a80f9a58 Update ISO info 2021-07-14 10:30:10 -04:00
m0duspwnens
4b4ceb525a trends for load and process status 2021-07-14 10:29:35 -04:00
weslambert
42ba9888d7 Merge pull request #4797 from Security-Onion-Solutions/fix/wazuh_data_port
Change field name and mapping for Wazuh's data.port
2021-07-14 10:14:53 -04:00
William Wernert
818f912a90 [fix] Remove indent 2021-07-14 10:13:14 -04:00
m0duspwnens
dae64b82ff add trend to cpu 2021-07-14 10:09:34 -04:00
m0duspwnens
53c6edcbdb add trends memory usage and network graphs 2021-07-14 09:57:43 -04:00
Wes Lambert
723172bc1f Add path_unmatch for data.port so it is not mapped as integer 2021-07-14 13:45:09 +00:00
Wes Lambert
323b5d6694 Add dynamic mapping for wazuh 2021-07-14 13:43:34 +00:00
Wes Lambert
441cd3fc59 Move Wazuh-specific data to wazuh.data 2021-07-14 13:42:51 +00:00
m0duspwnens
1d23d1b2e2 start network row 2021-07-14 09:21:46 -04:00
Jason Ertel
1dd81b6d49 Merge pull request #4790 from Security-Onion-Solutions/agsoupupdate
Remove old airgap scripts
2021-07-13 15:45:45 -04:00
Mike Reeves
741e825ab9 Remove old airgap scripts 2021-07-13 15:44:26 -04:00
William Wernert
e41811fbd0 [fix] Typo 2021-07-13 15:14:13 -04:00
m0duspwnens
f111106a9f fix cords 2021-07-13 14:13:19 -04:00
m0duspwnens
f9e29eaede update memory usage graph panel 2021-07-13 14:09:23 -04:00
William Wernert
e7a6172d7e [fix] Add single quotes to strings 2021-07-13 14:07:27 -04:00
m0duspwnens
ec8f9228e8 add memory and docker container rows 2021-07-13 14:01:42 -04:00
m0duspwnens
6c12e26632 add mem usage, add docker graphs back, update nsm usage thresh 2021-07-13 13:55:01 -04:00
m0duspwnens
9a6ac7bd20 change panels 2021-07-13 12:30:45 -04:00
m0duspwnens
5b3751da70 new load averages panel 2021-07-13 12:24:32 -04:00
m0duspwnens
65127eb226 fix servername var 2021-07-13 12:04:52 -04:00
William Wernert
115e0a6fee [fix] Add missing comma 2021-07-13 12:04:10 -04:00
m0duspwnens
ddfab44883 new id 2021-07-13 11:59:01 -04:00
Mike Reeves
6eab390962 Merge pull request #4788 from Security-Onion-Solutions/fix/fbpipeline
Only route to FB module pipeline if filebeat in metadata
2021-07-13 11:40:58 -04:00
Mike Reeves
35388056d3 Merge pull request #4789 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update HOTFIX
2021-07-13 11:40:44 -04:00
Mike Reeves
e2c5967191 Update HOTFIX 2021-07-13 11:38:20 -04:00
weslambert
7cdb967810 Only route to FB module pipeline if filebeat in metadata 2021-07-13 11:36:18 -04:00
m0duspwnens
8900d52c33 change y 2021-07-13 11:30:14 -04:00
m0duspwnens
bab72393e6 query and id changes 2021-07-13 11:23:06 -04:00
William Wernert
e059c25ebc [fix][wip] Fix pipeline parsing errors 2021-07-13 11:05:05 -04:00
m0duspwnens
c87ca8f5dc spacing 2021-07-13 10:42:33 -04:00
m0duspwnens
e01e3cdd43 change file name 2021-07-13 10:25:26 -04:00
m0duspwnens
2ab9ade761 add missing gridPos 2021-07-13 10:22:48 -04:00
m0duspwnens
0b35b8f6d6 add cpu row 2021-07-13 10:19:20 -04:00
William Wernert
9ff95f66dd Merge branch 'dev' into feature/logscan 2021-07-13 10:02:58 -04:00
William Wernert
c1523c4936 Merge pull request #4782 from Security-Onion-Solutions/feature/check-local-mods
Add jinja raw tag
2021-07-13 08:58:25 -04:00
m0duspwnens
b6e31278a7 move old panels into old for organization 2021-07-13 08:57:01 -04:00
William Wernert
ca2b24f735 Add jinja raw tag 2021-07-13 08:46:57 -04:00
William Wernert
2b0bca8e55 Merge branch 'dev' into feature/logscan 2021-07-12 14:58:30 -04:00
m0duspwnens
98fe7e8700 fix mean 2021-07-12 14:37:17 -04:00
m0duspwnens
0acc3cc537 rename 2021-07-12 14:32:37 -04:00
m0duspwnens
8491ffde07 add docker container network usage graphs 2021-07-12 14:18:54 -04:00
Doug Burks
2ea3989497 Merge pull request #4775 from Security-Onion-Solutions/fix/suricata-dns-response-code
FIX: Suricata dns.response.code needs to be renamed to dns.response.code_name #4770
2021-07-12 13:40:14 -04:00
doug
e6f9592cde FIX: Suricata dns.response.code needs to be renamed to dns.response.code_name #4770 2021-07-12 13:24:21 -04:00
William Wernert
222d79bf53 Merge pull request #4774 from Security-Onion-Solutions/feature/check-local-mods
Compare local files to their defaults to check for potentially breaking changes
2021-07-12 12:00:18 -04:00
m0duspwnens
19d9258717 add postfix , change color 2021-07-12 11:22:48 -04:00
m0duspwnens
b46456b78e move math, add 2 decimal spot 2021-07-12 11:16:33 -04:00
m0duspwnens
cebc2ef09d add missing , 2021-07-12 11:13:32 -04:00
m0duspwnens
c4ff8f6876 convert seconds to days 2021-07-12 11:12:28 -04:00
m0duspwnens
619022ef7f 2 new panels to overview 2021-07-12 11:09:23 -04:00
weslambert
c0f3c5b3db Merge pull request #4773 from Security-Onion-Solutions/feature/filebeat-logging-level
Allow setting Filebeat logging level in pillar
2021-07-12 10:55:43 -04:00
m0duspwnens
860b8bf945 panel changes 2021-07-12 10:34:39 -04:00
m0duspwnens
694db81b80 fix locations and panel ids 2021-07-12 10:29:09 -04:00
weslambert
a895270bc8 Allow setting Filebeat logging level in pillar 2021-07-12 10:27:43 -04:00
m0duspwnens
7474b451ca rename file 2021-07-12 10:24:12 -04:00
m0duspwnens
e8eecc8bc1 rename file 2021-07-12 10:22:25 -04:00
m0duspwnens
28e33b413c add more panels for overview 2021-07-12 10:17:23 -04:00
Jason Ertel
78c58e61ea Resolves #4765 2021-07-12 09:38:01 -04:00
William Wernert
f3ecdf21bf Revert "Add newline to local modifications warning"
This reverts commit ff656365d2.
2021-07-12 09:28:24 -04:00
William Wernert
ff656365d2 Add newline to local modifications warning 2021-07-12 09:22:22 -04:00
William Wernert
ea7c09bb00 Merge branch 'dev' into feature/check-local-mods 2021-07-12 09:20:10 -04:00
Jason Ertel
e23f7cd3e7 Merge pull request #4766 from Security-Onion-Solutions/kilo
Bump version to 2.3.70
2021-07-10 13:01:54 -04:00
Jason Ertel
c6bb32b862 Bump version to 2.3.70 2021-07-10 07:34:52 -04:00
m0duspwnens
0bde69b441 update panel 2021-07-09 16:47:39 -04:00
m0duspwnens
6fbafb74bd update panel 2021-07-09 16:45:02 -04:00
m0duspwnens
9572c1f663 fix var 2021-07-09 16:33:09 -04:00
m0duspwnens
0fedb0f2c5 add 5 minute load avg panel 2021-07-09 16:29:48 -04:00
m0duspwnens
33d3aef9f5 yamlize gridpos 2021-07-09 16:14:25 -04:00
m0duspwnens
fb8ccedf66 reduce height by 2 2021-07-09 16:04:55 -04:00
m0duspwnens
efcf0accc1 change IDs 2021-07-09 16:01:57 -04:00
m0duspwnens
f556d5c07d change row id 2021-07-09 15:58:45 -04:00
m0duspwnens
6c1f424c0b fix row_overview 2021-07-09 15:56:27 -04:00
William Wernert
90970f97e8 Add function to check if files copied to local have been changed in default 2021-07-09 15:44:27 -04:00
m0duspwnens
d3137dc6b9 add row panels 2021-07-09 15:43:51 -04:00
m0duspwnens
efaf53f2f7 add a panel header, change memeory usage panel 2021-07-09 15:13:50 -04:00
m0duspwnens
beb7b89275 yamlize the gridpos for panels 2021-07-09 14:13:00 -04:00
Jason Ertel
8c15fa1627 Merge pull request #4758 from Security-Onion-Solutions/kilo
Upgrade to ES 7.13.3; Use nginx reverse proxy for access to Playbook and Soctopus
2021-07-09 12:40:33 -04:00
m0duspwnens
bc814c9be6 new panels, add containers var, hide manint and monint var from dash 2021-07-09 11:21:06 -04:00
William Wernert
bac7ef71d8 Add logscan.source.ips field 2021-07-09 10:55:11 -04:00
m0duspwnens
dd199ea30f remove quotes if pillar doesnt exist 2021-07-09 10:00:47 -04:00
m0duspwnens
fc8acac1a5 change id 2021-07-08 17:39:34 -04:00
m0duspwnens
fec269c3e7 add combined container mem panel 2021-07-08 17:28:18 -04:00
m0duspwnens
8e366fd633 add combined container mem panel 2021-07-08 17:27:51 -04:00
m0duspwnens
f7d54186dd remove all panels from standalone 2021-07-08 17:11:33 -04:00
m0duspwnens
ab92fb3910 add cpucount to standalone 2021-07-08 17:08:45 -04:00
m0duspwnens
6783e2e28b dont hide cpucount on dashboard 2021-07-08 17:06:21 -04:00
m0duspwnens
4e47d3f458 remove single quotes 2021-07-08 17:04:41 -04:00
m0duspwnens
b265c7dcb7 single quote cpucount 2021-07-08 17:00:17 -04:00
m0duspwnens
f4fae89b8e fix copy paste error 2021-07-08 16:50:25 -04:00
m0duspwnens
45f0b4c85f manint and monint 2021-07-08 16:43:53 -04:00
m0duspwnens
7c80483f6e change CPUS to $cpucount 2021-07-08 16:39:14 -04:00
Jason Ertel
08ba4fdbee Update Kibana saved objects to 7.13.3 2021-07-08 16:34:16 -04:00
m0duspwnens
7085796601 replace SERVERNAME with $servername 2021-07-08 16:33:21 -04:00
m0duspwnens
091b5f73b1 update var 2021-07-08 14:43:38 -04:00
Jason Ertel
0c079edc1a Reverse proxy requests to playbook, soctopus, and nodered 2021-07-08 14:27:16 -04:00
m0duspwnens
54cdfb89f6 remove common_standalone.json.jinja 2021-07-08 14:14:40 -04:00
m0duspwnens
f56514ed7d Merge remote-tracking branch 'remotes/origin/dev' into issue/4674 2021-07-08 14:12:26 -04:00
m0duspwnens
56697fde19 create common dashboard and define templates/dashbaord vars 2021-07-08 14:10:22 -04:00
William Wernert
80525ee736 [wip] Add logscan pipeline 2021-07-08 12:29:50 -04:00
Jason Ertel
a43bdd9aad Merge pull request #4723 from Security-Onion-Solutions/dev
HEAVYNODE_REDIS hotfix
2021-07-08 11:42:22 -04:00
m0duspwnens
20360d0bb0 create node_config measurement for nodes to be used for grafana dashboard vars 2021-07-08 11:18:25 -04:00
Josh Patterson
70d7513f84 Merge pull request #4729 from Security-Onion-Solutions/fix/heavyfix
Fix/heavyfix
2021-07-07 14:49:38 -04:00
Josh Patterson
12b7fd3ab4 whitespace 2021-07-07 14:48:07 -04:00
Josh Patterson
c32b5b5429 whitespace 2021-07-07 14:47:16 -04:00
Josh Patterson
ea2a748dba whitespace 2021-07-07 14:44:44 -04:00
Josh Patterson
c1d7d8c55a add new line 2021-07-07 14:43:20 -04:00
Josh Patterson
a3c58d8445 remove heavy soup 2021-07-07 14:42:38 -04:00
Josh Patterson
cfc5c2aef6 do ; instead of && 2021-07-07 14:32:57 -04:00
Josh Patterson
313260a0c5 add heavy action in soup for ssl redis, es, ls, fb 2021-07-07 14:22:45 -04:00
Josh Patterson
ee548aaf83 Merge pull request #4728 from Security-Onion-Solutions/fix/heavyfix
remove soup control of heavy
2021-07-07 14:01:32 -04:00
m0duspwnens
5eab57e500 remove soup control of heavy 2021-07-07 13:58:52 -04:00
Josh Patterson
6f48fdad42 Merge pull request #4727 from Security-Onion-Solutions/fix/heavyfix
Fix/heavyfix
2021-07-07 12:15:50 -04:00
m0duspwnens
98fb5109d7 tell heavys to update ssl and restart containers for HEAVYNODE_SSL_LOGSTASH_REDIS_PIPELINES hotfix 2021-07-07 12:05:38 -04:00
m0duspwnens
9c2ead16cc common name changes, allow cert to be managed regardless of expire date for heavy node 2021-07-07 10:22:37 -04:00
Jason Ertel
c4293c6119 Merge pull request #4724 from Security-Onion-Solutions/kilo
Merge master into dev via kilo
2021-07-07 07:21:21 -04:00
Jason Ertel
13c392d758 Merge branch 'master' into kilo 2021-07-07 06:40:30 -04:00
m0duspwnens
35f10518b2 map file into container 2021-07-06 17:12:21 -04:00
m0duspwnens
03066c4674 rename file 2021-07-06 17:08:29 -04:00
m0duspwnens
e33a6892b3 point to new location 2021-07-06 16:58:15 -04:00
m0duspwnens
87bb3f4a6b quote the 5m 2021-07-06 16:45:10 -04:00
m0duspwnens
62bfaa4e45 send node_config data into telegraf for dashboard queries 2021-07-06 16:30:35 -04:00
Josh Patterson
9e94e605ee Merge pull request #4715 from Security-Onion-Solutions/fix/heavyfix
add to HOTFIX file
2021-07-06 16:01:11 -04:00
m0duspwnens
f8dc647b1f add to HOTFIX file 2021-07-06 15:59:35 -04:00
Josh Patterson
fc727d6909 Merge pull request #4711 from Security-Onion-Solutions/fix/heavyfix
Fix/heavyfix
2021-07-06 15:56:02 -04:00
m0duspwnens
c1d61dc624 add to HOTFIX file 2021-07-06 15:54:15 -04:00
m0duspwnens
0627ca2fc2 use heavynode hostname for certs if heavynode. changes to logstash pipeline for redis if heavynode 2021-07-06 15:32:39 -04:00
weslambert
ce0b064972 Add conditional for heavynode for redis and elasticsearch 2021-07-06 14:21:29 -04:00
weslambert
2f3f04e4ca Change from nodename to host 2021-07-06 14:18:39 -04:00
weslambert
2e91f27336 Add conditional for heavynode 2021-07-06 14:17:49 -04:00
weslambert
10b1829830 Add conditional for heavynode 2021-07-06 14:16:34 -04:00
weslambert
4946f32d88 Add extra_hosts entry for local instance when running as heavy node 2021-07-06 14:14:58 -04:00
m0duspwnens
dc1363aaf5 create file for telegraf to read node config details 2021-07-06 13:06:03 -04:00
m0duspwnens
a5067718d2 comma control 2021-07-06 11:06:35 -04:00
m0duspwnens
98505a9a3f beginning of managing individual panels in grafana 2021-07-06 10:08:36 -04:00
Mike Reeves
e054fdb464 Merge pull request #4680 from Security-Onion-Solutions/dev
ECSFIX HOTFIX
2021-07-02 11:16:49 -04:00
Mike Reeves
3c8ad18693 Merge pull request #4683 from Security-Onion-Solutions/2.3.60ecs
2.3.60 ECSFIX
2021-07-02 11:05:17 -04:00
Mike Reeves
0a91f571c1 2.3.60 ECSFIX 2021-07-02 10:41:15 -04:00
Mike Reeves
8db5284f6e Merge pull request #4679 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update telegraf.conf
2021-07-02 09:48:33 -04:00
Mike Reeves
22aa695508 Update telegraf.conf 2021-07-02 09:47:31 -04:00
m0duspwnens
a16f733622 add individual panels 2021-07-02 09:35:04 -04:00
Mike Reeves
af7d6c8cb5 Merge pull request #4678 from Security-Onion-Solutions/ecsfix1
ECS Hotfix
2021-07-02 09:14:42 -04:00
Mike Reeves
693f455862 ECS hotfix 2021-07-02 08:55:49 -04:00
Mike Reeves
b0abd290a9 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-07-02 08:47:02 -04:00
Mike Reeves
0a9686f584 Merge pull request #4669 from Security-Onion-Solutions/TOoSmOotH-patch-1
2.3.70
2021-07-01 14:39:01 -04:00
Mike Reeves
0b11bf6266 Update VERSION 2021-07-01 14:37:56 -04:00
Mike Reeves
73b47716bc Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-07-01 13:00:30 -04:00
Mike Reeves
b5fecd30cf Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-30 17:05:17 -04:00
Mike Reeves
a08166f27d Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-30 11:38:15 -04:00
Mike Reeves
846aef1bd6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-24 14:54:51 -04:00
Mike Reeves
78fa4feac6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-23 15:38:38 -04:00
Mike Reeves
6e780164ea Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-22 09:52:44 -04:00
Mike Reeves
85d7e75fb1 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-17 16:09:11 -04:00
Mike Reeves
0dc4bc3cee Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-17 13:30:58 -04:00
Mike Reeves
8d6b0e23ce Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-16 13:23:44 -04:00
Mike Reeves
8aaf3e1052 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-05-04 10:44:13 -04:00
Mike Reeves
21b92ac077 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-05-02 13:06:29 -04:00
Mike Reeves
96eab86bc6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-04-29 11:19:19 -04:00
Mike Reeves
4c55e5a6cc Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-04-28 10:27:55 -04:00
Mike Reeves
77533f7873 Repo Fix 2021-04-27 15:45:35 -04:00
Mike Reeves
a6b2eefee1 Prompt airgap to update 2021-04-27 15:33:52 -04:00
Mike Reeves
4cea08c080 Prompt airgap to update 2021-04-27 15:32:00 -04:00
Mike Reeves
d56e66917a 2.3.50 sig files 2021-04-26 09:18:15 -04:00
182 changed files with 16894 additions and 43114 deletions

2
HOTFIX
View File

@@ -1 +1 @@

View File

@@ -1,6 +1,6 @@
## Security Onion 2.3.60
## Security Onion 2.3.70
Security Onion 2.3.60 is here!
Security Onion 2.3.70 is here!
## Screenshots

View File

@@ -1,17 +1,18 @@
### 2.3.60 ISO image built on 2021/04/27
### 2.3.70 ISO image built on 2021/08/17
### Download and Verify
2.3.60 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.3.60.iso
2.3.70 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.3.70.iso
MD5: 0470325615C42C206B028EE37A1AD897
SHA1: 496E70BD529D3B8A02D0B32F68B8F7527C953612
SHA256: 417E34DFCD63D84A16FF2041DC712F02D9E0515C8B78BDF0EE1037DD13C32030
MD5: F048FABC7FD2D0E1A8B02381F115D1E0
SHA1: DF6D20FEF13CDC1B19309D2A1178D6E5D25FDA6F
SHA256: B193FFD7EE69958A8E257117149DCFB2125C5772FBFA6003AD80FD1CC129E571
Signature for ISO image:
https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.60.iso.sig
https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.70.iso.sig
Signing key:
https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/master/KEYS
@@ -25,22 +26,22 @@ wget https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/ma
Download the signature file for the ISO:
```
wget https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.60.iso.sig
wget https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.70.iso.sig
```
Download the ISO image:
```
wget https://download.securityonion.net/file/securityonion/securityonion-2.3.60.iso
wget https://download.securityonion.net/file/securityonion/securityonion-2.3.70.iso
```
Verify the downloaded ISO image using the signature file:
```
gpg --verify securityonion-2.3.60.iso.sig securityonion-2.3.60.iso
gpg --verify securityonion-2.3.70.iso.sig securityonion-2.3.70.iso
```
The output should show "Good signature" and the Primary key fingerprint should match what's shown below:
```
gpg: Signature made Thu 01 Jul 2021 10:59:24 AM EDT using RSA key ID FE507013
gpg: Signature made Tue 17 Aug 2021 10:52:17 PM EDT using RSA key ID FE507013
gpg: Good signature from "Security Onion Solutions, LLC <info@securityonionsolutions.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.

View File

@@ -1 +1 @@
2.3.60
2.3.70

View File

@@ -13,3 +13,4 @@ logstash:
- so/9500_output_beats.conf.jinja
- so/9600_output_ossec.conf.jinja
- so/9700_output_strelka.conf.jinja
- so/9800_output_logscan.conf.jinja

View File

@@ -45,7 +45,8 @@
'schedule',
'soctopus',
'tcpreplay',
'docker_clean'
'docker_clean',
'learn'
],
'so-heavynode': [
'ca',
@@ -108,7 +109,8 @@
'zeek',
'schedule',
'tcpreplay',
'docker_clean'
'docker_clean',
'learn'
],
'so-manager': [
'salt.master',
@@ -127,7 +129,8 @@
'utility',
'schedule',
'soctopus',
'docker_clean'
'docker_clean',
'learn'
],
'so-managersearch': [
'salt.master',
@@ -146,7 +149,8 @@
'utility',
'schedule',
'soctopus',
'docker_clean'
'docker_clean',
'learn'
],
'so-node': [
'ca',
@@ -178,7 +182,8 @@
'schedule',
'soctopus',
'tcpreplay',
'docker_clean'
'docker_clean',
'learn'
],
'so-sensor': [
'ca',
@@ -237,7 +242,7 @@
{% do allowed_states.append('kibana') %}
{% endif %}
{% if CURATOR and grains.role in ['so-eval', 'so-standalone', 'so-node', 'so-managersearch', 'so-heavynode'] %}
{% if grains.role in ['so-eval', 'so-standalone', 'so-node', 'so-managersearch', 'so-heavynode', 'so-manager'] %}
{% do allowed_states.append('curator') %}
{% endif %}
@@ -296,4 +301,4 @@
{% endif %}
{# all nodes can always run salt.minion state #}
{% do allowed_states.append('salt.minion') %}
{% do allowed_states.append('salt.minion') %}

View File

@@ -22,6 +22,7 @@
/opt/so/log/salt/so-salt-minion-check
/opt/so/log/salt/minion
/opt/so/log/salt/master
/opt/so/log/logscan/*.log
{
{{ logrotate_conf | indent(width=4) }}
}

View File

@@ -326,6 +326,16 @@ dockerreserveports:
- name: /etc/sysctl.d/99-reserved-ports.conf
{% if salt['grains.get']('sosmodel', '') %}
{% if grains['os'] == 'CentOS' %}
# Install Raid tools
raidpkgs:
pkg.installed:
- skip_suggestions: True
- pkgs:
- securityonion-raidtools
- securityonion-megactl
{% endif %}
# Install raid check cron
/usr/sbin/so-raid-status > /dev/null 2>&1:
cron.present:

View File

@@ -1,64 +0,0 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. /usr/sbin/so-common
UPDATE_DIR=/tmp/sohotfixapply
if [ -z "$1" ]; then
echo "No tarball given. Please provide the filename so I can run the hotfix"
echo "so-airgap-hotfixapply /path/to/sohotfix.tar"
exit 1
else
if [ ! -f "$1" ]; then
echo "Unable to find $1. Make sure your path is correct and retry."
exit 1
else
echo "Determining if we need to apply this hotfix"
rm -rf $UPDATE_DIR
mkdir -p $UPDATE_DIR
tar xvf $1 -C $UPDATE_DIR
# Compare some versions
NEWVERSION=$(cat $UPDATE_DIR/VERSION)
HOTFIXVERSION=$(cat $UPDATE_DIR/HOTFIX)
CURRENTHOTFIX=$(cat /etc/sohotfix)
INSTALLEDVERSION=$(cat /etc/soversion)
if [ "$INSTALLEDVERSION" == "$NEWVERSION" ]; then
echo "Checking to see if there are hotfixes needed"
if [ "$HOTFIXVERSION" == "$CURRENTHOTFIX" ]; then
echo "You are already running the latest version of Security Onion."
rm -rf $UPDATE_DIR
exit 1
else
echo "We need to apply a hotfix"
copy_new_files
echo $HOTFIXVERSION > /etc/sohotfix
salt-call state.highstate -l info queue=True
echo "The Hotfix $HOTFIXVERSION has been applied"
# Clean up
rm -rf $UPDATE_DIR
exit 0
fi
else
echo "This hotfix is not compatible with your current version. Download the latest ISO and run soup"
rm -rf $UPDATE_DIR
fi
fi
fi

View File

@@ -1,33 +0,0 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Get the latest code
rm -rf /tmp/sohotfix
mkdir -p /tmp/sohotfix
cd /tmp/sohotfix
git clone https://github.com/Security-Onion-Solutions/securityonion
if [ ! -d "/tmp/sohotfix/securityonion" ]; then
echo "I was unable to get the latest code. Check your internet and try again."
exit 1
else
echo "Looks like we have the code lets create the tarball."
cd /tmp/sohotfix/securityonion
tar cvf /tmp/sohotfix/sohotfix.tar HOTFIX VERSION salt pillar
echo ""
echo "Copy /tmp/sohotfix/sohotfix.tar to portable media and then copy it to your airgap manager."
exit 0
fi

View File

@@ -372,6 +372,14 @@ set_version() {
fi
}
has_uppercase() {
local string=$1
echo "$string" | grep -qP '[A-Z]' \
&& return 0 \
|| return 1
}
valid_cidr() {
# Verify there is a backslash in the string
echo "$1" | grep -qP "^[^/]+/[^/]+$" || return 1

View File

@@ -35,6 +35,7 @@ def showUsage(options, args):
print('')
print(' General commands:')
print(' help - Prints this usage information.')
print(' apply - Apply the firewall state.')
print('')
print(' Host commands:')
print(' listhostgroups - Lists the known host groups.')
@@ -66,7 +67,7 @@ def checkDefaultPortsOption(options):
def checkApplyOption(options):
if "--apply" in options:
return apply()
return apply(None, None)
def loadYaml(filename):
file = open(filename, "r")
@@ -328,7 +329,7 @@ def removehost(options, args):
code = checkApplyOption(options)
return code
def apply():
def apply(options, args):
proc = subprocess.run(['salt-call', 'state.apply', 'firewall', 'queue=True'])
return proc.returncode
@@ -356,7 +357,8 @@ def main():
"addport": addport,
"removeport": removeport,
"addhostgroup": addhostgroup,
"addportgroup": addportgroup
"addportgroup": addportgroup,
"apply": apply
}
code=1

View File

@@ -0,0 +1,75 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. /usr/sbin/so-common
usage() {
echo "Usage: $0 <user-name>"
echo ""
echo "Update password for an existing Fleet user. The new password will be read from STDIN."
exit 1
}
if [ $# -ne 1 ]; then
usage
fi
USER=$1
MYSQL_PASS=$(lookup_pillar_secret mysql)
FLEET_IP=$(lookup_pillar fleet_ip)
FLEET_USER=$USER
# test existence of user
MYSQL_OUTPUT=$(docker exec so-mysql mysql -u root --password=$MYSQL_PASS fleet -e \
"SELECT count(1) FROM users WHERE username='$FLEET_USER'" 2>/dev/null | tail -1)
if [[ $? -ne 0 ]] || [[ $MYSQL_OUTPUT -ne 1 ]] ; then
echo "Test for username [${FLEET_USER}] failed"
echo " expect 1 hit in users database, return $MYSQL_OUTPUT hit(s)."
echo "Unable to update Fleet user password."
exit 2
fi
# Read password for new user from stdin
test -t 0
if [[ $? == 0 ]]; then
echo "Enter new password:"
fi
read -rs FLEET_PASS
if ! check_password "$FLEET_PASS"; then
echo "Password is invalid. Please exclude single quotes, double quotes and backslashes from the password."
exit 2
fi
FLEET_HASH=$(docker exec so-soctopus python -c "import bcrypt; print(bcrypt.hashpw('$FLEET_PASS'.encode('utf-8'), bcrypt.gensalt()).decode('utf-8'));" 2>&1)
if [[ $? -ne 0 ]]; then
echo "Failed to generate Fleet password hash"
exit 2
fi
MYSQL_OUTPUT=$(docker exec so-mysql mysql -u root --password=$MYSQL_PASS fleet -e \
"UPDATE users SET password='$FLEET_HASH', salt='' where username='$FLEET_USER'" 2>&1)
if [[ $? -eq 0 ]]; then
echo "Successfully updated Fleet user password"
else
echo "Unable to update Fleet user password"
echo "$MYSQL_OUTPUT"
exit 2
fi

View File

@@ -0,0 +1,17 @@
# this script is used to delete the default Grafana dashboard folders that existed prior to Grafana dashboard and Salt management changes in 2.3.70
folders=$(curl -X GET http://admin:{{salt['pillar.get']('secrets:grafana_admin')}}@localhost:3000/api/folders | jq -r '.[] | @base64')
delfolder=("Manager" "Manager Search" "Sensor Nodes" "Search Nodes" "Standalone" "Eval Mode")
for row in $folders; do
title=$(echo ${row} | base64 --decode | jq -r '.title')
uid=$(echo ${row} | base64 --decode | jq -r '.uid')
if [[ " ${delfolder[@]} " =~ " ${title} " ]]; then
curl -X DELETE http://admin:{{salt['pillar.get']('secrets:grafana_admin')}}@localhost:3000/api/folders/$uid
fi
done
echo "so-grafana-dashboard-folder-delete has been run to delete default Grafana dashboard folders that existed prior to 2.3.70" > /opt/so/state/so-grafana-dashboard-folder-delete-complete
exit 0

View File

@@ -0,0 +1,58 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. /usr/sbin/so-common
. /usr/sbin/so-image-common
usage() {
read -r -d '' message <<- EOM
usage: so-image-pull [-h] IMAGE [IMAGE ...]
positional arguments:
IMAGE One or more 'so-' prefixed images to download and verify.
optional arguments:
-h, --help Show this help message and exit.
EOM
echo "$message"
exit 1
}
for arg; do
shift
[[ "$arg" = "--quiet" || "$arg" = "-q" ]] && quiet=true && continue
set -- "$@" "$arg"
done
if [[ $# -eq 0 || $# -gt 1 ]] || [[ $1 == '-h' || $1 == '--help' ]]; then
usage
fi
TRUSTED_CONTAINERS=("$@")
set_version
for image in "${TRUSTED_CONTAINERS[@]}"; do
if ! docker images | grep "$image" | grep ":5000" | grep -q "$VERSION"; then
if [[ $quiet == true ]]; then
update_docker_containers "$image" "" "" "/dev/null"
else
update_docker_containers "$image" "" "" ""
fi
else
echo "$image:$VERSION image exists."
fi
done

0
salt/common/tools/sbin/so-influxdb-drop-autogen Normal file → Executable file
View File

303
salt/common/tools/sbin/so-learn Executable file
View File

@@ -0,0 +1,303 @@
#!/usr/bin/env python3
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from itertools import chain
from typing import List
import signal
import sys
import os
import re
import subprocess
import argparse
import textwrap
import yaml
import multiprocessing
import docker
import pty
minion_pillar_dir = '/opt/so/saltstack/local/pillar/minions'
so_status_conf = '/opt/so/conf/so-status/so-status.conf'
proc: subprocess.CompletedProcess = None
# Temp store of modules, will likely be broken out into salt
def get_learn_modules():
return {
'logscan': { 'cpu_period': get_cpu_period(fraction=0.25), 'enabled': False, 'description': 'Scan log files against pre-trained models to alert on anomalies.' }
}
def get_cpu_period(fraction: float):
multiplier = 10000
num_cores = multiprocessing.cpu_count()
if num_cores <= 2:
fraction = 1.
num_used_cores = int(num_cores * fraction)
cpu_period = num_used_cores * multiplier
return cpu_period
def sigint_handler(*_):
print('Exiting gracefully on Ctrl-C')
if proc is not None: proc.send_signal(signal.SIGINT)
sys.exit(1)
def find_minion_pillar() -> str:
regex = '^.*_(manager|managersearch|standalone|import|eval)\.sls$'
result = []
for root, _, files in os.walk(minion_pillar_dir):
for f_minion_id in files:
if re.search(regex, f_minion_id):
result.append(os.path.join(root, f_minion_id))
if len(result) == 0:
print('Could not find manager-type pillar (eval, standalone, manager, managersearch, import). Are you running this script on the manager?', file=sys.stderr)
sys.exit(3)
elif len(result) > 1:
res_str = ', '.join(f'\"{result}\"')
print('(This should not happen, the system is in an error state if you see this message.)\n', file=sys.stderr)
print('More than one manager-type pillar exists, minion id\'s listed below:', file=sys.stderr)
print(f' {res_str}', file=sys.stderr)
sys.exit(3)
else:
return result[0]
def read_pillar(pillar: str):
try:
with open(pillar, 'r') as pillar_file:
loaded_yaml = yaml.safe_load(pillar_file.read())
if loaded_yaml is None:
print(f'Could not parse {pillar}', file=sys.stderr)
sys.exit(3)
return loaded_yaml
except:
print(f'Could not open {pillar}', file=sys.stderr)
sys.exit(3)
def write_pillar(pillar: str, content: dict):
try:
with open(pillar, 'w') as pillar_file:
yaml.dump(content, pillar_file, default_flow_style=False)
except:
print(f'Could not open {pillar}', file=sys.stderr)
sys.exit(3)
def mod_so_status(action: str, item: str):
with open(so_status_conf, 'a+') as conf:
conf.seek(0)
containers = conf.readlines()
if f'so-{item}\n' in containers:
if action == 'remove': containers.remove(f'so-{item}\n')
if action == 'add': pass
else:
if action == 'remove': pass
if action == 'add': containers.append(f'so-{item}\n')
[containers.remove(c_name) for c_name in containers if c_name == '\n'] # remove extra newlines
conf.seek(0)
conf.truncate(0)
conf.writelines(containers)
def create_pillar_if_not_exist(pillar:str, content: dict):
pillar_dict = content
if pillar_dict.get('learn', {}).get('modules') is None:
pillar_dict['learn'] = {}
pillar_dict['learn']['modules'] = get_learn_modules()
content.update()
write_pillar(pillar, content)
return content
def salt_call(module: str):
salt_cmd = ['salt-call', 'state.apply', '-l', 'quiet', f'learn.{module}', 'queue=True']
print(f' Applying salt state for {module} module...')
proc = subprocess.run(salt_cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
return_code = proc.returncode
if return_code != 0:
print(f' [ERROR] Failed to apply salt state for {module} module.')
return return_code
def pull_image(module: str):
container_basename = f'so-{module}'
client = docker.from_env()
image_list = client.images.list(filters={ 'dangling': False })
tag_list = list(chain.from_iterable(list(map(lambda x: x.attrs.get('RepoTags'), image_list))))
basename_match = list(filter(lambda x: f'{container_basename}' in x, tag_list))
local_registry_match = list(filter(lambda x: ':5000' in x, basename_match))
if len(local_registry_match) == 0:
print(f'Pulling and verifying missing image for {module} (may take several minutes) ...')
pull_command = ['so-image-pull', '--quiet', container_basename]
proc = subprocess.run(pull_command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
return_code = proc.returncode
if return_code != 0:
print(f'[ERROR] Failed to pull image so-{module}, skipping state.')
else:
return_code = 0
return return_code
def apply(module_list: List):
return_code = 0
for module in module_list:
salt_ret = salt_call(module)
# Only update return_code if the command returned a non-zero return
if salt_ret != 0:
return_code = salt_ret
return return_code
def check_apply(args: dict):
if args.apply:
print('Configuration updated. Applying changes:')
return apply(args.modules)
else:
message = 'Configuration updated. Would you like to apply your changes now? (y/N) '
answer = input(message)
while answer.lower() not in [ 'y', 'n', '' ]:
answer = input(message)
if answer.lower() in [ 'n', '' ]:
return 0
else:
print('Applying changes:')
return apply(args.modules)
def enable_disable_modules(args, enable: bool):
pillar_modules = args.pillar_dict.get('learn', {}).get('modules')
pillar_mod_names = args.pillar_dict.get('learn', {}).get('modules').keys()
action_str = 'add' if enable else 'remove'
if 'all' in args.modules:
for module, details in pillar_modules.items():
details['enabled'] = enable
mod_so_status(action_str, module)
if enable: pull_image(module)
args.pillar_dict.update()
write_pillar(args.pillar, args.pillar_dict)
else:
write_needed = False
for module in args.modules:
if module in pillar_mod_names:
if pillar_modules[module]['enabled'] == enable:
state_str = 'enabled' if enable else 'disabled'
print(f'{module} module already {state_str}.', file=sys.stderr)
else:
if enable and pull_image(module) != 0:
continue
pillar_modules[module]['enabled'] = enable
mod_so_status(action_str, module)
write_needed = True
if write_needed:
args.pillar_dict.update()
write_pillar(args.pillar, args.pillar_dict)
cmd_ret = check_apply(args)
return cmd_ret
def enable_modules(args):
enable_disable_modules(args, enable=True)
def disable_modules(args):
enable_disable_modules(args, enable=False)
def list_modules(*_):
print('Available ML modules:')
for module, details in get_learn_modules().items():
print(f' - { module } : {details["description"]}')
return 0
def main():
beta_str = 'BETA - SUBJECT TO CHANGE\n'
apply_help='After ACTION the chosen modules, apply any necessary salt states.'
enable_apply_help = apply_help.replace('ACTION', 'enabling')
disable_apply_help = apply_help.replace('ACTION', 'disabling')
signal.signal(signal.SIGINT, sigint_handler)
if os.geteuid() != 0:
print('You must run this script as root', file=sys.stderr)
sys.exit(1)
main_parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter)
subcommand_desc = textwrap.dedent(
"""\
enable Enable one or more ML modules.
disable Disable one or more ML modules.
list List all available ML modules.
"""
)
subparsers = main_parser.add_subparsers(title='commands', description=subcommand_desc, metavar='', dest='command')
module_help_str = 'One or more ML modules, which can be listed using \'so-learn list\'. Use the keyword \'all\' to apply the action to all available modules.'
enable = subparsers.add_parser('enable')
enable.set_defaults(func=enable_modules)
enable.add_argument('modules', metavar='ML_MODULE', nargs='+', help=module_help_str)
enable.add_argument('--apply', action='store_const', const=True, required=False, help=enable_apply_help)
disable = subparsers.add_parser('disable')
disable.set_defaults(func=disable_modules)
disable.add_argument('modules', metavar='ML_MODULE', nargs='+', help=module_help_str)
disable.add_argument('--apply', action='store_const', const=True, required=False, help=disable_apply_help)
list = subparsers.add_parser('list')
list.set_defaults(func=list_modules)
args = main_parser.parse_args(sys.argv[1:])
args.pillar = find_minion_pillar()
args.pillar_dict = create_pillar_if_not_exist(args.pillar, read_pillar(args.pillar))
if hasattr(args, 'func'):
exit_code = args.func(args)
else:
if args.command is None:
print(beta_str)
main_parser.print_help()
sys.exit(0)
sys.exit(exit_code)
if __name__ == '__main__':
main()

View File

@@ -17,53 +17,98 @@
. /usr/sbin/so-common
check_lsi_raid() {
# For use for LSI on Ubuntu
#MEGA=/opt/MegaRAID/MegeCli/MegaCli64
#LSIRC=$($MEGA -LDInfo -Lall -aALL | grep Optimal)
# Open Source Centos
MEGA=/opt/mega/megasasctl
LSIRC=$($MEGA | grep optimal)
appliance_check() {
{%- if salt['grains.get']('sosmodel', '') %}
APPLIANCE=1
DUDEYOUGOTADELL=$(dmidecode |grep Dell)
if [[ -n $DUDEYOUGOTADELL ]]; then
APPTYPE=dell
else
APPTYPE=sm
fi
mkdir -p /opt/so/log/raid
if [[ $LSIRC ]]; then
# Raid is good
LSIRAID=0
{%- else %}
echo "This is not an appliance"
exit 0
{%- endif %}
}
check_nsm_raid() {
PERCCLI=$(/opt/raidtools/perccli/perccli64 /c0/v0 show|grep RAID|grep Optl)
MEGACTL=$(/opt/raidtools/megasasctl |grep optimal)
if [[ $APPLIANCE == '1' ]]; then
if [[ -n $PERCCLI ]]; then
HWRAID=0
elif [[ -n $MEGACTL ]]; then
HWRAID=0
else
LSIRAID=1
HWRAID=1
fi
fi
}
check_boss_raid() {
MVCLI=$(/usr/local/bin/mvcli info -o vd |grep status |grep functional)
if [[ -n $DUDEYOUGOTADELL ]]; then
if [[ -n $MVCLI ]]; then
BOSSRAID=0
else
BOSSRAID=1
fi
fi
}
check_software_raid() {
if [[ -n $DUDEYOUGOTADELL ]]; then
SWRC=$(grep "_" /proc/mdstat)
if [[ $SWRC ]]; then
if [[ -n $SWRC ]]; then
# RAID is failed in some way
SWRAID=1
else
SWRAID=0
fi
fi
}
# This script checks raid status if you use SO appliances
# See if this is an appliance
appliance_check
check_nsm_raid
check_boss_raid
{%- if salt['grains.get']('sosmodel', '') %}
mkdir -p /opt/so/log/raid
{%- if grains['sosmodel'] in ['SOSMN', 'SOSSNNV'] %}
#check_boss_raid
{%- if grains['sosmodel'] in ['SOSMN', 'SOSSNNV'] %}
check_software_raid
echo "nsmraid=$SWRAID" > /opt/so/log/raid/status.log
{%- elif grains['sosmodel'] in ['SOS1000F', 'SOS1000', 'SOSSN7200', 'SOS10K', 'SOS4000'] %}
#check_boss_raid
check_lsi_raid
echo "nsmraid=$LSIRAID" > /opt/so/log/raid/status.log
{%- else %}
exit 0
{%- endif %}
{%- else %}
exit 0
{%- endif %}
{%- endif %}
if [[ -n $SWRAID ]]; then
if [[ $SWRAID == '0' && BOSSRAID == '0' ]]; then
RAIDSTATUS=0
else
RAIDSTATUS=1
fi
elif [[ -n $DUDEYOUGOTADELL ]]; then
if [[ $BOSSRAID == '0' && $HWRAID == '0' ]]; then
RAIDSTATUS=0
else
RAIDSTATUS=1
fi
elif [[ "$APPTYPE" == 'sm' ]]; then
if [[ -n "$HWRAID" ]]; then
RAIDSTATUS=0
else
RAIDSTATUS=1
fi
fi
echo "nsmraid=$RAIDSTATUS" > /opt/so/log/raid/status.log

View File

@@ -31,7 +31,7 @@ if [[ $# -lt 1 ]]; then
echo "Usage: $0 <pcap-sample(s)>"
echo
echo "All PCAPs must be placed in the /opt/so/samples directory unless replaying"
echo "a sample pcap that is included in the so-tcpreplay image. Those PCAP sampes"
echo "a sample pcap that is included in the so-tcpreplay image. Those PCAP samples"
echo "are located in the /opt/samples directory inside of the image."
echo
echo "Customer provided PCAP example:"

View File

@@ -0,0 +1,57 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. /usr/sbin/so-common
usage() {
echo "Usage: $0 <user-name>"
echo ""
echo "Update password for an existing TheHive user. The new password will be read from STDIN."
exit 1
}
if [ $# -ne 1 ]; then
usage
fi
USER=$1
THEHIVE_KEY=$(lookup_pillar hivekey)
THEHVIE_API_URL="$(lookup_pillar url_base)/thehive/api"
THEHIVE_USER=$USER
# Read password for new user from stdin
test -t 0
if [[ $? == 0 ]]; then
echo "Enter new password:"
fi
read -rs THEHIVE_PASS
if ! check_password "$THEHIVE_PASS"; then
echo "Password is invalid. Please exclude single quotes, double quotes and backslashes from the password."
exit 2
fi
# Change password for user in TheHive
resp=$(curl -sk -XPOST -H "Authorization: Bearer $THEHIVE_KEY" -H "Content-Type: application/json" -L "https://$THEHVIE_API_URL/user/${THEHIVE_USER}/password/set" -d "{\"password\" : \"$THEHIVE_PASS\"}")
if [[ -z "$resp" ]]; then
echo "Successfully updated TheHive user password"
else
echo "Unable to update TheHive user password"
echo $resp
exit 2
fi

View File

@@ -306,7 +306,7 @@ function updateStatus() {
[[ $? != 0 ]] && fail "Unable to unlock credential record"
fi
updatedJson=$(echo "$response" | jq ".traits.status = \"$status\" | del(.verifiable_addresses) | del(.id) | del(.schema_url)")
updatedJson=$(echo "$response" | jq ".traits.status = \"$status\" | del(.verifiable_addresses) | del(.id) | del(.schema_url) | del(.created_at) | del(.updated_at)")
response=$(curl -Ss -XPUT -L ${kratosUrl}/identities/$identityId -d "$updatedJson")
[[ $? != 0 ]] && fail "Unable to mark user as locked"

View File

@@ -182,6 +182,37 @@ check_airgap() {
fi
}
# {% raw %}
check_local_mods() {
local salt_local=/opt/so/saltstack/local
local_mod_arr=()
while IFS= read -r -d '' local_file; do
stripped_path=${local_file#"$salt_local"}
default_file="${DEFAULT_SALT_DIR}${stripped_path}"
if [[ -f $default_file ]]; then
file_diff=$(diff "$default_file" "$local_file" )
if [[ $(echo "$file_diff" | grep -c "^<") -gt 0 ]]; then
local_mod_arr+=( "$local_file" )
fi
fi
done< <(find $salt_local -type f -print0)
if [[ ${#local_mod_arr} -gt 0 ]]; then
echo "Potentially breaking changes found in the following files (check ${DEFAULT_SALT_DIR} for original copy):"
for file_str in "${local_mod_arr[@]}"; do
echo " $file_str"
done
echo ""
echo "To reference this list later, check $SOUP_LOG"
sleep 10
fi
}
# {% endraw %}
check_sudoers() {
if grep -q "so-setup" /etc/sudoers; then
echo "There is an entry for so-setup in the sudoers file, this can be safely deleted using \"visudo\"."
@@ -956,6 +987,8 @@ main() {
fi
fi
check_local_mods
check_sudoers
if [[ -n $lsl_msg ]]; then

View File

@@ -4,7 +4,7 @@
{%- if grains['role'] in ['so-node', 'so-heavynode'] %}
{%- set ELASTICSEARCH_HOST = salt['pillar.get']('elasticsearch:mainip', '') -%}
{%- set ELASTICSEARCH_PORT = salt['pillar.get']('elasticsearch:es_port', '') -%}
{%- elif grains['role'] in ['so-eval', 'so-managersearch', 'so-standalone'] %}
{%- elif grains['role'] in ['so-eval', 'so-managersearch', 'so-standalone', 'so-manager'] %}
{%- set ELASTICSEARCH_HOST = salt['pillar.get']('manager:mainip', '') -%}
{%- set ELASTICSEARCH_PORT = salt['pillar.get']('manager:es_port', '') -%}
{%- endif -%}

View File

@@ -1,6 +1,6 @@
{% if grains['role'] in ['so-node', 'so-heavynode'] %}
{%- set elasticsearch = salt['pillar.get']('elasticsearch:mainip', '') -%}
{% elif grains['role'] in ['so-eval', 'so-managersearch', 'so-standalone'] %}
{% elif grains['role'] in ['so-eval', 'so-managersearch', 'so-standalone', 'so-manager'] %}
{%- set elasticsearch = salt['pillar.get']('manager:mainip', '') -%}
{%- endif %}
{%- if salt['pillar.get']('elasticsearch:auth:enabled') is sameas true %}
@@ -18,17 +18,15 @@ client:
hosts:
- {{elasticsearch}}
port: 9200
{% if salt['pillar.get']('elasticsearch:auth:enabled') is sameas true %}
username: {{ ES_USER }}
password: {{ ES_PASS }}
{% endif %}
{%- if salt['pillar.get']('elasticsearch:auth:enabled') is sameas true %}
http_auth: {{ ES_USER }}:{{ ES_PASS }}
{%- endif %}
url_prefix:
use_ssl: True
certificate:
client_cert:
client_key:
ssl_no_validate: True
http_auth:
timeout: 30
master_only: False

View File

@@ -4,8 +4,9 @@
{% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %}
{% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %}
{% set MANAGER = salt['grains.get']('master') %}
{% if grains['role'] in ['so-eval', 'so-node', 'so-managersearch', 'so-heavynode', 'so-standalone'] %}
{% if grains['role'] in ['so-eval', 'so-node', 'so-managersearch', 'so-heavynode', 'so-standalone', 'so-manager'] %}
{% from 'elasticsearch/auth.map.jinja' import ELASTICAUTH with context %}
{% from "curator/map.jinja" import CURATOROPTIONS with context %}
# Curator
# Create the group
curatorgroup:
@@ -118,8 +119,10 @@ so-curatordeletecron:
- dayweek: '*'
so-curator:
docker_container.running:
docker_container.{{ CURATOROPTIONS.status }}:
{% if CURATOROPTIONS.status == 'running' %}
- image: {{ MANAGER }}:5000/{{ IMAGEREPO }}/so-curator:{{ VERSION }}
- start: {{ CURATOROPTIONS.start }}
- hostname: curator
- name: so-curator
- user: curator
@@ -129,11 +132,33 @@ so-curator:
- /opt/so/conf/curator/curator.yml:/etc/curator/config/curator.yml:ro
- /opt/so/conf/curator/action/:/etc/curator/action:ro
- /opt/so/log/curator:/var/log/curator:rw
- require:
- file: actionconfs
- file: curconf
- file: curlogdir
{% else %}
- force: True
{% endif %}
{% if CURATOROPTIONS.manage_sostatus %}
append_so-curator_so-status.conf:
file.append:
- name: /opt/so/conf/so-status/so-status.conf
- text: so-curator
- unless: grep -q so-curator /opt/so/conf/so-status/so-status.conf
{% if not CURATOROPTIONS.start %}
so-curator_so-status.disabled:
file.comment:
- name: /opt/so/conf/so-status/so-status.conf
- regex: ^so-curator$
{% else %}
delete_so-curator_so-status.disabled:
file.uncomment:
- name: /opt/so/conf/so-status/so-status.conf
- regex: ^so-curator$
{% endif %}
{% endif %}
# Begin Curator Cron Jobs

16
salt/curator/map.jinja Normal file
View File

@@ -0,0 +1,16 @@
{% set CURATOROPTIONS = {} %}
{% set ENABLED = salt['pillar.get']('curator:enabled', True) %}
{% set TRUECLUSTER = salt['pillar.get']('elasticsearch:true_cluster', False) %}
{% do CURATOROPTIONS.update({'manage_sostatus': True}) %}
# don't start the docker container if searchnode and true clustering is enabled or curator disabled via pillar or true cluster not enabled and manager
{% if not ENABLED or (TRUECLUSTER and grains.id.split('_')|last == 'searchnode') or (not TRUECLUSTER and grains.id.split('_')|last == 'manager') %}
{% do CURATOROPTIONS.update({'start': False}) %}
{% do CURATOROPTIONS.update({'status': 'absent'}) %}
{% if (TRUECLUSTER and grains.id.split('_')|last == 'searchnode') or (not TRUECLUSTER and grains.id.split('_')|last == 'manager') %}
{% do CURATOROPTIONS.update({'manage_sostatus': False}) %}
{% endif %}%}
{% else %}
{% do CURATOROPTIONS.update({'start': True}) %}
{% do CURATOROPTIONS.update({'status': 'running'}) %}
{% endif %}

View File

@@ -49,6 +49,16 @@ discovery.seed_hosts:
- {{ SN.split('_')|first }}
{%- endfor %}
{%- endif %}
{%- elif grains.role == 'so-managersearch' %}
{%- if salt['pillar.get']('nodestab', {}) %}
node.roles: [ master, data, remote_cluster_client ]
discovery.seed_hosts:
- {{ grains.master }}
{%- for SN, SNDATA in salt['pillar.get']('nodestab', {}).items() %}
- {{ SN.split('_')|first }}
{%- endfor %}
{%- endif %}
node.attr.box_type: {{ NODE_ROUTE_TYPE }}
{%- else %}
node.roles: {{ NODE_ROLES }}
node.attr.box_type: {{ NODE_ROUTE_TYPE }}

View File

@@ -0,0 +1,29 @@
{
"description": "logscan",
"processors": [
{ "set": { "field": "event.severity", "value": 2 } },
{ "json": { "field": "message", "add_to_root": true, "ignore_failure": true } },
{ "rename": { "field": "@timestamp", "target_field": "event.ingested", "ignore_missing": true } },
{ "date": { "field": "timestamp", "target_field": "event.created", "formats": [ "ISO8601", "UNIX" ], "ignore_failure": true } },
{ "date": { "field": "start_time", "target_field": "@timestamp", "formats": [ "ISO8601", "UNIX" ], "ignore_failure": true } },
{ "date": { "field": "start_time", "target_field": "event.start", "formats": [ "ISO8601", "UNIX" ], "ignore_failure": true } },
{ "date": { "field": "end_time", "target_field": "event.end", "formats": [ "ISO8601", "UNIX" ], "ignore_failure": true } },
{ "remove": { "field": "start_time", "ignore_missing": true } },
{ "remove": { "field": "end_time", "ignore_missing": true } },
{ "rename": { "field": "source_ip", "target_field": "source.ip", "ignore_missing": true } },
{ "rename": { "field": "top_source_ips", "target_field": "logscan.source.ips", "ignore_missing": true } },
{ "append": { "if": "ctx.source != null", "field": "logscan.source.ips", "value": "{{{source.ip}}}", "ignore_failure": true } },
{ "set": { "if": "ctx.model == 'k1'", "field": "rule.name", "value": "LOGSCAN K1 MODEL THRESHOLD" } },
{ "set": { "if": "ctx.model == 'k1'", "field": "rule.description", "value": "High number of logins from single IP in 1 minute window" } },
{ "set": { "if": "ctx.model == 'k5'", "field": "rule.name", "value": "LOGSCAN K5 MODEL THRESHOLD" } },
{ "set": { "if": "ctx.model == 'k5'", "field": "rule.description", "value": "High ratio of login failures from single IP in 5 minute window" } },
{ "set": { "if": "ctx.model == 'k60'", "field": "rule.name", "value": "LOGSCAN K60 MODEL THRESHOLD" } },
{ "set": { "if": "ctx.model == 'k60'", "field": "rule.description", "value": "Large number of login failures in 1 hour window" } },
{ "rename": { "field": "model", "target_field": "logscan.model" } },
{ "rename": { "field": "num_attempts", "target_field": "logscan.attempts.total.amount", "ignore_missing": true } },
{ "rename": { "field": "num_failed", "target_field": "logscan.attempts.failed.amount", "ignore_missing": true } },
{ "script": { "lang": "painless", "source": "ctx.logscan.attempts.succeeded.amount = ctx.logscan.attempts.total.amount - ctx.logscan.attempts.failed.amount" , "ignore_failure": true} },
{ "rename": { "field": "avg_failure_interval", "target_field": "logscan.attempts.failed.avg_interval", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -33,6 +33,7 @@
{ "rename": { "field": "data.win.eventdata.user", "target_field": "user.name", "ignore_missing": true } },
{ "rename": { "field": "data.win.system", "target_field": "winlog", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata", "target_field": "winlog.event_data", "ignore_missing": true } },
{ "rename": { "field": "data", "target_field": "wazuh.data", "ignore_missing": true } },
{ "rename": { "field": "winlog.eventID", "target_field": "winlog.event_id", "ignore_missing": true } },
{ "rename": { "field": "predecoder.program_name", "target_field": "process.name", "ignore_missing": true } },
{ "rename": { "field": "decoder.name", "target_field": "event.dataset", "ignore_missing": true } },
@@ -63,8 +64,7 @@
{ "rename": { "field": "fields.module", "target_field": "event.module", "ignore_failure": true, "ignore_missing": true } },
{ "pipeline": { "if": "ctx.winlog?.channel == 'Microsoft-Windows-Sysmon/Operational'", "name": "sysmon" } },
{ "pipeline": { "if": "ctx.winlog?.channel != 'Microsoft-Windows-Sysmon/Operational'", "name":"win.eventlogs" } },
{ "set": { "if": "ctx.rule != null && ctx.rule.name != null", "field": "event.dataset", "value": "ossec.alert", "override": true } },
{ "set": { "if": "ctx.rule != null && ctx.rule.name != null", "field": "event.kind", "value": "alert", "override": true } },
{ "set": { "if": "ctx.rule != null && ctx.rule.name != null", "field": "event.dataset", "value": "alert", "override": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -8,6 +8,7 @@
{ "rename": { "field": "scan.hash", "target_field": "hash", "ignore_missing": true } },
{ "rename": { "field": "scan.exiftool", "target_field": "exiftool", "ignore_missing": true } },
{ "grok": { "if": "ctx.request?.attributes?.filename != null", "field": "request.attributes.filename", "patterns": ["-%{WORD:log.id.fuid}-"], "ignore_failure": true } },
{ "gsub": { "if": "ctx.request?.attributes?.filename != null", "field": "request.attributes.filename", "pattern": "\/nsm\/strelka\/staging", "replacement": "\/nsm\/strelka\/processed" } },
{ "foreach":
{
"if": "ctx.exiftool?.keys !=null",
@@ -53,8 +54,7 @@
{ "set": { "if": "ctx.exiftool?.FileDirectory != null", "field": "file.directory", "value": "{{exiftool.FileDirectory}}", "ignore_failure": true }},
{ "set": { "if": "ctx.exiftool?.Subsystem != null", "field": "host.subsystem", "value": "{{exiftool.Subsystem}}", "ignore_failure": true }},
{ "set": { "if": "ctx.scan?.yara?.matches != null", "field": "rule.name", "value": "{{scan.yara.matches.0}}" }},
{ "set": { "if": "ctx.scan?.yara?.matches != null", "field": "dataset", "value": "strelka.alert", "override": true }},
{ "set": { "if": "ctx.scan?.yara?.matches != null", "field": "event.kind", "value": "alert", "override": true }},
{ "set": { "if": "ctx.scan?.yara?.matches != null", "field": "dataset", "value": "alert", "override": true }},
{ "rename": { "field": "file.flavors.mime", "target_field": "file.mime_type", "ignore_missing": true }},
{ "set": { "if": "ctx.rule?.name != null && ctx.rule?.score == null", "field": "event.severity", "value": 3, "override": true } },
{ "convert" : { "if": "ctx.rule?.score != null", "field" : "rule.score","type": "integer"}},

View File

@@ -12,7 +12,7 @@
{ "rename": { "field": "message2.dns.qr", "target_field": "dns.qr", "ignore_missing": true } },
{ "rename": { "field": "message2.dns.rd", "target_field": "dns.recursion.desired", "ignore_missing": true } },
{ "rename": { "field": "message2.dns.ra", "target_field": "dns.recursion.available", "ignore_missing": true } },
{ "rename": { "field": "message2.dns.rcode", "target_field": "dns.response.code", "ignore_missing": true } },
{ "rename": { "field": "message2.dns.rcode", "target_field": "dns.response.code_name", "ignore_missing": true } },
{ "rename": { "field": "message2.grouped.A", "target_field": "dns.answers.data", "ignore_missing": true } },
{ "rename": { "field": "message2.grouped.CNAME", "target_field": "dns.answers.name", "ignore_missing": true } },
{ "pipeline": { "if": "ctx.dns.query?.name != null && ctx.dns.query.name.contains('.')", "name": "dns.tld" } },

View File

@@ -13,6 +13,7 @@
{ "rename": { "field": "message2.fileinfo.size", "target_field": "file.size", "ignore_missing": true } },
{ "rename": { "field": "message2.fileinfo.state", "target_field": "file.state", "ignore_missing": true } },
{ "rename": { "field": "message2.fileinfo.stored", "target_field": "file.saved", "ignore_missing": true } },
{ "rename": { "field": "message2.fileinfo.sha256", "target_field": "hash.sha256", "ignore_missing": true } },
{ "set": { "if": "ctx.network?.protocol != null", "field": "file.source", "value": "{{network.protocol}}" } },
{ "pipeline": { "name": "common" } }
]

View File

@@ -65,7 +65,8 @@
{
"port": {
"path_match": "*.port",
"mapping": {
"path_unmatch": "*.data.port",
"mapping": {
"type": "integer",
"fields" : {
"keyword" : {
@@ -312,6 +313,10 @@
"type":"object",
"dynamic": true
},
"logscan": {
"type": "object",
"dynamic": true
},
"manager":{
"type":"object",
"dynamic": true
@@ -680,6 +685,10 @@
"redis":{
"type":"object",
"dynamic": true
},
"wazuh":{
"type":"object",
"dynamic": true
}
}
}

View File

@@ -16,6 +16,7 @@
{%- set FBMEMFLUSHMINEVENTS = salt['pillar.get']('filebeat:mem_flush_min_events', 2048) -%}
{%- set FBLSWORKERS = salt['pillar.get']('filebeat:ls_workers', 1) -%}
{%- set FBLSBULKMAXSIZE = salt['pillar.get']('filebeat:ls_bulk_max_size', 2048) -%}
{%- set FBLOGGINGLEVEL = salt['pillar.get']('filebeat:logging:level', 'warning') -%}
name: {{ HOSTNAME }}
@@ -25,7 +26,7 @@ name: {{ HOSTNAME }}
# Sets log level. The default log level is info.
# Available log levels are: error, warning, info, debug
logging.level: warning
logging.level: {{ FBLOGGINGLEVEL }}
# Enable debug output for selected components. To enable all selectors use ["*"]
# Other available selectors are "beat", "publish", "service"
@@ -111,6 +112,21 @@ filebeat.inputs:
fields: ["source", "prospector", "input", "offset", "beat"]
fields_under_root: true
{%- if grains['role'] in ['so-eval', 'so-standalone', 'so-manager', 'so-managersearch', 'so-import'] %}
- type: log
paths:
- /logs/logscan/alerts.log
fields:
module: logscan
dataset: alert
processors:
- drop_fields:
fields: ["source", "prospector", "input", "offset", "beat"]
fields_under_root: true
clean_removed: true
close_removed: false
{%- endif %}
{%- if grains['role'] in ['so-eval', 'so-standalone', 'so-sensor', 'so-helix', 'so-heavynode', 'so-import'] %}
{%- if ZEEKVER != 'SURICATA' %}
{%- for LOGNAME in salt['pillar.get']('zeeklogs:enabled', '') %}
@@ -293,6 +309,9 @@ output.elasticsearch:
- index: "so-strelka"
when.contains:
module: "strelka"
- index: "so-logscan"
when.contains:
module: "logscan"
setup.template.enabled: false
{%- else %}

View File

@@ -0,0 +1,62 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"description": "{{TITLE}}",
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": {{ ID }},
"iteration": 1625757047565,
"links": [],
"panels": [
{% for panel in PANELS -%}
{%- import_json "grafana/panels/" ~ panel ~ ".json.jinja" as panel %}
{{ panel | json }} {% if not loop.last %},{% endif %}
{% endfor -%}
],
"refresh": "5m",
"schemaVersion": 27,
"style": "dark",
"tags": [],
"templating": {
"list": [
{% for template in TEMPLATES.keys() -%}
{%- import_json "grafana/templates/" ~ template ~ ".json" as template %}
{{ template | json }} {% if not loop.last %},{% endif %}
{% endfor -%}
]
},
"time": {
"from": "now-3h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "browser",
"title": "{{ TITLE }}",
{% if TITLE | lower == 'security onion grid overview' %}
"uid": "so_overview",
{% endif %}
"version": 1
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,55 +1,12 @@
apiVersion: 1
providers:
- name: 'Dashboards'
folder: 'Dashboards'
type: file
disableDeletion: false
editable: true
allowUiUpdates: true
options:
path: /etc/grafana/grafana_dashboards/
{%- if grains['role'] != 'so-eval' %}
- name: 'Manager'
folder: 'Manager'
type: file
disableDeletion: false
editable: true
allowUiUpdates: true
options:
path: /etc/grafana/grafana_dashboards/manager
- name: 'Manager Search'
folder: 'Manager Search'
type: file
disableDeletion: false
editable: true
allowUiUpdates: true
options:
path: /etc/grafana/grafana_dashboards/managersearch
- name: 'Sensor Nodes'
folder: 'Sensor Nodes'
type: file
disableDeletion: false
editable: true
allowUiUpdates: true
options:
path: /etc/grafana/grafana_dashboards/sensor_nodes
- name: 'Search Nodes'
folder: 'Search Nodes'
type: file
disableDeletion: false
editable: true
allowUiUpdates: true
options:
path: /etc/grafana/grafana_dashboards/search_nodes
- name: 'Standalone'
folder: 'Standalone'
type: file
disableDeletion: false
editable: true
allowUiUpdates: true
options:
path: /etc/grafana/grafana_dashboards/standalone
{%- else %}
- name: 'Security Onion'
folder: 'Eval Mode'
type: file
disableDeletion: false
editable: true
allowUiUpdates: true
options:
path: /etc/grafana/grafana_dashboards/eval
{% endif %}

View File

@@ -10,9 +10,18 @@
{% import_yaml 'grafana/defaults.yaml' as default_settings %}
{% set GRAFANA_SETTINGS = salt['grains.filter_by'](default_settings, default='grafana', merge=salt['pillar.get']('grafana', {})) %}
{% if grains['role'] in ['so-manager', 'so-managersearch', 'so-standalone'] or (grains.role == 'so-eval' and GRAFANA == 1) %}
{% set DASHBOARDS = ['overview'] %}
{% if grains.role == 'so-eval' %}
{% do DASHBOARDS.append('eval') %}
{% else %}
{# Grab a unique listing of nodetypes that exists so that we create only the needed dashboards #}
{% for dashboard in salt['cmd.shell']("ls /opt/so/saltstack/local/pillar/minions/|awk -F'_' {'print $2'}|awk -F'.' {'print $1'}").split() %}
{% do DASHBOARDS.append(dashboard) %}
{% endfor %}
{% endif %}
# Grafana all the things
grafanadir:
file.directory:
@@ -35,47 +44,11 @@ grafanadashdir:
- group: 939
- makedirs: True
grafanadashmdir:
file.directory:
- name: /opt/so/conf/grafana/grafana_dashboards/manager
- user: 939
- group: 939
- makedirs: True
grafanadashmsdir:
file.directory:
- name: /opt/so/conf/grafana/grafana_dashboards/managersearch
- user: 939
- group: 939
- makedirs: True
grafanadashsadir:
file.directory:
- name: /opt/so/conf/grafana/grafana_dashboards/standalone
- user: 939
- group: 939
- makedirs: True
grafanadashevaldir:
file.directory:
- name: /opt/so/conf/grafana/grafana_dashboards/eval
- user: 939
- group: 939
- makedirs: True
grafanadashfndir:
file.directory:
- name: /opt/so/conf/grafana/grafana_dashboards/sensor_nodes
- user: 939
- group: 939
- makedirs: True
grafanadashsndir:
file.directory:
- name: /opt/so/conf/grafana/grafana_dashboards/search_nodes
- user: 939
- group: 939
- makedirs: True
{% for type in ['eval','manager','managersearch','search_nodes','sensor_nodes','standalone'] %}
remove_dashboard_dir_{{type}}:
file.absent:
- name: /opt/so/conf/grafana/grafana_dashboards/{{type}}
{% endfor %}
grafana-dashboard-config:
file.managed:
@@ -114,142 +87,27 @@ grafana-config-files:
- group: 939
- source: salt://grafana/etc/files
- makedirs: True
{% if salt['pillar.get']('managertab', False) %}
{% for SN, SNDATA in salt['pillar.get']('managertab', {}).items() %}
{% set NODETYPE = SN.split('_')|last %}
{% set SN = SN | regex_replace('_' ~ NODETYPE, '') %}
dashboard-manager:
so-grafana-dashboard-folder-delete:
cmd.run:
- name: /usr/sbin/so-grafana-dashboard-folder-delete
- unless: ls /opt/so/state/so-grafana-dashboard-folder-delete-complete
{% for dashboard in DASHBOARDS | unique %}
{{dashboard}}-dashboard:
file.managed:
- name: /opt/so/conf/grafana/grafana_dashboards/manager/{{ SN }}-Manager.json
- name: /opt/so/conf/grafana/grafana_dashboards/{{dashboard}}.json
- user: 939
- group: 939
- template: jinja
- source: salt://grafana/dashboards/manager/manager.json
- source: salt://grafana/dashboards/common_template.json.jinja
- defaults:
SERVERNAME: {{ SN }}
MANINT: {{ SNDATA.manint }}
CPUS: {{ SNDATA.totalcpus }}
UID: so_overview
ROOTFS: {{ SNDATA.rootfs }}
NSMFS: {{ SNDATA.nsmfs }}
DASHBOARD: {{ dashboard }}
PANELS: {{GRAFANA_SETTINGS.dashboards[dashboard].panels}}
TEMPLATES: {{GRAFANA_SETTINGS.dashboards[dashboard].templating.list}}
TITLE: {{ GRAFANA_SETTINGS.dashboards[dashboard].get('title', dashboard| capitalize) }}
ID: {{ loop.index }}
{% endfor %}
{% endif %}
{% if salt['pillar.get']('managersearchtab', False) %}
{% for SN, SNDATA in salt['pillar.get']('managersearchtab', {}).items() %}
{% set NODETYPE = SN.split('_')|last %}
{% set SN = SN | regex_replace('_' ~ NODETYPE, '') %}
dashboard-managersearch:
file.managed:
- name: /opt/so/conf/grafana/grafana_dashboards/managersearch/{{ SN }}-ManagerSearch.json
- user: 939
- group: 939
- template: jinja
- source: salt://grafana/dashboards/managersearch/managersearch.json
- defaults:
SERVERNAME: {{ SN }}
MANINT: {{ SNDATA.manint }}
CPUS: {{ SNDATA.totalcpus }}
UID: so_overview
ROOTFS: {{ SNDATA.rootfs }}
NSMFS: {{ SNDATA.nsmfs }}
{% endfor %}
{% endif %}
{% if salt['pillar.get']('standalonetab', False) %}
{% for SN, SNDATA in salt['pillar.get']('standalonetab', {}).items() %}
{% set NODETYPE = SN.split('_')|last %}
{% set SN = SN | regex_replace('_' ~ NODETYPE, '') %}
dashboard-standalone:
file.managed:
- name: /opt/so/conf/grafana/grafana_dashboards/standalone/{{ SN }}-Standalone.json
- user: 939
- group: 939
- template: jinja
- source: salt://grafana/dashboards/standalone/standalone.json
- defaults:
SERVERNAME: {{ SN }}
MANINT: {{ SNDATA.manint }}
MONINT: {{ SNDATA.monint }}
CPUS: {{ SNDATA.totalcpus }}
UID: so_overview
ROOTFS: {{ SNDATA.rootfs }}
NSMFS: {{ SNDATA.nsmfs }}
{% endfor %}
{% endif %}
{% if salt['pillar.get']('sensorstab', False) %}
{% for SN, SNDATA in salt['pillar.get']('sensorstab', {}).items() %}
{% set NODETYPE = SN.split('_')|last %}
{% set SN = SN | regex_replace('_' ~ NODETYPE, '') %}
dashboard-{{ SN }}:
file.managed:
- name: /opt/so/conf/grafana/grafana_dashboards/sensor_nodes/{{ SN }}-Sensor.json
- user: 939
- group: 939
- template: jinja
- source: salt://grafana/dashboards/sensor_nodes/sensor.json
- defaults:
SERVERNAME: {{ SN }}
MANINT: {{ SNDATA.manint }}
MONINT: {{ SNDATA.monint }}
CPUS: {{ SNDATA.totalcpus }}
UID: {{ SNDATA.guid }}
ROOTFS: {{ SNDATA.rootfs }}
NSMFS: {{ SNDATA.nsmfs }}
{% endfor %}
{% endif %}
{% if salt['pillar.get']('nodestab', False) %}
{% for SN, SNDATA in salt['pillar.get']('nodestab', {}).items() %}
{% set NODETYPE = SN.split('_')|last %}
{% set SN = SN | regex_replace('_' ~ NODETYPE, '') %}
dashboardsearch-{{ SN }}:
file.managed:
- name: /opt/so/conf/grafana/grafana_dashboards/search_nodes/{{ SN }}-Node.json
- user: 939
- group: 939
- template: jinja
- source: salt://grafana/dashboards/search_nodes/searchnode.json
- defaults:
SERVERNAME: {{ SN }}
MANINT: {{ SNDATA.manint }}
CPUS: {{ SNDATA.totalcpus }}
UID: {{ SNDATA.guid }}
ROOTFS: {{ SNDATA.rootfs }}
NSMFS: {{ SNDATA.nsmfs }}
{% endfor %}
{% endif %}
{% if salt['pillar.get']('evaltab', False) %}
{% for SN, SNDATA in salt['pillar.get']('evaltab', {}).items() %}
{% set NODETYPE = SN.split('_')|last %}
{% set SN = SN | regex_replace('_' ~ NODETYPE, '') %}
dashboard-{{ SN }}:
file.managed:
- name: /opt/so/conf/grafana/grafana_dashboards/eval/{{ SN }}-Node.json
- user: 939
- group: 939
- template: jinja
- source: salt://grafana/dashboards/eval/eval.json
- defaults:
SERVERNAME: {{ SN }}
MANINT: {{ SNDATA.manint }}
MONINT: {{ SNDATA.monint }}
CPUS: {{ SNDATA.totalcpus }}
UID: so_overview
ROOTFS: {{ SNDATA.rootfs }}
NSMFS: {{ SNDATA.nsmfs }}
{% endfor %}
{% endif %}
so-grafana:
docker_container.running:
@@ -283,4 +141,4 @@ append_so-grafana_so-status.conf:
test.fail_without_changes:
- name: {{sls}}_state_not_allowed
{% endif %}
{% endif %}

View File

@@ -0,0 +1,157 @@
{
"type": "graph",
"title": "Container CPU Usage Current",
"gridPos": {
"x": {{ PANELS.cpu_docker_combined_current_graph.gridPos.x }},
"y": {{ PANELS.cpu_docker_combined_current_graph.gridPos.y }},
"w": {{ PANELS.cpu_docker_combined_current_graph.gridPos.w }},
"h": {{ PANELS.cpu_docker_combined_current_graph.gridPos.h }}
},
"id": 100,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "container_name",
"operator": "=~",
"value": "/^$containers$/"
}
],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "tag",
"params": [
"container_name"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"usage_percent"
]
},
{
"type": "mean",
"params": []
},
{
"type": "math",
"params": [
" / $cpucount"
]
}
]
],
"measurement": "docker_container_cpu",
"alias": "$tag_container_name"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "percent",
"$$hashKey": "object:315"
},
{
"label": null,
"show": false,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:316"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"fill": 1,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"show": true,
"values": false,
"min": false,
"max": false,
"current": false,
"total": false,
"avg": false,
"alignAsTable": false,
"rightSide": false,
"hideZero": false
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 2
},
"aliasColors": {},
"seriesOverrides": [],
"thresholds": [],
"timeRegions": [],
"decimals": null,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null,
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,158 @@
{
"type": "graph",
"title": "Container CPU Usage Trend",
"gridPos": {
"x": {{ PANELS.cpu_docker_combined_trend_graph.gridPos.x }},
"y": {{ PANELS.cpu_docker_combined_trend_graph.gridPos.y }},
"w": {{ PANELS.cpu_docker_combined_trend_graph.gridPos.w }},
"h": {{ PANELS.cpu_docker_combined_trend_graph.gridPos.h }}
},
"id": 101,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "so_long_term",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "container_name",
"operator": "=~",
"value": "/^$containers$/"
}
],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "tag",
"params": [
"container_name"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"mean_usage_percent"
]
},
{
"type": "mean",
"params": []
},
{
"type": "math",
"params": [
" / $cpucount"
]
}
]
],
"measurement": "docker_container_cpu",
"alias": "$tag_container_name"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "percent",
"$$hashKey": "object:315"
},
{
"label": null,
"show": false,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:316"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"fill": 1,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"show": true,
"values": true,
"min": false,
"max": false,
"current": false,
"total": false,
"avg": true,
"alignAsTable": false,
"rightSide": false,
"hideZero": false
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 2
},
"aliasColors": {},
"seriesOverrides": [],
"thresholds": [],
"timeRegions": [],
"decimals": 1,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null,
"description": "",
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,166 @@
{
"aliasColors": {},
"dashLength": 10,
"datasource": "InfluxDB",
"decimals": 1,
"fieldConfig": {
"defaults": {
"unit": "percent"
},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.cpu_usage_current_graph.gridPos.x }},
"y": {{ PANELS.cpu_usage_current_graph.gridPos.y }},
"w": {{ PANELS.cpu_usage_current_graph.gridPos.w }},
"h": {{ PANELS.cpu_usage_current_graph.gridPos.h }}
},
"id": 69001,
"interval": "30",
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"maxDataPoints": 750,
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"pluginVersion": "7.5.4",
"pointradius": 2,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"targets": [
{
"alias": "$tag_host $tag_role",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"host"
],
"type": "tag"
},
{
"type": "tag",
"params": [
"role"
]
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "cpu",
"orderByTime": "ASC",
"policy": "default",
"queryType": "randomWalk",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"type": "field",
"params": [
"usage_idle"
]
},
{
"type": "mean",
"params": []
},
{
"type": "math",
"params": [
"*-1 + 100"
]
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "cpu",
"operator": "=",
"value": "cpu-total"
}
]
}
],
"thresholds": [],
"timeRegions": [],
"title": "CPU Usage",
"tooltip": {
"shared": true,
"sort": 2,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:933",
"format": "percent",
"label": null,
"logBase": 1,
"max": null,
"min": "0",
"show": true
},
{
"$$hashKey": "object:934",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"bars": false,
"dashes": false,
"fill": 0,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,135 @@
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": [
"rgba(50, 172, 45, 0.97)",
"rgba(237, 129, 40, 0.89)",
"rgba(245, 54, 54, 0.9)"
],
"datasource": "InfluxDB",
"editable": true,
"error": false,
"format": "percent",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": true,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"x": {{ PANELS.cpu_usage_guage.gridPos.x }},
"y": {{ PANELS.cpu_usage_guage.gridPos.y }},
"w": {{ PANELS.cpu_usage_guage.gridPos.w }},
"h": {{ PANELS.cpu_usage_guage.gridPos.h }}
},
"height": "150",
"id": 9,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(31, 120, 193)",
"show": false
},
"tableColumn": "",
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "cpu",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"usage_idle"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"* -1 + 100"
],
"type": "math"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "cpu",
"operator": "=",
"value": "cpu-total"
}
]
}
],
"thresholds": "70,80,90",
"title": "CPU usage",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "current",
"fieldConfig": {
"defaults": {},
"overrides": []
}
}

View File

@@ -0,0 +1,183 @@
{
"aliasColors": {},
"dashLength": 10,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"fill": 1,
"gridPos": {
"x": {{ PANELS.cpu_usage_tasks_all_graph.gridPos.x }},
"y": {{ PANELS.cpu_usage_tasks_all_graph.gridPos.y }},
"w": {{ PANELS.cpu_usage_tasks_all_graph.gridPos.w }},
"h": {{ PANELS.cpu_usage_tasks_all_graph.gridPos.h }}
},
"id": 61871,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"hideEmpty": true,
"hideZero": true,
"max": true,
"min": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"pluginVersion": "7.5.4",
"pointradius": 2,
"renderer": "flot",
"seriesOverrides": [
{
"$$hashKey": "object:266",
"alias": "/trend/",
"fill": 0,
"linewidth": 4,
"dashes": true,
"dashLength": 4
}
],
"spaceLength": 10,
"targets": [
{
"alias": "$tag_host: $col",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT mean(usage_user) as \"user\", mean(usage_system) as \"system\", mean(usage_softirq) as \"softirq\", mean(usage_steal) as \"steal\", mean(usage_nice) as \"nice\", mean(usage_irq) as \"irq\", mean(usage_iowait) as \"iowait\", mean(usage_guest) as \"guest\", mean(usage_guest_nice) as \"guest_nice\" FROM \"cpu\" WHERE \"host\" =~ /^$servername$/ and cpu = 'cpu-total' AND $timeFilter GROUP BY time($__interval), *",
"queryType": "randomWalk",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
},
{
"alias": "$tag_host: $col",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT mean(mean_usage_user) as \"trend_user\", mean(mean_usage_system) as \"trend_system\", mean(mean_usage_softirq) as \"trend_softirq\", mean(mean_usage_steal) as \"trend_steal\", mean(mean_usage_nice) as \"trend_nice\", mean(mean_usage_irq) as \"trend_irq\", mean(mean_usage_iowait) as \"trend_iowait\", mean(mean_usage_guest) as \"trend_guest\", mean(mean_usage_guest_nice) as \"trend_guest_nice\" FROM \"so_long_term\".\"cpu\" WHERE \"host\" =~ /^$servername$/ and cpu = 'cpu-total' AND $timeFilter GROUP BY time($__interval), *",
"queryType": "randomWalk",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [],
"hide": false
}
],
"thresholds": [],
"timeRegions": [],
"title": "CPU Usage",
"tooltip": {
"shared": true,
"sort": 2,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:202",
"decimals": null,
"format": "percent",
"label": null,
"logBase": 1,
"max": "100",
"min": "0",
"show": true
},
{
"$$hashKey": "object:203",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"bars": false,
"dashes": false,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null,
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,132 @@
{
"type": "graph",
"title": "CPU Tasks Blocked",
"gridPos": {
"x": {{ PANELS.cpu_usage_tasks_blocked_graph.gridPos.x }},
"y": {{ PANELS.cpu_usage_tasks_blocked_graph.gridPos.y }},
"w": {{ PANELS.cpu_usage_tasks_blocked_graph.gridPos.w }},
"h": {{ PANELS.cpu_usage_tasks_blocked_graph.gridPos.h }}
},
"id": 69005,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT mean(blocked) as blocked FROM \"processes\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), host, role ORDER BY asc",
"rawQuery": true,
"alias": "$tag_host $tag_role"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": 0,
"max": null,
"format": "short",
"$$hashKey": "object:412"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:413"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 2
},
"aliasColors": {},
"seriesOverrides": [],
"thresholds": [],
"timeRegions": [],
"fill": 0,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,132 @@
{
"type": "graph",
"title": "CPU Tasks Paging",
"gridPos": {
"x": {{ PANELS.cpu_usage_tasks_paging_graph.gridPos.x }},
"y": {{ PANELS.cpu_usage_tasks_paging_graph.gridPos.y }},
"w": {{ PANELS.cpu_usage_tasks_paging_graph.gridPos.w }},
"h": {{ PANELS.cpu_usage_tasks_paging_graph.gridPos.h }}
},
"id": 69008,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT mean(paging) as paging FROM \"processes\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), host, role ORDER BY asc",
"rawQuery": true,
"alias": "$tag_host $tag_role"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": 0,
"max": null,
"format": "short",
"$$hashKey": "object:412"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:413"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 2
},
"aliasColors": {},
"seriesOverrides": [],
"thresholds": [],
"timeRegions": [],
"fill": 0,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,132 @@
{
"type": "graph",
"title": "CPU Tasks Running",
"gridPos": {
"x": {{ PANELS.cpu_usage_tasks_running_graph.gridPos.x }},
"y": {{ PANELS.cpu_usage_tasks_running_graph.gridPos.y }},
"w": {{ PANELS.cpu_usage_tasks_running_graph.gridPos.w }},
"h": {{ PANELS.cpu_usage_tasks_running_graph.gridPos.h }}
},
"id": 69003,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT mean(running) as running FROM \"processes\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), host, role ORDER BY asc",
"rawQuery": true,
"alias": "$tag_host $tag_role"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": 0,
"max": null,
"format": "short",
"$$hashKey": "object:412"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:413"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 2
},
"aliasColors": {},
"seriesOverrides": [],
"thresholds": [],
"timeRegions": [],
"fill": 0,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,132 @@
{
"type": "graph",
"title": "CPU Tasks Sleeping",
"gridPos": {
"x": {{ PANELS.cpu_usage_tasks_sleeping_graph.gridPos.x }},
"y": {{ PANELS.cpu_usage_tasks_sleeping_graph.gridPos.y }},
"w": {{ PANELS.cpu_usage_tasks_sleeping_graph.gridPos.w }},
"h": {{ PANELS.cpu_usage_tasks_sleeping_graph.gridPos.h }}
},
"id": 69006,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT mean(sleeping) as sleeping FROM \"processes\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), host, role ORDER BY asc",
"rawQuery": true,
"alias": "$tag_host $tag_role"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": 0,
"max": null,
"format": "short",
"$$hashKey": "object:412"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:413"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 2
},
"aliasColors": {},
"seriesOverrides": [],
"thresholds": [],
"timeRegions": [],
"fill": 0,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,132 @@
{
"type": "graph",
"title": "CPU Tasks Stopped",
"gridPos": {
"x": {{ PANELS.cpu_usage_tasks_stopped_graph.gridPos.x }},
"y": {{ PANELS.cpu_usage_tasks_stopped_graph.gridPos.y }},
"w": {{ PANELS.cpu_usage_tasks_stopped_graph.gridPos.w }},
"h": {{ PANELS.cpu_usage_tasks_stopped_graph.gridPos.h }}
},
"id": 69007,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT mean(stopped) as stopped FROM \"processes\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), host, role ORDER BY asc",
"rawQuery": true,
"alias": "$tag_host $tag_role"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": 0,
"max": null,
"format": "short",
"$$hashKey": "object:412"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:413"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 2
},
"aliasColors": {},
"seriesOverrides": [],
"thresholds": [],
"timeRegions": [],
"fill": 0,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,132 @@
{
"type": "graph",
"title": "CPU Tasks Unknown",
"gridPos": {
"x": {{ PANELS.cpu_usage_tasks_unknown_graph.gridPos.x }},
"y": {{ PANELS.cpu_usage_tasks_unknown_graph.gridPos.y }},
"w": {{ PANELS.cpu_usage_tasks_unknown_graph.gridPos.w }},
"h": {{ PANELS.cpu_usage_tasks_unknown_graph.gridPos.h }}
},
"id": 69009,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT mean(unknown) as unknown FROM \"processes\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), host, role ORDER BY asc",
"rawQuery": true,
"alias": "$tag_host $tag_role"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": 0,
"max": null,
"format": "short",
"$$hashKey": "object:412"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:413"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 2
},
"aliasColors": {},
"seriesOverrides": [],
"thresholds": [],
"timeRegions": [],
"fill": 0,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,132 @@
{
"type": "graph",
"title": "CPU Tasks Zombies",
"gridPos": {
"x": {{ PANELS.cpu_usage_tasks_zombies_graph.gridPos.x }},
"y": {{ PANELS.cpu_usage_tasks_zombies_graph.gridPos.y }},
"w": {{ PANELS.cpu_usage_tasks_zombies_graph.gridPos.w }},
"h": {{ PANELS.cpu_usage_tasks_zombies_graph.gridPos.h }}
},
"id": 69004,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT mean(zombies) as zombies FROM \"processes\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), host, role ORDER BY asc",
"rawQuery": true,
"alias": "$tag_host $tag_role"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": 0,
"max": null,
"format": "short",
"$$hashKey": "object:412"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:413"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 2
},
"aliasColors": {},
"seriesOverrides": [],
"thresholds": [],
"timeRegions": [],
"fill": 0,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,194 @@
{
"aliasColors": {},
"maxDataPoints": 750,
"interval": "30s",
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "InfluxDB",
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"grid": {},
"gridPos": {
"x": {{ PANELS.disk_io_bytes_graph.gridPos.x }},
"y": {{ PANELS.disk_io_bytes_graph.gridPos.y }},
"w": {{ PANELS.disk_io_bytes_graph.gridPos.w }},
"h": {{ PANELS.disk_io_bytes_graph.gridPos.h }}
},
"hiddenSeries": false,
"id": 60200,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"hideEmpty": true,
"max": true,
"min": false,
"rightSide": false,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"maxPerRow": 6,
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.5.4",
"pointradius": 5,
"points": false,
"renderer": "flot",
"repeat": null,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [{
"alias": "$tag_host: $tag_name: $col",
"dsType": "influxdb",
"function": "mean",
"groupBy": [{
"interval": "auto",
"params": [
"auto"
],
"type": "time"
},
{
"key": "host",
"params": [
"tag"
],
"type": "tag"
},
{
"key": "path",
"params": [
"tag"
],
"type": "tag"
}
],
"measurement": "io_reads",
"policy": "default",
"query": "SELECT non_negative_derivative(mean(read_bytes),1s) as \"read\" FROM \"diskio\" WHERE \"host\" =~ /$servername$/ AND \"name\" =~ /$disk$/ AND $timeFilter GROUP BY time($__interval), *",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
},
{
"alias": "$tag_host: $tag_name: $col",
"dsType": "influxdb",
"function": "mean",
"groupBy": [{
"interval": "auto",
"params": [
"auto"
],
"type": "time"
},
{
"key": "host",
"params": [
"tag"
],
"type": "tag"
},
{
"key": "path",
"params": [
"tag"
],
"type": "tag"
}
],
"measurement": "io_reads",
"policy": "default",
"query": "SELECT non_negative_derivative(mean(write_bytes),1s) as \"write\" FROM \"diskio\" WHERE \"host\" =~ /$servername$/ AND \"name\" =~ /$disk$/ AND $timeFilter GROUP BY time($__interval), *",
"rawQuery": true,
"refId": "C",
"resultFormat": "time_series",
"select": [
[{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Disk I/O bytes for /dev/$disk",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [{
"format": "bytes",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}

View File

@@ -0,0 +1,193 @@
{
"aliasColors": {},
"maxDataPoints": 750,
"interval": "30s",
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "InfluxDB",
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"grid": {},
"gridPos": {
"x": {{ PANELS.disk_io_requests_graph.gridPos.x }},
"y": {{ PANELS.disk_io_requests_graph.gridPos.y }},
"w": {{ PANELS.disk_io_requests_graph.gridPos.w }},
"h": {{ PANELS.disk_io_requests_graph.gridPos.h }}
},
"hiddenSeries": false,
"id": 13782,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"hideEmpty": true,
"max": true,
"min": false,
"rightSide": false,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"maxPerRow": 6,
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.5.4",
"pointradius": 5,
"points": false,
"renderer": "flot",
"repeat": null,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [{
"alias": "$tag_host: $tag_name: $col",
"dsType": "influxdb",
"function": "mean",
"groupBy": [{
"interval": "auto",
"params": [
"auto"
],
"type": "time"
},
{
"key": "host",
"params": [
"tag"
],
"type": "tag"
},
{
"key": "path",
"params": [
"tag"
],
"type": "tag"
}
],
"measurement": "io_reads",
"policy": "default",
"query": "SELECT non_negative_derivative(mean(reads),1s) as \"read\" FROM \"diskio\" WHERE \"host\" =~ /$servername$/ AND \"name\" =~ /$disk$/ AND $timeFilter GROUP BY time($__interval), *",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
},
{
"alias": "$tag_host: $tag_name: $col",
"dsType": "influxdb",
"function": "mean",
"groupBy": [{
"interval": "auto",
"params": [
"auto"
],
"type": "time"
},
{
"key": "host",
"params": [
"tag"
],
"type": "tag"
},
{
"key": "path",
"params": [
"tag"
],
"type": "tag"
}
],
"measurement": "io_reads",
"policy": "default",
"query": "SELECT non_negative_derivative(mean(writes),1s) as \"write\" FROM \"diskio\" WHERE \"host\" =~ /$servername$/ AND \"name\" =~ /$disk$/ AND $timeFilter GROUP BY time($__interval), *",
"rawQuery": true,
"refId": "C",
"resultFormat": "time_series",
"select": [
[{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Disk I/O requests for /dev/$disk",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [{
"format": "iops",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}

View File

@@ -0,0 +1,193 @@
{
"aliasColors": {},
"maxDataPoints": 750,
"interval": "30s",
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "InfluxDB",
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"grid": {},
"gridPos": {
"x": {{ PANELS.disk_io_time_graph.gridPos.x }},
"y": {{ PANELS.disk_io_time_graph.gridPos.y }},
"w": {{ PANELS.disk_io_time_graph.gridPos.w }},
"h": {{ PANELS.disk_io_time_graph.gridPos.h }}
},
"hiddenSeries": false,
"id": 56720,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"hideEmpty": true,
"max": true,
"min": false,
"rightSide": false,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"maxPerRow": 6,
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.5.4",
"pointradius": 5,
"points": false,
"renderer": "flot",
"repeat": null,
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [{
"alias": "$tag_host: $tag_name: $col",
"dsType": "influxdb",
"function": "mean",
"groupBy": [{
"interval": "auto",
"params": [
"auto"
],
"type": "time"
},
{
"key": "host",
"params": [
"tag"
],
"type": "tag"
},
{
"key": "path",
"params": [
"tag"
],
"type": "tag"
}
],
"measurement": "io_reads",
"policy": "default",
"query": "SELECT non_negative_derivative(mean(read_time),1s) as \"read\" FROM \"diskio\" WHERE \"host\" =~ /$servername$/ AND \"name\" =~ /$disk$/ AND $timeFilter GROUP BY time($__interval), *",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
},
{
"alias": "$tag_host: $tag_name: $col",
"dsType": "influxdb",
"function": "mean",
"groupBy": [{
"interval": "auto",
"params": [
"auto"
],
"type": "time"
},
{
"key": "host",
"params": [
"tag"
],
"type": "tag"
},
{
"key": "path",
"params": [
"tag"
],
"type": "tag"
}
],
"measurement": "io_reads",
"policy": "default",
"query": "SELECT non_negative_derivative(mean(write_time),1s) as \"write\" FROM \"diskio\" WHERE \"host\" =~ /$servername$/ AND \"name\" =~ /$disk$/ AND $timeFilter GROUP BY time($__interval), *",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Disk I/O time for /dev/$disk",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [{
"format": "ms",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}

View File

@@ -0,0 +1,186 @@
{
"type": "graph",
"title": "Disk Usage /nsm",
"gridPos": {
"x": {{ PANELS.disk_usage_nsm_graph.gridPos.x }},
"y": {{ PANELS.disk_usage_nsm_graph.gridPos.y }},
"w": {{ PANELS.disk_usage_nsm_graph.gridPos.w }},
"h": {{ PANELS.disk_usage_nsm_graph.gridPos.h }}
},
"id": 68888,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT mean(total) AS \"total\", mean(used) as \"used\" FROM \"disk\" WHERE \"host\" =~ /$servername$/ AND \"path\" = '/nsm' AND $timeFilter GROUP BY time($__interval), \"host\", \"path\"",
"rawQuery": true,
"alias": "$tag_host: mountpoint $tag_path - $col"
},
{
"refId": "B",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT mean(mean_total) AS \"trend_total\", mean(mean_used) as \"trend_used\" FROM \"so_long_term\".\"disk\" WHERE \"host\" =~ /$servername$/ AND \"path\" = '/nsm' AND $timeFilter GROUP BY time($__interval), \"host\", \"path\"",
"rawQuery": true,
"alias": "$tag_host: mountpoint $tag_path - $col",
"hide": false
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": "0",
"max": null,
"format": "bytes",
"$$hashKey": "object:235"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:236"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"fill": 1,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"show": true,
"values": true,
"min": false,
"max": true,
"current": true,
"total": false,
"avg": true,
"alignAsTable": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 0
},
"aliasColors": {},
"seriesOverrides": [
{
"$$hashKey": "object:486",
"alias": "/total/",
"fill": 0,
"linewidth": 2,
"color": "#C4162A",
"zindex": 3
},
{
"$$hashKey": "object:829",
"alias": "/trend/",
"fill": 0,
"linewidth": 4,
"dashes": true,
"dashLength": 4
}
],
"thresholds": [],
"timeRegions": [],
"steppedLine": true,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,161 @@
{
"aliasColors": {},
"dashLength": 10,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.disk_usage_nsm_percent_graph.gridPos.x }},
"y": {{ PANELS.disk_usage_nsm_percent_graph.gridPos.y }},
"w": {{ PANELS.disk_usage_nsm_percent_graph.gridPos.w }},
"h": {{ PANELS.disk_usage_nsm_percent_graph.gridPos.h }}
},
"id": 47230,
"interval": "30s",
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"maxDataPoints": 750,
"nullPointMode": "connected",
"options": {
"alertThreshold": false
},
"pluginVersion": "7.5.4",
"pointradius": 2,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"steppedLine": true,
"targets": [
{
"alias": "$tag_host $tag_role",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"type": "tag",
"params": [
"host"
]
},
{
"type": "tag",
"params": [
"role"
]
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT mean(total) AS \"total\", mean(used) as \"used\" FROM \"disk\" WHERE \"host\" =~ /$servername$/ AND \"path\" = '/nsm' AND $timeFilter GROUP BY time($__interval), \"host\", \"path\"",
"queryType": "randomWalk",
"rawQuery": false,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"used_percent"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "path",
"operator": "=",
"value": "/nsm"
}
],
"measurement": "disk"
}
],
"thresholds": [],
"timeRegions": [],
"title": "Disk Usage /nsm",
"tooltip": {
"shared": true,
"sort": 2,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:235",
"format": "percent",
"label": "",
"logBase": 1,
"max": "100",
"min": "0",
"show": true,
"decimals": 1
},
{
"$$hashKey": "object:236",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"fill": 0,
"bars": false,
"dashes": false,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"timeFrom": null,
"timeShift": null,
"decimals": 1
}

View File

@@ -0,0 +1,186 @@
{
"type": "graph",
"title": "Disk Usage /",
"gridPos": {
"x": {{ PANELS.disk_usage_root_graph.gridPos.x }},
"y": {{ PANELS.disk_usage_root_graph.gridPos.y }},
"w": {{ PANELS.disk_usage_root_graph.gridPos.w }},
"h": {{ PANELS.disk_usage_root_graph.gridPos.h }}
},
"id": 61880,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT mean(total) AS \"total\", mean(used) as \"used\" FROM \"disk\" WHERE \"host\" =~ /$servername$/ AND \"path\" = '/' AND $timeFilter GROUP BY time($__interval), \"host\", \"path\"",
"rawQuery": true,
"alias": "$tag_host: mountpoint $tag_path - $col"
},
{
"refId": "B",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT mean(mean_total) AS \"trend_total\", mean(mean_used) as \"trend_used\" FROM \"so_long_term\".\"disk\" WHERE \"host\" =~ /$servername$/ AND \"path\" = '/' AND $timeFilter GROUP BY time($__interval), \"host\", \"path\"",
"rawQuery": true,
"alias": "$tag_host: mountpoint $tag_path - $col",
"hide": false
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": "0",
"max": null,
"format": "bytes",
"$$hashKey": "object:235"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:236"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"fill": 1,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"show": true,
"values": true,
"min": false,
"max": true,
"current": true,
"total": false,
"avg": true,
"alignAsTable": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 0
},
"aliasColors": {},
"seriesOverrides": [
{
"$$hashKey": "object:486",
"alias": "/total/",
"fill": 0,
"linewidth": 2,
"color": "#C4162A",
"zindex": 3
},
{
"$$hashKey": "object:829",
"alias": "/trend/",
"fill": 0,
"linewidth": 4,
"dashes": true,
"dashLength": 4
}
],
"thresholds": [],
"timeRegions": [],
"steppedLine": true,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,161 @@
{
"aliasColors": {},
"dashLength": 10,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.disk_usage_root_percent_graph.gridPos.x }},
"y": {{ PANELS.disk_usage_root_percent_graph.gridPos.y }},
"w": {{ PANELS.disk_usage_root_percent_graph.gridPos.w }},
"h": {{ PANELS.disk_usage_root_percent_graph.gridPos.h }}
},
"id": 67830,
"interval": "30s",
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"maxDataPoints": 750,
"nullPointMode": "connected",
"options": {
"alertThreshold": false
},
"pluginVersion": "7.5.4",
"pointradius": 2,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"steppedLine": true,
"targets": [
{
"alias": "$tag_host $tag_role",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"type": "tag",
"params": [
"host"
]
},
{
"type": "tag",
"params": [
"role"
]
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT mean(total) AS \"total\", mean(used) as \"used\" FROM \"disk\" WHERE \"host\" =~ /$servername$/ AND \"path\" = '/' AND $timeFilter GROUP BY time($__interval), \"host\", \"path\"",
"queryType": "randomWalk",
"rawQuery": false,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"used_percent"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "path",
"operator": "=",
"value": "/"
}
],
"measurement": "disk"
}
],
"thresholds": [],
"timeRegions": [],
"title": "Disk Usage /",
"tooltip": {
"shared": true,
"sort": 2,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:235",
"format": "percent",
"label": "",
"logBase": 1,
"max": "100",
"min": "0",
"show": true,
"decimals": 1
},
{
"$$hashKey": "object:236",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"fill": 0,
"bars": false,
"dashes": false,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"timeFrom": null,
"timeShift": null,
"decimals": 1
}

View File

@@ -0,0 +1,193 @@
{
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.elasticsearch_document_count_graph.gridPos.x }},
"y": {{ PANELS.elasticsearch_document_count_graph.gridPos.y }},
"w": {{ PANELS.elasticsearch_document_count_graph.gridPos.w }},
"h": {{ PANELS.elasticsearch_document_count_graph.gridPos.h }}
},
"id": 33,
"links": [],
"maxDataPoints": 750,
"nullPointMode": "connected",
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "elasticsearch_indices",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"docs_count"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
],
"alias": "Document Count Current"
},
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "elasticsearch_indices",
"orderByTime": "ASC",
"policy": "so_long_term",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"mean_docs_count"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
],
"alias": "Document Count Trend",
"hide": false
}
],
"thresholds": [],
"title": "Document Count",
"type": "graph",
"options": {
"alertThreshold": true
},
"interval": "30s",
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:678"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:679"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"fill": 1,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"show": true,
"values": true,
"min": false,
"max": false,
"current": true,
"total": false,
"avg": false,
"alignAsTable": true,
"rightSide": false
},
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 0
},
"aliasColors": {},
"seriesOverrides": [
{
"$$hashKey": "object:1050",
"alias": "/Trend/",
"fill": 0,
"linewidth": 4,
"dashes": true,
"dashLength": 4
}
],
"timeRegions": [],
"cacheTimeout": null,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,191 @@
{
"aliasColors": {},
"bars": false,
"maxDataPoints": 750,
"interval": "30s",
"dashLength": 10,
"dashes": false,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"x": {{ PANELS.elasticsearch_field_data_cache_size_graph.gridPos.x }},
"y": {{ PANELS.elasticsearch_field_data_cache_size_graph.gridPos.y }},
"w": {{ PANELS.elasticsearch_field_data_cache_size_graph.gridPos.w }},
"h": {{ PANELS.elasticsearch_field_data_cache_size_graph.gridPos.h }}
},
"hiddenSeries": false,
"id": 6363,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"hideEmpty": true,
"max": true,
"min": false,
"rightSide": false,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.5.4",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "/Trend/",
"dashLength": 4,
"dashes": true,
"fill": 0,
"linewidth": 4
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "Size Current",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "elasticsearch_indices",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"fielddata_memory_size_in_bytes"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
},
{
"alias": "Size Trend",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": false,
"measurement": "elasticsearch_indices",
"orderByTime": "ASC",
"policy": "so_long_term",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"mean_fielddata_memory_size_in_bytes"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Fielddata Cache Size",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "decbytes",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}

View File

@@ -0,0 +1,195 @@
{
"aliasColors": {},
"bars": false,
"maxDataPoints": 750,
"interval": "30s",
"cacheTimeout": null,
"dashLength": 10,
"dashes": false,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"x": {{ PANELS.elasticsearch_store_size_graph.gridPos.x }},
"y": {{ PANELS.elasticsearch_store_size_graph.gridPos.y }},
"w": {{ PANELS.elasticsearch_store_size_graph.gridPos.w }},
"h": {{ PANELS.elasticsearch_store_size_graph.gridPos.h }}
},
"hiddenSeries": false,
"id": 63442,
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"hideEmpty": true,
"max": false,
"min": false,
"rightSide": false,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.5.4",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "/Trend/",
"dashLength": 4,
"dashes": true,
"fill": 0,
"linewidth": 4
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "Size Current",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "elasticsearch_indices",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"store_size_in_bytes"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
},
{
"alias": "Size Trend",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": false,
"measurement": "elasticsearch_indices",
"orderByTime": "ASC",
"policy": "so_long_term",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"mean_store_size_in_bytes"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Store Size",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "decbytes",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}

View File

@@ -0,0 +1,192 @@
{
"aliasColors": {},
"bars": false,
"maxDataPoints": 750,
"interval": "30s",
"dashLength": 10,
"dashes": false,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"x": {{ PANELS.elasticsearch_thread_count_graph.gridPos.x }},
"y": {{ PANELS.elasticsearch_thread_count_graph.gridPos.y }},
"w": {{ PANELS.elasticsearch_thread_count_graph.gridPos.w }},
"h": {{ PANELS.elasticsearch_thread_count_graph.gridPos.h }}
},
"hiddenSeries": false,
"id": 56565,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"hideEmpty": true,
"max": true,
"min": false,
"rightSide": false,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.5.4",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "/Trend/",
"dashLength": 4,
"dashes": true,
"fill": 0,
"linewidth": 4
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "Count Current",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "elasticsearch_jvm",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"threads_count"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
},
{
"alias": "Count Trend",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": false,
"measurement": "elasticsearch_jvm",
"orderByTime": "ASC",
"policy": "so_long_term",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"mean_threads_count"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Thread Count",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"decimals": 0,
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}

View File

@@ -0,0 +1,191 @@
{
"aliasColors": {},
"bars": false,
"maxDataPoints": 750,
"interval": "30s",
"dashLength": 10,
"dashes": false,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"x": {{ PANELS.influxdb_db_size_graph.gridPos.x }},
"y": {{ PANELS.influxdb_db_size_graph.gridPos.y }},
"w": {{ PANELS.influxdb_db_size_graph.gridPos.w }},
"h": {{ PANELS.influxdb_db_size_graph.gridPos.h }}
},
"hiddenSeries": false,
"id": 69,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"hideEmpty": true,
"max": true,
"min": false,
"rightSide": false,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.5.4",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "/Trend/",
"dashLength": 4,
"dashes": true,
"fill": 0,
"linewidth": 4
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "Size Current",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "influxsize",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"kbytes"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
},
{
"alias": "Size Trend",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": false,
"measurement": "influxsize",
"orderByTime": "ASC",
"policy": "so_long_term",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"mean_kbytes"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "InfluxDB Database Size",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "deckbytes",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}

View File

@@ -0,0 +1,155 @@
{
"type": "graph",
"title": "IO Wait",
"gridPos": {
"x": {{ PANELS.io_wait_graph.gridPos.x }},
"y": {{ PANELS.io_wait_graph.gridPos.y }},
"w": {{ PANELS.io_wait_graph.gridPos.w }},
"h": {{ PANELS.io_wait_graph.gridPos.h }}
},
"id": 69011,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "cpu",
"operator": "=",
"value": "cpu-total"
}
],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "tag",
"params": [
"host"
]
},
{
"type": "tag",
"params": [
"role"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"usage_iowait"
]
},
{
"type": "mean",
"params": []
}
]
],
"measurement": "cpu",
"alias": "$tag_host $tag_role"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": "0",
"max": null,
"format": "percent",
"$$hashKey": "object:1740"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:1741"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 2
},
"aliasColors": {},
"seriesOverrides": [],
"thresholds": [],
"timeRegions": [],
"fill": 0,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"decimals": 1,
"description": ""
}

View File

@@ -0,0 +1,122 @@
{
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "dark-green",
"value": null
},
{
"color": "rgba(237, 129, 40, 0.89)",
"value": 40
},
{
"color": "dark-red",
"value": 50
}
]
},
"mappings": [
{
"op": "=",
"text": "N/A",
"value": "null",
"$$hashKey": "object:1217",
"id": 0,
"type": 1
}
],
"unit": "percent",
"decimals": 2,
"color": {
"mode": "thresholds"
}
},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.io_wait_stat.gridPos.x }},
"y": {{ PANELS.io_wait_stat.gridPos.y }},
"w": {{ PANELS.io_wait_stat.gridPos.w }},
"h": {{ PANELS.io_wait_stat.gridPos.h }}
},
"id": 61867,
"links": [],
"maxDataPoints": 100,
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "cpu",
"policy": "default",
"query": "SELECT non_negative_derivative(mean(\"usage_iowait\"), 1s) FROM \"cpu\" WHERE (host =~ /$servername$/ AND \"cpu\" = 'cpu-total') AND $timeFilter GROUP BY time($interval) fill(null)",
"rawQuery": false,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"usage_iowait"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "cpu",
"operator": "=",
"value": "cpu-total"
}
],
"orderByTime": "ASC"
}
],
"title": "IOWait",
"type": "stat",
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "horizontal",
"text": {},
"textMode": "auto",
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto"
},
"cacheTimeout": null,
"interval": null,
"pluginVersion": "7.5.4"
}

View File

@@ -0,0 +1,113 @@
{
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "rgba(50, 172, 45, 0.97)",
"value": "$cpucount / 2"
},
{
"color": "rgba(237, 129, 40, 0.89)",
"value": "$cpucount / 1.5"
},
{
"color": "rgba(245, 54, 54, 0.9)",
"value": "$cpucount"
}
]
},
"mappings": [
{
"op": "=",
"text": "N/A",
"value": "null",
"id": 0,
"type": 2
}
],
"unit": "none",
"decimals": 1,
"color": {
"mode": "thresholds"
}
},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.load_average_5_minute_stat.gridPos.x }},
"y": {{ PANELS.load_average_5_minute_stat.gridPos.y }},
"w": {{ PANELS.load_average_5_minute_stat.gridPos.w }},
"h": {{ PANELS.load_average_5_minute_stat.gridPos.h }}
},
"id": 61859,
"links": [],
"maxDataPoints": 100,
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "system",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"load5"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
}
]
}
],
"title": "5 Minute Load Average - $cpucount Cores",
"type": "stat",
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "horizontal",
"text": {},
"textMode": "auto",
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto"
},
"pluginVersion": "7.5.4",
"cacheTimeout": null,
"interval": null
}

View File

@@ -0,0 +1,180 @@
{
"aliasColors": {},
"dashLength": 10,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.load_averages_graph.gridPos.x }},
"y": {{ PANELS.load_averages_graph.gridPos.y }},
"w": {{ PANELS.load_averages_graph.gridPos.w }},
"h": {{ PANELS.load_averages_graph.gridPos.h }}
},
"id": 61869,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"pluginVersion": "7.5.4",
"pointradius": 2,
"renderer": "flot",
"seriesOverrides": [
{
"$$hashKey": "object:364",
"alias": "/trend/",
"fill": 0,
"linewidth": 4,
"dashes": true,
"dashLength": 4
}
],
"spaceLength": 10,
"targets": [
{
"alias": "$tag_host: $col",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT mean(load1) as \"1 minute\", mean(load5) as \"5 minutes\", mean(load15) as \"15 minutes\" FROM \"system\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), * ORDER BY asc",
"queryType": "randomWalk",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
},
{
"alias": "$tag_host: $col",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT mean(mean_load1) as \"trend_1 minute\", mean(mean_load5) as \"trend_5 minutes\", mean(mean_load15) as \"trend_15 minutes\" FROM \"so_long_term\".\"system\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), * ORDER BY asc",
"queryType": "randomWalk",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [],
"hide": false
}
],
"thresholds": [],
"timeRegions": [],
"title": "Load Averages - $cpucount Cores",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:287",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"$$hashKey": "object:288",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"bars": false,
"dashes": false,
"fill": 0,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null,
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,192 @@
{
"aliasColors": {},
"bars": false,
"maxDataPoints": 750,
"interval": "30s",
"dashLength": 10,
"dashes": false,
"datasource": "InfluxDB",
"description": "",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"x": {{ PANELS.logstash_estimated_eps_graph.gridPos.x }},
"y": {{ PANELS.logstash_estimated_eps_graph.gridPos.y }},
"w": {{ PANELS.logstash_estimated_eps_graph.gridPos.w }},
"h": {{ PANELS.logstash_estimated_eps_graph.gridPos.h }}
},
"hiddenSeries": false,
"id": 76,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"hideEmpty": true,
"max": true,
"min": false,
"rightSide": false,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "connected",
"options": {
"alertThreshold": false
},
"percentage": false,
"pluginVersion": "7.5.4",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "/Trend/",
"dashLength": 4,
"dashes": true,
"fill": 0,
"linewidth": 4
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "EPS Current",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "consumptioneps",
"orderByTime": "ASC",
"policy": "default",
"queryType": "randomWalk",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"eps"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
},
{
"alias": "EPS Trend",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": false,
"measurement": "consumptioneps",
"orderByTime": "ASC",
"policy": "so_long_term",
"queryType": "randomWalk",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"mean_eps"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Estimated EPS",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": "EPS",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}

View File

@@ -0,0 +1,112 @@
{
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "dark-red",
"value": null
},
{
"value": 1,
"color": "dark-green"
}
]
},
"mappings": [
{
"op": "=",
"text": "N/A",
"value": "null",
"$$hashKey": "object:730",
"id": 0,
"type": 1
}
],
"unit": "short",
"decimals": 0,
"color": {
"mode": "thresholds"
}
},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.logstash_estimated_eps_stat.gridPos.x }},
"y": {{ PANELS.logstash_estimated_eps_stat.gridPos.y }},
"w": {{ PANELS.logstash_estimated_eps_stat.gridPos.w }},
"h": {{ PANELS.logstash_estimated_eps_stat.gridPos.h }}
},
"id": 23,
"interval": "30s",
"links": [],
"maxDataPoints": 750,
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "consumptioneps",
"orderByTime": "ASC",
"policy": "default",
"queryType": "randomWalk",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"eps"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
}
],
"title": "Estimated EPS",
"type": "stat",
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "horizontal",
"text": {},
"textMode": "value",
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto"
},
"cacheTimeout": null,
"pluginVersion": "7.5.4",
"timeFrom": null
}

View File

@@ -0,0 +1,263 @@
{
"type": "graph",
"title": "Management Interface Drops",
"gridPos": {
"x": {{ PANELS.management_interface_drops_graph.gridPos.x }},
"y": {{ PANELS.management_interface_drops_graph.gridPos.y }},
"w": {{ PANELS.management_interface_drops_graph.gridPos.w }},
"h": {{ PANELS.management_interface_drops_graph.gridPos.h }}
},
"id": 61877,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(drop_in), 1s) as \"in\" FROM \"net\" WHERE host =~ /$servername/ AND interface =~ /$manint/ AND $timeFilter GROUP BY time($__interval), host,interface fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col"
},
{
"refId": "B",
"hide": false,
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(drop_out), 1s) as \"out\" FROM \"net\" WHERE host =~ /$servername/ AND interface =~ /$manint/ AND $timeFilter GROUP BY time($__interval), host,interface fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col"
},
{
"refId": "C",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(mean_drop_in), 1s) as \"trend_in\" FROM \"so_long_term\".\"net\" WHERE host =~ /$servername/ AND interface =~ /$manint/ AND $timeFilter GROUP BY time($__interval), host,interface fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col",
"hide": false
},
{
"refId": "D",
"hide": false,
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(mean_drop_out), 1s) as \"trend_out\" FROM \"so_long_term\".\"net\" WHERE host =~ /$servername/ AND interface =~ /$manint/ AND $timeFilter GROUP BY time($__interval), host,interface fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": "Drops per second",
"show": true,
"logBase": 1,
"min": 0,
"max": null,
"format": "pps",
"$$hashKey": "object:500"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:501"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"fill": 1,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"show": true,
"values": true,
"min": false,
"max": true,
"current": true,
"total": false,
"avg": true,
"alignAsTable": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 0
},
"aliasColors": {},
"seriesOverrides": [
{
"$$hashKey": "object:592",
"alias": "/veth/",
"hiddenSeries": true,
"legend": false
},
{
"$$hashKey": "object:621",
"alias": "/trend/",
"fill": 0,
"linewidth": 4,
"dashes": true,
"dashLength": 4
}
],
"thresholds": [],
"timeRegions": [],
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"decimals": 0,
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,143 @@
{
"aliasColors": {},
"dashLength": 10,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.management_interface_drops_inbound_graph.gridPos.x }},
"y": {{ PANELS.management_interface_drops_inbound_graph.gridPos.y }},
"w": {{ PANELS.management_interface_drops_inbound_graph.gridPos.w }},
"h": {{ PANELS.management_interface_drops_inbound_graph.gridPos.h }}
},
"id": 61877,
"interval": "30s",
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"maxDataPoints": 750,
"nullPointMode": "connected",
"options": {
"alertThreshold": false
},
"pluginVersion": "7.5.4",
"pointradius": 2,
"renderer": "flot",
"seriesOverrides": [
{
"$$hashKey": "object:592",
"alias": "/veth/",
"hiddenSeries": true,
"legend": false
}
],
"spaceLength": 10,
"targets": [
{
"alias": "$tag_host: $tag_role",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT non_negative_derivative(mean(drop_in), 1s) as \"in\" FROM \"net\" WHERE host =~ /$servername/ AND interface =~ /$manint/ AND $timeFilter GROUP BY time($__interval), host,role fill(none)",
"queryType": "randomWalk",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": [],
"timeRegions": [],
"title": "Management Interface Drops - Inbound",
"tooltip": {
"shared": true,
"sort": 2,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:500",
"format": "pps",
"label": "Drops per second",
"logBase": 1,
"max": null,
"min": 0,
"show": true
},
{
"$$hashKey": "object:501",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true,
"decimals": 0
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"fill": 0,
"bars": false,
"dashes": false,
"decimals": 0,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,143 @@
{
"aliasColors": {},
"dashLength": 10,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.management_interface_drops_outbound_graph.gridPos.x }},
"y": {{ PANELS.management_interface_drops_outbound_graph.gridPos.y }},
"w": {{ PANELS.management_interface_drops_outbound_graph.gridPos.w }},
"h": {{ PANELS.management_interface_drops_outbound_graph.gridPos.h }}
},
"id": 188189,
"interval": "30s",
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"maxDataPoints": 750,
"nullPointMode": "connected",
"options": {
"alertThreshold": false
},
"pluginVersion": "7.5.4",
"pointradius": 2,
"renderer": "flot",
"seriesOverrides": [
{
"$$hashKey": "object:592",
"alias": "/veth/",
"hiddenSeries": true,
"legend": false
}
],
"spaceLength": 10,
"targets": [
{
"alias": "$tag_host: $tag_role",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": false,
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT non_negative_derivative(mean(drop_out), 1s) as \"out\" FROM \"net\" WHERE host =~ /$servername/ AND interface =~ /$manint/ AND $timeFilter GROUP BY time($__interval), host,role fill(none)",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": [],
"timeRegions": [],
"title": "Management Interface Drops - Outbound",
"tooltip": {
"shared": true,
"sort": 2,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:500",
"format": "pps",
"label": "Drops per second",
"logBase": 1,
"max": null,
"min": 0,
"show": true
},
{
"$$hashKey": "object:501",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true,
"decimals": 0
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"fill": 0,
"bars": false,
"dashes": false,
"decimals": 0,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,262 @@
{
"type": "graph",
"title": "Management Interface Packets",
"gridPos": {
"x": {{ PANELS.management_interface_packets_graph.gridPos.x }},
"y": {{ PANELS.management_interface_packets_graph.gridPos.y }},
"w": {{ PANELS.management_interface_packets_graph.gridPos.w }},
"h": {{ PANELS.management_interface_packets_graph.gridPos.h }}
},
"id": 61875,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(packets_recv), 1s) as \"in\" FROM \"net\" WHERE host =~ /$servername/ AND interface =~ /$manint/ AND $timeFilter GROUP BY time($__interval), * fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col"
},
{
"refId": "B",
"hide": false,
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(packets_sent), 1s) as \"out\" FROM \"net\" WHERE host =~ /$servername/ AND interface =~ /$manint/ AND $timeFilter GROUP BY time($__interval), * fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col"
},
{
"refId": "C",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(mean_packets_recv), 1s) as \"trend_in\" FROM \"so_long_term\".\"net\" WHERE host =~ /$servername/ AND interface =~ /$manint/ AND $timeFilter GROUP BY time($__interval), * fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col",
"hide": false
},
{
"refId": "D",
"hide": false,
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(mean_packets_sent), 1s) as \"trend_out\" FROM \"so_long_term\".\"net\" WHERE host =~ /$servername/ AND interface =~ /$manint/ AND $timeFilter GROUP BY time($__interval), * fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": "Packets per second",
"show": true,
"logBase": 1,
"min": 0,
"max": null,
"format": "pps",
"$$hashKey": "object:241"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:242"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"fill": 1,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"show": true,
"values": true,
"min": false,
"max": true,
"current": true,
"total": false,
"avg": true,
"alignAsTable": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 0
},
"aliasColors": {},
"seriesOverrides": [
{
"$$hashKey": "object:413",
"alias": "/veth/",
"hiddenSeries": true,
"legend": false
},
{
"$$hashKey": "object:442",
"alias": "/trend/",
"fill": 0,
"linewidth": 4,
"dashes": true,
"dashLength": 4
}
],
"thresholds": [],
"timeRegions": [],
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,357 @@
{
"aliasColors": {
"InBound": "#629E51",
"OutBound": "#5195CE",
"net.non_negative_derivative": "super-light-blue"
},
"maxDataPoints": 750,
"interval": "30s",
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "InfluxDB",
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"x": {{ PANELS.management_interface_traffic_both_graph.gridPos.x }},
"y": {{ PANELS.management_interface_traffic_both_graph.gridPos.y }},
"w": {{ PANELS.management_interface_traffic_both_graph.gridPos.w }},
"h": {{ PANELS.management_interface_traffic_both_graph.gridPos.h }}
},
"hiddenSeries": false,
"id": 18,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.5.4",
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "/Trend/",
"dashLength": 4,
"dashes": true,
"fill": 0,
"linewidth": 4
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "Inbound Current",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "net",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"bytes_recv"
],
"type": "field"
},
{
"params": [],
"type": "mean"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
},
{
"params": [
"*8"
],
"type": "math"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
},
{
"condition": "AND",
"key": "interface",
"operator": "=",
"value": "$manint"
}
]
},
{
"alias": "Outbound Current",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "net",
"orderByTime": "ASC",
"policy": "default",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"bytes_sent"
],
"type": "field"
},
{
"params": [],
"type": "mean"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
},
{
"params": [
"*8"
],
"type": "math"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
},
{
"condition": "AND",
"key": "interface",
"operator": "=",
"value": "$manint"
}
]
},
{
"alias": "Inbound Trend",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": false,
"measurement": "net",
"orderByTime": "ASC",
"policy": "so_long_term",
"refId": "C",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"mean_bytes_recv"
],
"type": "field"
},
{
"params": [],
"type": "mean"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
},
{
"params": [
"*8"
],
"type": "math"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
},
{
"condition": "AND",
"key": "interface",
"operator": "=",
"value": "$manint"
}
]
},
{
"alias": "Outbound Trend",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": false,
"measurement": "net",
"orderByTime": "ASC",
"policy": "so_long_term",
"refId": "D",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"mean_bytes_sent"
],
"type": "field"
},
{
"params": [],
"type": "mean"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
},
{
"params": [
"*8"
],
"type": "math"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
},
{
"condition": "AND",
"key": "interface",
"operator": "=",
"value": "$manint"
}
]
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Management Interface Traffic - $manint",
"tooltip": {
"msResolution": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "bps",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}

View File

@@ -0,0 +1,182 @@
{
"aliasColors": {
"InBound": "#629E51",
"OutBound": "#5195CE",
"net.non_negative_derivative": "super-light-blue"
},
"dashLength": 10,
"datasource": "InfluxDB",
"decimals": 1,
"editable": true,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.management_interface_traffic_inbound_graph.gridPos.x }},
"y": {{ PANELS.management_interface_traffic_inbound_graph.gridPos.y }},
"w": {{ PANELS.management_interface_traffic_inbound_graph.gridPos.w }},
"h": {{ PANELS.management_interface_traffic_inbound_graph.gridPos.h }}
},
"id": 18,
"interval": "30s",
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"maxDataPoints": 750,
"nullPointMode": "connected",
"options": {
"alertThreshold": false
},
"pluginVersion": "7.5.4",
"pointradius": 5,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"targets": [
{
"alias": "$tag_host $tag_role",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"host"
],
"type": "tag"
},
{
"params": [
"role"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "net",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT non_negative_derivative(mean(\"bytes_recv\"), 1s) *8 FROM \"net\" WHERE (\"host\" = '$servername' AND \"interface\" = '$manint') AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": false,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"bytes_recv"
],
"type": "field"
},
{
"params": [],
"type": "mean"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
},
{
"params": [
"*8"
],
"type": "math"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "interface",
"operator": "=~",
"value": "/^$manint$/"
}
]
}
],
"thresholds": [],
"timeRegions": [],
"title": "Management Interface Traffic - Inbound",
"tooltip": {
"msResolution": true,
"shared": true,
"sort": 2,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:353",
"decimals": 1,
"format": "bps",
"logBase": 1,
"max": null,
"min": 0,
"show": true
},
{
"$$hashKey": "object:354",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"bars": false,
"dashes": false,
"error": false,
"fill": 0,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,180 @@
{
"aliasColors": {
"InBound": "#629E51",
"OutBound": "#5195CE",
"net.non_negative_derivative": "super-light-blue"
},
"dashLength": 10,
"datasource": "InfluxDB",
"decimals": 1,
"editable": true,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.management_interface_traffic_outbound_graph.gridPos.x }},
"y": {{ PANELS.management_interface_traffic_outbound_graph.gridPos.y }},
"w": {{ PANELS.management_interface_traffic_outbound_graph.gridPos.w }},
"h": {{ PANELS.management_interface_traffic_outbound_graph.gridPos.h }}
},
"id": 69014,
"interval": "30s",
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"maxDataPoints": 750,
"nullPointMode": "connected",
"options": {
"alertThreshold": false
},
"pluginVersion": "7.5.4",
"pointradius": 5,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"targets": [
{
"alias": "$tag_host $tag_role",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"host"
],
"type": "tag"
},
{
"params": [
"role"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "net",
"orderByTime": "ASC",
"policy": "default",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"bytes_sent"
],
"type": "field"
},
{
"params": [],
"type": "mean"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
},
{
"params": [
"*8"
],
"type": "math"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "interface",
"operator": "=~",
"value": "/^$manint$/"
}
]
}
],
"thresholds": [],
"timeRegions": [],
"title": "Management Interface Traffic - Outbound",
"tooltip": {
"msResolution": true,
"shared": true,
"sort": 2,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:353",
"decimals": 1,
"format": "bps",
"logBase": 1,
"max": null,
"min": 0,
"show": true
},
{
"$$hashKey": "object:354",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"bars": false,
"dashes": false,
"error": false,
"fill": 0,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,187 @@
{
"aliasColors": {},
"dashLength": 10,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"fill": 1,
"gridPos": {
"x": {{ PANELS.memory_usage_graph.gridPos.x }},
"y": {{ PANELS.memory_usage_graph.gridPos.y }},
"w": {{ PANELS.memory_usage_graph.gridPos.w }},
"h": {{ PANELS.memory_usage_graph.gridPos.h }}
},
"id": 61873,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"pluginVersion": "7.5.4",
"pointradius": 2,
"renderer": "flot",
"seriesOverrides": [
{
"$$hashKey": "object:295",
"alias": "/total/",
"color": "#C4162A",
"fill": 0
},
{
"$$hashKey": "object:164",
"alias": "/trend/",
"fill": 0,
"linewidth": 4,
"dashes": true,
"dashLength": 4
}
],
"spaceLength": 10,
"targets": [
{
"alias": "$tag_host: $col",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT mean(total) as total, mean(used) as used, mean(cached) as cached, mean(free) as free, mean(buffered) as buffered FROM \"mem\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), host ORDER BY asc",
"queryType": "randomWalk",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
},
{
"alias": "$tag_host: $col",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT mean(mean_total) as trend_total, mean(mean_used) as trend_used, mean(mean_cached) as trend_cached, mean(mean_free) as trend_free, mean(mean_buffered) as trend_buffered FROM \"so_long_term\".\"mem\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), host ORDER BY asc",
"queryType": "randomWalk",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [],
"hide": false
}
],
"thresholds": [],
"timeRegions": [],
"title": "Memory Usage",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:235",
"format": "bytes",
"label": null,
"logBase": 1,
"max": null,
"min": "0",
"show": true
},
{
"$$hashKey": "object:236",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"bars": false,
"dashes": false,
"description": "",
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null,
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,149 @@
{
"type": "graph",
"title": "Memory Usage",
"gridPos": {
"x": {{ PANELS.memory_usage_percent_graph.gridPos.x }},
"y": {{ PANELS.memory_usage_percent_graph.gridPos.y }},
"w": {{ PANELS.memory_usage_percent_graph.gridPos.w }},
"h": {{ PANELS.memory_usage_percent_graph.gridPos.h }}
},
"id": 69013,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
}
],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "tag",
"params": [
"host"
]
},
{
"type": "tag",
"params": [
"role"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"used_percent"
]
},
{
"type": "mean",
"params": []
}
]
],
"measurement": "mem",
"alias": "$tag_host $tag_role"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": "0",
"max": null,
"format": "percent",
"$$hashKey": "object:504"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:505"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 2
},
"aliasColors": {},
"seriesOverrides": [],
"thresholds": [],
"timeRegions": [],
"decimals": 1,
"fill": 0,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"description": ""
}

View File

@@ -0,0 +1,151 @@
{
"type": "graph",
"title": "Container Memory Usage Current",
"gridPos": {
"x": {{ PANELS.memory_used_docker_combined_current_graph.gridPos.x }},
"y": {{ PANELS.memory_used_docker_combined_current_graph.gridPos.y }},
"w": {{ PANELS.memory_used_docker_combined_current_graph.gridPos.w }},
"h": {{ PANELS.memory_used_docker_combined_current_graph.gridPos.h }}
},
"id": 102,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "container_name",
"operator": "=~",
"value": "/^$containers$/"
}
],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "tag",
"params": [
"container_name"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"usage_percent"
]
},
{
"type": "mean",
"params": []
}
]
],
"measurement": "docker_container_mem",
"alias": "$tag_container_name"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "percent",
"$$hashKey": "object:315"
},
{
"label": null,
"show": false,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:316"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"fill": 1,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"show": true,
"values": false,
"min": false,
"max": false,
"current": false,
"total": false,
"avg": false,
"alignAsTable": false,
"rightSide": false,
"hideZero": false
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 2
},
"aliasColors": {},
"seriesOverrides": [],
"thresholds": [],
"timeRegions": [],
"decimals": null,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null,
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,151 @@
{
"type": "graph",
"title": "Container Memory Usage Trend",
"gridPos": {
"x": {{ PANELS.memory_used_docker_combined_trend_graph.gridPos.x }},
"y": {{ PANELS.memory_used_docker_combined_trend_graph.gridPos.y }},
"w": {{ PANELS.memory_used_docker_combined_trend_graph.gridPos.w }},
"h": {{ PANELS.memory_used_docker_combined_trend_graph.gridPos.h }}
},
"id": 103,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "so_long_term",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "container_name",
"operator": "=~",
"value": "/^$containers$/"
}
],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "tag",
"params": [
"container_name"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"mean_usage_percent"
]
},
{
"type": "mean",
"params": []
}
]
],
"measurement": "docker_container_mem",
"alias": "$tag_container_name"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "percent",
"$$hashKey": "object:315"
},
{
"label": null,
"show": false,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:316"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"fill": 1,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"show": true,
"values": true,
"min": false,
"max": false,
"current": false,
"total": false,
"avg": true,
"alignAsTable": false,
"rightSide": false,
"hideZero": false
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 2
},
"aliasColors": {},
"seriesOverrides": [],
"thresholds": [],
"timeRegions": [],
"decimals": 1,
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null,
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,263 @@
{
"type": "graph",
"title": "Monitor Interface Drops",
"gridPos": {
"x": {{ PANELS.monitor_interface_drops_graph.gridPos.x }},
"y": {{ PANELS.monitor_interface_drops_graph.gridPos.y }},
"w": {{ PANELS.monitor_interface_drops_graph.gridPos.w }},
"h": {{ PANELS.monitor_interface_drops_graph.gridPos.h }}
},
"id": 61387,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(drop_in), 1s) as \"in\" FROM \"net\" WHERE host =~ /$servername/ AND interface =~ /$monint/ AND $timeFilter GROUP BY time($__interval), host,interface fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col"
},
{
"refId": "B",
"hide": false,
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(drop_out), 1s) as \"out\" FROM \"net\" WHERE host =~ /$servername/ AND interface =~ /$monint/ AND $timeFilter GROUP BY time($__interval), host,interface fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col"
},
{
"refId": "C",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(mean_drop_in), 1s) as \"trend_in\" FROM \"so_long_term\".\"net\" WHERE host =~ /$servername/ AND interface =~ /$monint/ AND $timeFilter GROUP BY time($__interval), host,interface fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col",
"hide": false
},
{
"refId": "D",
"hide": false,
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(mean_drop_out), 1s) as \"trend_out\" FROM \"so_long_term\".\"net\" WHERE host =~ /$servername/ AND interface =~ /$monint/ AND $timeFilter GROUP BY time($__interval), host,interface fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": "Drops per second",
"show": true,
"logBase": 1,
"min": 0,
"max": null,
"format": "pps",
"$$hashKey": "object:500"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:501"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"fill": 1,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"show": true,
"values": true,
"min": false,
"max": true,
"current": true,
"total": false,
"avg": true,
"alignAsTable": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 0
},
"aliasColors": {},
"seriesOverrides": [
{
"$$hashKey": "object:592",
"alias": "/veth/",
"hiddenSeries": true,
"legend": false
},
{
"$$hashKey": "object:621",
"alias": "/trend/",
"fill": 0,
"linewidth": 4,
"dashes": true,
"dashLength": 4
}
],
"thresholds": [],
"timeRegions": [],
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"decimals": 0,
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,141 @@
{
"aliasColors": {},
"dashLength": 10,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.monitor_interface_drops_inbound_graph.gridPos.x }},
"y": {{ PANELS.monitor_interface_drops_inbound_graph.gridPos.y }},
"w": {{ PANELS.monitor_interface_drops_inbound_graph.gridPos.w }},
"h": {{ PANELS.monitor_interface_drops_inbound_graph.gridPos.h }}
},
"id": 188190,
"interval": "30s",
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": false,
"min": false,
"show": true,
"total": false,
"values": true,
"rightSide": true
},
"lines": true,
"linewidth": 1,
"maxDataPoints": 750,
"nullPointMode": "connected",
"options": {
"alertThreshold": false
},
"pluginVersion": "7.5.4",
"pointradius": 2,
"renderer": "flot",
"seriesOverrides": [
{
"$$hashKey": "object:592",
"alias": "/veth/",
"hiddenSeries": true,
"legend": false
}
],
"spaceLength": 10,
"targets": [
{
"alias": "$tag_host: $tag_role",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT non_negative_derivative(mean(drop_in), 1s) as \"in\" FROM \"net\" WHERE host =~ /$servername/ AND interface =~ /$monint/ AND $timeFilter GROUP BY time($__interval), host,role fill(none)",
"queryType": "randomWalk",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"value"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": []
}
],
"thresholds": [],
"timeRegions": [],
"title": "Monitor Interface Drops - Inbound",
"tooltip": {
"shared": true,
"sort": 2,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:500",
"format": "pps",
"label": "Drops per second",
"logBase": 1,
"max": null,
"min": 0,
"show": true
},
{
"$$hashKey": "object:501",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true,
"decimals": 0
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"fill": 0,
"bars": false,
"dashes": false,
"decimals": 0,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,262 @@
{
"type": "graph",
"title": "Monitor Interface Packets",
"gridPos": {
"x": {{ PANELS.monitor_interface_packets_graph.gridPos.x }},
"y": {{ PANELS.monitor_interface_packets_graph.gridPos.y }},
"w": {{ PANELS.monitor_interface_packets_graph.gridPos.w }},
"h": {{ PANELS.monitor_interface_packets_graph.gridPos.h }}
},
"id": 61878,
"targets": [
{
"refId": "A",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(packets_recv), 1s) as \"in\" FROM \"net\" WHERE host =~ /$servername/ AND interface =~ /$monint/ AND $timeFilter GROUP BY time($__interval), * fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col"
},
{
"refId": "B",
"hide": false,
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(packets_sent), 1s) as \"out\" FROM \"net\" WHERE host =~ /$servername/ AND interface =~ /$monint/ AND $timeFilter GROUP BY time($__interval), * fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col"
},
{
"refId": "C",
"queryType": "randomWalk",
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(mean_packets_recv), 1s) as \"trend_in\" FROM \"so_long_term\".\"net\" WHERE host =~ /$servername/ AND interface =~ /$monint/ AND $timeFilter GROUP BY time($__interval), * fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col",
"hide": false
},
{
"refId": "D",
"hide": false,
"policy": "default",
"resultFormat": "time_series",
"orderByTime": "ASC",
"tags": [],
"groupBy": [
{
"type": "time",
"params": [
"$__interval"
]
},
{
"type": "fill",
"params": [
"null"
]
}
],
"select": [
[
{
"type": "field",
"params": [
"value"
]
},
{
"type": "mean",
"params": []
}
]
],
"query": "SELECT non_negative_derivative(mean(mean_packets_sent), 1s) as \"trend_out\" FROM \"so_long_term\".\"net\" WHERE host =~ /$servername/ AND interface =~ /$monint/ AND $timeFilter GROUP BY time($__interval), * fill(none)",
"rawQuery": true,
"alias": "$tag_host: $tag_interface: $col"
}
],
"options": {
"alertThreshold": true
},
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"pluginVersion": "7.5.4",
"renderer": "flot",
"yaxes": [
{
"label": "Packets per second",
"show": true,
"logBase": 1,
"min": 0,
"max": null,
"format": "pps",
"$$hashKey": "object:241"
},
{
"label": null,
"show": true,
"logBase": 1,
"min": null,
"max": null,
"format": "short",
"$$hashKey": "object:242"
}
],
"xaxis": {
"show": true,
"mode": "time",
"name": null,
"values": [],
"buckets": null
},
"yaxis": {
"align": false,
"alignLevel": null
},
"lines": true,
"fill": 1,
"linewidth": 1,
"dashLength": 10,
"spaceLength": 10,
"pointradius": 2,
"legend": {
"show": true,
"values": true,
"min": false,
"max": true,
"current": true,
"total": false,
"avg": true,
"alignAsTable": true
},
"nullPointMode": "connected",
"tooltip": {
"value_type": "individual",
"shared": true,
"sort": 0
},
"aliasColors": {},
"seriesOverrides": [
{
"$$hashKey": "object:413",
"alias": "/veth/",
"hiddenSeries": true,
"legend": false
},
{
"$$hashKey": "object:442",
"alias": "/trend/",
"fill": 0,
"linewidth": 4,
"dashes": true,
"dashLength": 4
}
],
"thresholds": [],
"timeRegions": [],
"fillGradient": 0,
"dashes": false,
"hiddenSeries": false,
"points": false,
"bars": false,
"stack": false,
"percentage": false,
"steppedLine": false,
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,232 @@
{
"aliasColors": {
"InBound": "#629E51",
"OutBound": "#5195CE",
"net.non_negative_derivative": "light-orange"
},
"bars": false,
"maxDataPoints": 750,
"interval": "30s",
"dashLength": 10,
"dashes": false,
"datasource": "InfluxDB",
"editable": true,
"error": false,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"x": {{ PANELS.monitor_interface_traffic_both_graph.gridPos.x }},
"y": {{ PANELS.monitor_interface_traffic_both_graph.gridPos.y }},
"w": {{ PANELS.monitor_interface_traffic_both_graph.gridPos.w }},
"h": {{ PANELS.monitor_interface_traffic_both_graph.gridPos.h }}
},
"hiddenSeries": false,
"id": 10,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"max": true,
"min": true,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.5.4",
"pointradius": 5,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "/Trend/",
"dashLength": 4,
"dashes": true,
"fill": 0,
"linewidth": 4
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "Inbound Current",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "net",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"bytes_recv"
],
"type": "field"
},
{
"params": [],
"type": "mean"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
},
{
"params": [
"*8"
],
"type": "math"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
},
{
"condition": "AND",
"key": "interface",
"operator": "=",
"value": "$monint"
}
]
},
{
"alias": "Inbound Trend",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": false,
"measurement": "net",
"orderByTime": "ASC",
"policy": "so_long_term",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"mean_bytes_recv"
],
"type": "field"
},
{
"params": [],
"type": "mean"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
},
{
"params": [
"*8"
],
"type": "math"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
},
{
"condition": "AND",
"key": "interface",
"operator": "=",
"value": "$monint"
}
]
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Monitor Interface Traffic - $monint",
"tooltip": {
"msResolution": true,
"shared": true,
"sort": 0,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "bps",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}

View File

@@ -0,0 +1,182 @@
{
"aliasColors": {
"InBound": "#629E51",
"OutBound": "#5195CE",
"net.non_negative_derivative": "super-light-blue"
},
"dashLength": 10,
"datasource": "InfluxDB",
"decimals": 1,
"editable": true,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.monitor_interface_traffic_inbound_graph.gridPos.x }},
"y": {{ PANELS.monitor_interface_traffic_inbound_graph.gridPos.y }},
"w": {{ PANELS.monitor_interface_traffic_inbound_graph.gridPos.w }},
"h": {{ PANELS.monitor_interface_traffic_inbound_graph.gridPos.h }}
},
"id": 188188,
"interval": "30s",
"legend": {
"alignAsTable": true,
"avg": false,
"current": true,
"max": false,
"min": false,
"rightSide": true,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 2,
"links": [],
"maxDataPoints": 750,
"nullPointMode": "connected",
"options": {
"alertThreshold": false
},
"pluginVersion": "7.5.4",
"pointradius": 5,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"targets": [
{
"alias": "$tag_host $tag_role",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"host"
],
"type": "tag"
},
{
"params": [
"role"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "net",
"orderByTime": "ASC",
"policy": "default",
"query": "SELECT non_negative_derivative(mean(\"bytes_recv\"), 1s) *8 FROM \"net\" WHERE (\"host\" = '$servername' AND \"interface\" = '$monint') AND $timeFilter GROUP BY time($__interval) fill(null)",
"rawQuery": false,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"bytes_recv"
],
"type": "field"
},
{
"params": [],
"type": "mean"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
},
{
"params": [
"*8"
],
"type": "math"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "interface",
"operator": "=~",
"value": "/^$monint$/"
}
]
}
],
"thresholds": [],
"timeRegions": [],
"title": "Monitor Interface Traffic - Inbound",
"tooltip": {
"msResolution": true,
"shared": true,
"sort": 2,
"value_type": "cumulative"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:353",
"decimals": 1,
"format": "bps",
"logBase": 1,
"max": null,
"min": 0,
"show": true
},
{
"$$hashKey": "object:354",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"bars": false,
"dashes": false,
"error": false,
"fill": 0,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null
}

View File

@@ -0,0 +1,132 @@
{
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "rgba(245, 54, 54, 0.9)",
"value": null
},
{
"color": "rgba(237, 129, 40, 0.89)",
"value": 0.5
},
{
"color": "rgba(50, 172, 45, 0.97)",
"value": 3
}
]
},
"mappings": [
{
"op": "=",
"text": "N/A",
"value": "null",
"$$hashKey": "object:645",
"id": 0,
"type": 1
}
],
"unit": "bps",
"decimals": 2,
"color": {
"mode": "thresholds"
}
},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.monitor_interface_traffic_stat.gridPos.x }},
"y": {{ PANELS.monitor_interface_traffic_stat.gridPos.y }},
"w": {{ PANELS.monitor_interface_traffic_stat.gridPos.w }},
"h": {{ PANELS.monitor_interface_traffic_stat.gridPos.h }}
},
"id": 24,
"links": [],
"maxDataPoints": 100,
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "net",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"bytes_recv"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"1s"
],
"type": "non_negative_derivative"
},
{
"params": [
"*8"
],
"type": "math"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
},
{
"condition": "AND",
"key": "interface",
"operator": "=",
"value": "$monint"
}
]
}
],
"title": "Monitor Traffic - $monint",
"type": "stat",
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "horizontal",
"text": {},
"textMode": "value",
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto"
},
"cacheTimeout": null,
"interval": null,
"pluginVersion": "7.5.4"
}

View File

@@ -0,0 +1,233 @@
{
"aliasColors": {},
"dashLength": 10,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"fill": 1,
"gridPos": {
"x": {{ PANELS.network_usage_docker_combined_current_graph.gridPos.x }},
"y": {{ PANELS.network_usage_docker_combined_current_graph.gridPos.y }},
"w": {{ PANELS.network_usage_docker_combined_current_graph.gridPos.w }},
"h": {{ PANELS.network_usage_docker_combined_current_graph.gridPos.h }}
},
"id": 61868,
"legend": {
"alignAsTable": false,
"avg": false,
"current": false,
"hideZero": false,
"max": false,
"min": false,
"rightSide": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"pluginVersion": "7.5.4",
"pointradius": 2,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"targets": [
{
"alias": "$tag_container_name RX",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"container_name"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "docker_container_net",
"orderByTime": "ASC",
"policy": "default",
"queryType": "randomWalk",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"type": "field",
"params": [
"rx_bytes"
]
},
{
"type": "mean",
"params": []
},
{
"type": "non_negative_derivative",
"params": [
"1s"
]
},
{
"type": "math",
"params": [
"*8"
]
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "container_name",
"operator": "=~",
"value": "/^$containers$/"
}
]
},
{
"alias": "$tag_container_name TX",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"container_name"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "docker_container_net",
"orderByTime": "ASC",
"policy": "default",
"queryType": "randomWalk",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"type": "field",
"params": [
"tx_bytes"
]
},
{
"type": "mean",
"params": []
},
{
"type": "non_negative_derivative",
"params": [
"1s"
]
},
{
"type": "math",
"params": [
"*8"
]
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "container_name",
"operator": "=~",
"value": "/^$containers$/"
}
],
"hide": false
}
],
"thresholds": [],
"timeRegions": [],
"title": "Container Network Usage Current",
"tooltip": {
"shared": true,
"sort": 2,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:315",
"format": "bps",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"$$hashKey": "object:316",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"bars": false,
"dashes": false,
"decimals": null,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null,
"description": "",
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,233 @@
{
"aliasColors": {},
"dashLength": 10,
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"fill": 1,
"gridPos": {
"x": {{ PANELS.network_usage_docker_combined_trend_graph.gridPos.x }},
"y": {{ PANELS.network_usage_docker_combined_trend_graph.gridPos.y }},
"w": {{ PANELS.network_usage_docker_combined_trend_graph.gridPos.w }},
"h": {{ PANELS.network_usage_docker_combined_trend_graph.gridPos.h }}
},
"id": 61461,
"legend": {
"alignAsTable": false,
"avg": false,
"current": false,
"hideZero": false,
"max": false,
"min": false,
"rightSide": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"pluginVersion": "7.5.4",
"pointradius": 2,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"targets": [
{
"alias": "$tag_container_name RX",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"container_name"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "docker_container_net",
"orderByTime": "ASC",
"policy": "so_long_term",
"queryType": "randomWalk",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"type": "field",
"params": [
"mean_rx_bytes"
]
},
{
"type": "mean",
"params": []
},
{
"type": "non_negative_derivative",
"params": [
"1s"
]
},
{
"type": "math",
"params": [
"*8"
]
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "container_name",
"operator": "=~",
"value": "/^$containers$/"
}
]
},
{
"alias": "$tag_container_name TX",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"container_name"
],
"type": "tag"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "docker_container_net",
"orderByTime": "ASC",
"policy": "so_long_term",
"queryType": "randomWalk",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"type": "field",
"params": [
"mean_tx_bytes"
]
},
{
"type": "mean",
"params": []
},
{
"type": "non_negative_derivative",
"params": [
"1s"
]
},
{
"type": "math",
"params": [
"*8"
]
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "container_name",
"operator": "=~",
"value": "/^$containers$/"
}
],
"hide": false
}
],
"thresholds": [],
"timeRegions": [],
"title": "Container Network Usage Trend",
"tooltip": {
"shared": true,
"sort": 2,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:315",
"format": "bps",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"$$hashKey": "object:316",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"bars": false,
"dashes": false,
"decimals": null,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null,
"description": "",
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,131 @@
{
"colorValue": true,
"colors": [
"rgba(50, 172, 45, 0.97)",
"rgba(237, 129, 40, 0.89)",
"rgba(245, 54, 54, 0.9)"
],
"datasource": "InfluxDB",
"editable": true,
"format": "percent",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": true,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"x": {{ PANELS.nsm_used_guage.gridPos.x }},
"y": {{ PANELS.nsm_used_guage.gridPos.y }},
"w": {{ PANELS.nsm_used_guage.gridPos.w }},
"h": {{ PANELS.nsm_used_guage.gridPos.h }}
},
"height": "150",
"id": 12,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"postfixFontSize": "50%",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(31, 120, 193)",
"show": false
},
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "disk",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"used_percent"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "path",
"operator": "=",
"value": "/nsm"
}
],
"orderByTime": "ASC"
}
],
"thresholds": "85,95,100",
"title": "NSM used",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "current",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"cacheTimeout": null,
"colorBackground": false,
"decimals": 0,
"error": false,
"interval": null,
"nullText": null,
"postfix": "",
"prefix": "",
"tableColumn": ""
}

View File

@@ -0,0 +1,112 @@
{
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
},
"mappings": [
{
"op": "=",
"text": "N/A",
"value": "null",
"$$hashKey": "object:1382",
"id": 0,
"type": 1
}
],
"unit": "d",
"decimals": 2,
"color": {
"mode": "thresholds"
}
},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.pcap_retention_stat.gridPos.x }},
"y": {{ PANELS.pcap_retention_stat.gridPos.y }},
"w": {{ PANELS.pcap_retention_stat.gridPos.w }},
"h": {{ PANELS.pcap_retention_stat.gridPos.h }}
},
"id": 26,
"links": [],
"maxDataPoints": 100,
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "pcapage",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"seconds"
],
"type": "field"
},
{
"params": [],
"type": "last"
},
{
"params": [
"/86400"
],
"type": "math"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
}
],
"title": "PCAP Retention",
"type": "stat",
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "horizontal",
"text": {},
"textMode": "value",
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto"
},
"cacheTimeout": null,
"interval": null,
"pluginVersion": "7.5.4"
}

View File

@@ -0,0 +1,204 @@
{
"aliasColors": {},
"dashLength": 10,
"datasource": "InfluxDB",
"editable": true,
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"gridPos": {
"x": {{ PANELS.process_status_graph.gridPos.x }},
"y": {{ PANELS.process_status_graph.gridPos.y }},
"w": {{ PANELS.process_status_graph.gridPos.w }},
"h": {{ PANELS.process_status_graph.gridPos.h }}
},
"height": "350",
"id": 61852,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"hideEmpty": true,
"hideZero": true,
"max": true,
"min": false,
"rightSide": false,
"show": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"links": [],
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"pluginVersion": "7.5.4",
"pointradius": 5,
"renderer": "flot",
"seriesOverrides": [
{
"$$hashKey": "object:549",
"alias": "/trend/",
"fill": 0,
"linewidth": 4,
"dashes": true,
"dashLength": 4
}
],
"spaceLength": 10,
"targets": [
{
"alias": "$tag_host: $col",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "processes",
"policy": "default",
"query": "SELECT mean(running) as running, mean(blocked) as blocked, mean(sleeping) as sleeping, mean(stopped) as stopped, mean(zombies) as zombies, mean(paging) as paging, mean(unknown) as unknown FROM \"processes\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), host ORDER BY asc",
"rawQuery": true,
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"blocked"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$server$/"
}
],
"orderByTime": "ASC"
},
{
"alias": "$tag_host: $col",
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "processes",
"policy": "default",
"query": "SELECT mean(mean_running) as trend_running, mean(mean_blocked) as trend_blocked, mean(mean_sleeping) as trend_sleeping, mean(mean_stopped) as trend_stopped, mean(mean_zombies) as trend_zombies, mean(mean_paging) as trend_paging, mean(mean_unknown) as trend_unknown FROM \"so_long_term\".\"processes\" WHERE host =~ /$servername$/ AND $timeFilter GROUP BY time($__interval), host ORDER BY asc",
"rawQuery": true,
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"blocked"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$server$/"
}
],
"orderByTime": "ASC",
"hide": false
}
],
"thresholds": [],
"timeRegions": [],
"title": "Process Status",
"tooltip": {
"msResolution": false,
"shared": true,
"sort": 2,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true,
"$$hashKey": "object:512"
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true,
"$$hashKey": "object:513"
}
],
"yaxis": {
"align": false,
"alignLevel": null
},
"bars": false,
"dashes": false,
"error": false,
"fillGradient": 0,
"hiddenSeries": false,
"percentage": false,
"points": false,
"stack": false,
"steppedLine": false,
"timeFrom": null,
"timeShift": null,
"maxDataPoints": 750,
"interval": "30s"
}

View File

@@ -0,0 +1,123 @@
{
"cacheTimeout": null,
"colorBackground": false,
"colorValue": true,
"colors": [
"rgba(50, 172, 45, 0.97)",
"rgba(237, 129, 40, 0.89)",
"rgba(245, 54, 54, 0.9)"
],
"datasource": "InfluxDB",
"editable": true,
"error": false,
"format": "percent",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": true,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"x": {{ PANELS.ram_usage_guage.gridPos.x }},
"y": {{ PANELS.ram_usage_guage.gridPos.y }},
"w": {{ PANELS.ram_usage_guage.gridPos.w }},
"h": {{ PANELS.ram_usage_guage.gridPos.h }}
},
"height": "150",
"id": 61860,
"interval": null,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"nullText": null,
"postfix": "",
"postfixFontSize": "50%",
"prefix": "",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(31, 120, 193)",
"show": false
},
"tableColumn": "",
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "mem",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"used_percent"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
}
]
}
],
"thresholds": "70,80,90",
"title": "RAM usage",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "current",
"fieldConfig": {
"defaults": {},
"overrides": []
}
}

View File

@@ -0,0 +1,192 @@
{
"aliasColors": {},
"bars": false,
"maxDataPoints": 750,
"interval": "30s",
"dashLength": 10,
"dashes": false,
"datasource": "InfluxDB",
"description": "",
"fieldConfig": {
"defaults": {
"links": []
},
"overrides": []
},
"fill": 1,
"fillGradient": 0,
"gridPos": {
"x": {{ PANELS.redis_queue_graph.gridPos.x }},
"y": {{ PANELS.redis_queue_graph.gridPos.y }},
"w": {{ PANELS.redis_queue_graph.gridPos.w }},
"h": {{ PANELS.redis_queue_graph.gridPos.h }}
},
"hiddenSeries": false,
"id": 55,
"legend": {
"alignAsTable": true,
"avg": true,
"current": true,
"hideEmpty": true,
"max": true,
"min": false,
"rightSide": false,
"show": true,
"sort": "current",
"sortDesc": true,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "connected",
"options": {
"alertThreshold": true
},
"percentage": false,
"pluginVersion": "7.5.4",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [
{
"alias": "/Trend/",
"dashLength": 4,
"dashes": true,
"fill": 0,
"linewidth": 4
}
],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"alias": "Queue Current",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "redisqueue",
"orderByTime": "ASC",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"unparsed"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
},
{
"alias": "Queue Trend",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"hide": false,
"measurement": "redisqueue",
"orderByTime": "ASC",
"policy": "so_long_term",
"refId": "B",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"mean_unparsed"
],
"type": "field"
},
{
"params": [],
"type": "mean"
}
]
],
"tags": [
{
"key": "host",
"operator": "=",
"value": "$servername"
}
]
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Redis Queue",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}

View File

@@ -0,0 +1,95 @@
{
"datasource": "InfluxDB",
"fieldConfig": {
"defaults": {
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
},
"mappings": [],
"color": {
"mode": "thresholds"
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"x": {{ PANELS.redis_queue_stat.gridPos.x }},
"y": {{ PANELS.redis_queue_stat.gridPos.y }},
"w": {{ PANELS.redis_queue_stat.gridPos.w }},
"h": {{ PANELS.redis_queue_stat.gridPos.h }}
},
"id": 68894,
"options": {
"reduceOptions": {
"values": false,
"calcs": [
"lastNotNull"
],
"fields": ""
},
"orientation": "auto",
"text": {},
"textMode": "auto",
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto"
},
"pluginVersion": "7.5.4",
"targets": [
{
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "redisqueue",
"orderByTime": "ASC",
"policy": "default",
"queryType": "randomWalk",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"type": "field",
"params": [
"unparsed"
]
},
{
"type": "last",
"params": []
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
}
]
}
],
"title": "Redis Unparsed Queue",
"type": "stat",
"timeFrom": null,
"timeShift": null,
"interval": "30s"
}

View File

@@ -0,0 +1,131 @@
{
"colorValue": true,
"colors": [
"rgba(50, 172, 45, 0.97)",
"rgba(237, 129, 40, 0.89)",
"rgba(245, 54, 54, 0.9)"
],
"datasource": "InfluxDB",
"editable": true,
"format": "percent",
"gauge": {
"maxValue": 100,
"minValue": 0,
"show": true,
"thresholdLabels": false,
"thresholdMarkers": true
},
"gridPos": {
"x": {{ PANELS.rootfs_used_guage.gridPos.x }},
"y": {{ PANELS.rootfs_used_guage.gridPos.y }},
"w": {{ PANELS.rootfs_used_guage.gridPos.w }},
"h": {{ PANELS.rootfs_used_guage.gridPos.h }}
},
"height": "150",
"id": 61866,
"links": [],
"mappingType": 1,
"mappingTypes": [
{
"name": "value to text",
"value": 1
},
{
"name": "range to text",
"value": 2
}
],
"maxDataPoints": 100,
"nullPointMode": "connected",
"postfixFontSize": "50%",
"prefixFontSize": "50%",
"rangeMaps": [
{
"from": "null",
"text": "N/A",
"to": "null"
}
],
"sparkline": {
"fillColor": "rgba(31, 118, 189, 0.18)",
"full": false,
"lineColor": "rgb(31, 120, 193)",
"show": false
},
"targets": [
{
"dsType": "influxdb",
"groupBy": [
{
"params": [
"$__interval"
],
"type": "time"
},
{
"params": [
"null"
],
"type": "fill"
}
],
"measurement": "disk",
"policy": "default",
"refId": "A",
"resultFormat": "time_series",
"select": [
[
{
"params": [
"used_percent"
],
"type": "field"
},
{
"params": [],
"type": "last"
}
]
],
"tags": [
{
"key": "host",
"operator": "=~",
"value": "/^$servername$/"
},
{
"condition": "AND",
"key": "path",
"operator": "=",
"value": "/"
}
],
"orderByTime": "ASC"
}
],
"thresholds": "70,80,90",
"title": "RootFS used",
"type": "singlestat",
"valueFontSize": "80%",
"valueMaps": [
{
"op": "=",
"text": "N/A",
"value": "null"
}
],
"valueName": "current",
"fieldConfig": {
"defaults": {},
"overrides": []
},
"cacheTimeout": null,
"colorBackground": false,
"decimals": 0,
"error": false,
"interval": null,
"nullText": null,
"postfix": "",
"prefix": "",
"tableColumn": ""
}

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