-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsite-info.example.yml
409 lines (356 loc) · 8.08 KB
/
site-info.example.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
---
tests:
- name: root_path
comment: site root path
command: pwd
type: string
groups: main
- name: server
comment: server's hostname
command: hostname -f
type: string
groups: main
- name: user
comment: site user
command: stat -c '%U' "$PWD"
type: string
groups: main
- name: domain
comment: site main domain
command: get_domain
type: string
groups: main
- name: engine
comment: site engine
command: get-engine
type: string
groups: main
- name: domain_on_server
comment: is site domain's DNS points to current server
command: domain-on-server ${DOMAIN}
type: string
groups: main
- name: email
comment: site email
command: get-email
type: string
groups: info
- name: maintenance_mode
comment: is site in maintenance mode
command: drs vget maintenance_mode
validate:
warning: '0'
engine: drupal
groups: info
- name: cron
comment: is site have cron entry in crontab
command: echo $(( $(crontab -l -u $(get_pwd_user) | grep "drs cron-run \"\?$(pwd)"
| wc -l) + $(crontab -l -u $(get_pwd_user) | grep "drs cron-run-elysia \"\?$(pwd)"
| wc -l) ))
validate:
min: 1
warning:
max: 1
engine: drupal
groups: cron
- name: cache
comment: is anonymous cache enabled
command: drs vget cache
validate: '1'
engine: drupal
groups: cache
- name: block_cache
comment: block cache
command: drs vget block_cache
validate: '1'
engine: drupal
groups: cache
- name: cache_lifetime
comment: cache lifetime min
command: drs vget cache_lifetime
validate:
min: 300
warning:
min: 3600
engine: drupal
groups: cache
- name: page_cache_maximum_age
comment: browser cache lifetime
command: drs vget page_cache_maximum_age
validate:
min: 300
warning:
min: 1800
engine: drupal
groups: cache
# - name: cached_pages
# comment: cached pages loaded count
# command: drupal-cache-hit ${DOMAIN} /var/log/nginx/drupal_cache_hit.log.1 | grep
# HIT | cut -d' ' -f2
# engine: drupal
# groups: cache
# - name: total_pages
# comment: total pages loaded count
# command: drupal-cache-hit ${DOMAIN} /var/log/nginx/drupal_cache_hit.log.1 | grep
# total | cut -d' ' -f2
# engine: drupal
# groups: cache
- name: total_pages_load_time
comment: total pages loading time, seconds
command: grep "^${DOMAIN}" /var/log/nginx/drupal_cache_hit.log.1 | awk -F\" '{print
$7}' | grep -v '^$' | tr -d ' ' | awk '{ sum += $1 } END { print sum }' | cut
-d'.' -f1
groups: cache
# - name: cache_hit_percent
# comment: cached page percent
# command: drupal-cache-hit ${DOMAIN} /var/log/nginx/drupal_cache_hit.log.1 | grep
# percent | cut -d' ' -f2
# validate:
# min: 0
# warning:
# min: 10
# engine: drupal
# groups: cache
- name: preprocess_css
comment: css compress
command: drs vget preprocess_css
validate: '1'
engine: drupal
groups: cache
- name: preprocess_js
comment: js compress
command: drs vget preprocess_js
validate: '1'
engine: drupal
groups: cache
- name: drupal_version
_old_command: drush st | grep 'Drupal version' | cut -d':' -f2 | tr -d ' '
command: grep "'VERSION', '" includes/bootstrap.inc | head -n1 | grep -Po '\d\.\d+'
engine: drupal
type: string
- name: drupal_theme
command: drs vget theme_default
engine: drupal
type: string
- name: files_count
comment: site's files count
command: find -type f | wc -l
disabled: true
groups: files
- name: dirs_count
comment: site's directories count
command: find -type d | wc -l
disabled: true
groups: files
- name: styles_files
comment: image styles files count
command: test -d sites/default/files/styles && find sites/default/files/styles |
wc -l || echo 0
disabled: true
engine: drupal
groups: files
- name: count_modules
comment: enabled modules count
command: drs modules-enabled | wc -l
validate:
max: 150
warning:
max: 100
engine: drupal
groups: modules
- name: undoc_modules
comment: undoc modules count
command: drs modules-undoc | wc -l
validate:
max: 50
warning:
max: 20
engine: drupal
groups: modules
- name: dblog
command: drs module-enabled dblog
validate: '0'
engine: drupal
groups: modules
- name: syslog
command: drs module-enabled syslog
validate: '0'
engine: drupal
groups: modules
- name: update
command: drs module-enabled update
validate: '0'
engine: drupal
groups: modules
- name: devel
command: drs module-enabled devel
validate:
warning: '0'
engine: drupal
groups: modules
- name: boost
command: drs module-enabled boost
validate:
warning: '1'
engine: drupal
groups:
- cache
- modules
- name: metatag
command: drs module-enabled metatag
validate:
warning: '1'
engine: drupal
groups:
- modules
- seo
- name: xmlsitemap
command: drs module-enabled xmlsitemap
validate:
warning: '1'
engine: drupal
groups:
- modules
- seo
- name: panels
command: drs module-enabled panels
validate: '1'
engine: drupal
groups: modules
- name: reuse_cached_404
command: drs module-enabled reuse_cached_404
validate: '1'
engine: drupal
groups:
- modules
- cache
- name: sitemap_count
comment: sitemap.xml links count, not recursive
command: "[ $(drs module-enabled xmlsitemap) = 1 ] && drs urls sitemap | wc -l ||
echo 0"
validate:
warning:
min: 10
engine: drupal
groups: seo
- name: h1_count
comment: h1 on mainpage count
command: wget -q -O- 'http://${DOMAIN}' | grep -c '<h1'
validate:
max: 1
warning:
min: 1
groups: seo
- name: robots_disallow
comment: is site disallowed for index in robots.txt
command: grep -oEc '^Disallow:\s*?/$' robots.txt
validate:
max: 0
groups: seo
- name: viasite_link
comment: count links on viasite.ru
command: wget -q -O- 'http://${DOMAIN}' | grep -c 'http://viasite.ru'
validate:
min: 1
groups: seo
- name: git
comment: git exists
command: test -d .git && echo 1 || echo 0
validate: '1'
groups: git
- name: git_clean
comment: git clean
disabled: true
command: git diff --quiet --ignore-submodules HEAD && echo 1 || echo 0
validate:
warning: '1'
groups:
- git
- files
# - name: db_size
# comment: database size, mb
# command: db-size "$(drs database-settings database)"
# validate:
# max: 500
# warning:
# max: 200
# engine: drupal
# groups: db
- name: cache_form
comment: cache_form rows
command: drs table-count cache_form
validate:
warning:
max: 1000
engine: drupal
groups:
- db
- cache
- name: cache_menu
comment: cache_menu rows
command: drs table-count cache_menu
engine: drupal
groups:
- db
- cache
- name: cache_menu_page
comment: cache_menu_page rows
command: drs sql "SELECT COUNT(*) FROM {cache_menu} WHERE cid LIKE '%:page:%'"
engine: drupal
groups:
- db
- cache
- name: watchdog_count
comment: dblog count
command: drs table-count watchdog
engine: drupal
groups: db
- name: node_count
comment: nodes count
command: drs table-count node
engine: drupal
groups: db
- name: commerce_product_count
comment: commerce products count
command: drs table-count commerce_product
engine: drupal
groups: db
- name: taxonomy_vocabulary_count
comment: vocabularies count
command: drs table-count taxonomy_vocabulary
engine: drupal
groups: db
- name: taxonomy_term_data_count
comment: terms count
command: drs table-count taxonomy_term_data
engine: drupal
groups: db
- name: url_alias_count
comment: url aliases count
command: drs table-count url_alias
engine: drupal
groups:
- db
- seo
- name: users_count
comment: users count
command: drs table-count users
engine: drupal
groups:
- db
- users
- name: user_register
comment: user register status (0 - disabled, 1 - admin approve, 2 - enabled)
command: drs vget user_register
validate:
max: 1
warning:
max: 0
engine: drupal
groups: users
- name: drupal_bootstrap_full
comment: drupal bootstrap time (msec)
command: drs bootstrap-timings | grep 'DRUPAL_BOOTSTRAP_FULL' | cut -d':' -f 2 |
tr -d ' '
engine: drupal
type: time